From: Hans-Christoph Steiner Date: Mon, 22 May 2017 13:50:32 +0000 (+0200) Subject: leave VirtualBox `vagrant package` as it was originally X-Git-Tag: 0.8~56^2~3 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=9ef936c21a361cbc5c2235a441187b68e453cb38;p=fdroidserver.git leave VirtualBox `vagrant package` as it was originally We only need Vagrantfile hacks for KVM. --- diff --git a/fdroidserver/vmtools.py b/fdroidserver/vmtools.py index f48ea2d5..974ce52d 100644 --- a/fdroidserver/vmtools.py +++ b/fdroidserver/vmtools.py @@ -181,8 +181,8 @@ class FDroidBuildVm(): except subprocess.CalledProcessError as e: logger.debug('pruning global vagrant status failed: %s', e) - def package(self, output=None, vagrantfile=None, keep_box_file=None): - self.vgrnt.package(output=output, vagrantfile=vagrantfile) + def package(self, output=None): + self.vgrnt.package(output=output) def vagrant_uuid_okay(self): '''Having an uuid means that vagrant up has run successfully.''' @@ -309,7 +309,7 @@ class LibvirtBuildVm(FDroidBuildVm): except subprocess.CalledProcessError as e: logger.info("could not undefine libvirt domain '%s': %s", self.srvname, e) - def package(self, output=None, vagrantfile=None, keep_box_file=False): + def package(self, output=None, keep_box_file=False): if not output: output = "buildserver.box" logger.debug('no output name set for packaging \'%s\',' + @@ -338,14 +338,24 @@ class LibvirtBuildVm(FDroidBuildVm): "virtual_size": math.ceil(img_info['virtual-size'] / (1024. ** 3)), } - if not vagrantfile: - logger.debug('no Vagrantfile supplied for box, generating a minimal one...') - vagrantfile = 'Vagrant.configure("2") do |config|\nend' - logger.debug('preparing metadata.json for box %s', output) with open('metadata.json', 'w') as fp: fp.write(json.dumps(metadata)) logger.debug('preparing Vagrantfile for box %s', output) + vagrantfile = textwrap.dedent("""\ + Vagrant.configure("2") do |config| + config.ssh.username = "vagrant" + config.ssh.password = "vagrant" + + config.vm.provider :libvirt do |libvirt| + + libvirt.driver = "kvm" + libvirt.host = "" + libvirt.connect_via_ssh = false + libvirt.storage_pool_name = "default" + + end + end""") with open('Vagrantfile', 'w') as fp: fp.write(vagrantfile) with tarfile.open(output, 'w:gz') as tar: diff --git a/makebuildserver b/makebuildserver index 2e2b1a7b..7f759e68 100755 --- a/makebuildserver +++ b/makebuildserver @@ -30,7 +30,8 @@ parser.add_option('--skip-cache-update', action="store_true", default=False, help="""Skip downloading and checking cache.""" """This assumes that the cache is already downloaded completely.""") parser.add_option('--keep-box-file', action="store_true", default=False, - help="""Box file will not be deleted after adding it to box storage.""") + help="""Box file will not be deleted after adding it to box storage""" + """ (KVM-only).""") options, args = parser.parse_args() logger = logging.getLogger('fdroidserver-makebuildserver') @@ -536,22 +537,7 @@ def main(): if os.path.exists(boxfile): os.remove(boxfile) - vagrantfile = textwrap.dedent("""\ - Vagrant.configure("2") do |config| - config.ssh.username = "vagrant" - config.ssh.password = "vagrant" - - config.vm.provider :libvirt do |libvirt| - - libvirt.driver = "kvm" - libvirt.host = "" - libvirt.connect_via_ssh = false - libvirt.storage_pool_name = "default" - - end - end""") - - vm.package(output=boxfile, vagrantfile=vagrantfile, keep_box_file=options.keep_box_file) + vm.package(output=boxfile) logger.info("Adding box") vm.box_add('buildserver', boxfile, force=True)