chiark / gitweb /
leave VirtualBox `vagrant package` as it was originally
authorHans-Christoph Steiner <hans@eds.org>
Mon, 22 May 2017 13:50:32 +0000 (15:50 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 23 May 2017 18:06:47 +0000 (20:06 +0200)
We only need Vagrantfile hacks for KVM.

fdroidserver/vmtools.py
makebuildserver

index f48ea2d5f78d2f667250a28dda23284aea1b79a8..974ce52d9094f6a30981695b0e961023fbd49b6c 100644 (file)
@@ -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:
index 2e2b1a7b1b5bf094531936f56822f9d562203d68..7f759e68e90a8ac957371863b3df9faa7e0c35d6 100755 (executable)
@@ -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)