From 6e98a420d5ac968274a2c8692ec39358b50a0cb7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 18 Feb 2016 11:52:39 +0100 Subject: [PATCH 1/2] corrected word order in release alias --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index bbd3a2ab..069fb320 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,5 +2,5 @@ description-file = README.md [aliases] -release = register sdist --sign upload +release = register sdist upload --sign From 6f254ff7b6affdbf6c65b341e416498ec41ea21f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 10 Mar 2016 09:51:20 +0100 Subject: [PATCH 2/2] makebuildserver: use VB software virt if hardware is not available This checks the local CPU settings to see if it has the right virtualizing CPU instructions, and only uses VirtualBox hardware virtualization on setups where it is available. VMs instances usually do not provide these instructions. Where the CPU features are not available, it will use VB's software virtualization. --- makebuildserver | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/makebuildserver b/makebuildserver index 94d6695f..588c1289 100755 --- a/makebuildserver +++ b/makebuildserver @@ -338,6 +338,20 @@ if type(config['baseboxurl']) in (list, tuple) or config['baseboxurl'][0] in ('( else: baseboxurl = '"{0}"'.format(config['baseboxurl']) +# use VirtualBox software virtualization if hardware is not available, +# like if this is being run in kvm or some other VM platform, like +# http://jenkins.debian.net, the values are 'on' or 'off' +hwvirtex = 'off' +if sys.platform.startswith('darwin'): + # all < 10 year old Macs work, and OSX servers as VM host are very + # rare, but this could also be auto-detected if someone codes it + hwvirtex = 'on' +elif os.path.exists('/proc/cpuinfo'): + with open('/proc/cpuinfo') as f: + contents = f.read() + if 'vmx' in contents or 'svm' in contents: + hwvirtex = 'on' + # Generate an appropriate Vagrantfile for the buildserver, based on our # settings... vagrantfile = """ @@ -356,15 +370,17 @@ Vagrant.configure("2") do |config| config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--memory", "{2}"] v.customize ["modifyvm", :id, "--cpus", "{3}"] + v.customize ["modifyvm", :id, "--hwvirtex", "{4}"] end - config.vm.boot_timeout = {4} + config.vm.boot_timeout = {5} config.vm.provision :shell, :path => "fixpaths.sh" """.format(config['basebox'], baseboxurl, config['memory'], config.get('cpus', 1), + hwvirtex, config['boot_timeout']) if 'aptproxy' in config and config['aptproxy']: vagrantfile += """