chiark / gitweb /
reset buildserver vm if vagrant uuid not present
authorMichael Pöhn <michael.poehn@fsfe.org>
Thu, 13 Apr 2017 16:41:50 +0000 (18:41 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 23 May 2017 18:06:06 +0000 (20:06 +0200)
fdroidserver/build.py
fdroidserver/vmtools.py

index 06b93529a70fa0dedded495aca6c3234e58a6c42..80af320cd58c81f7b29c44747f50f8bf15f3ba74 100644 (file)
@@ -242,8 +242,11 @@ def vm_new_get_clean_builder(serverdir, reset=False):
     vm = vmtools.get_build_vm(serverdir)
     if reset:
         logging.info('resetting buildserver by request')
+    elif not vm.vagrant_uuid_okay():
+        logging.info('resetting buildserver, bceause vagrant vm is not okay.')
+        reset = True
     elif not vm.snapshot_exists('fdroidclean'):
-        logging.info("resetting buildserver, because snapshot 'fdroidclean' is not present")
+        logging.info("resetting buildserver, because snapshot 'fdroidclean' is not present.")
         reset = True
 
     if reset:
index a47b4c9ee69316552c2d2f62916c09f372250bc6..ec28ed48c9587a076c55b611b42707311ec5c789 100644 (file)
@@ -184,6 +184,12 @@ class FDroidBuildVm():
     def package(self, output=None, vagrantfile=None, keep_box_file=None):
         self.vgrnt.package(output=output, vagrantfile=vagrantfile)
 
+    def vagrant_uuid_okay(self):
+        '''Having an uuid means that vagrant up has run successfully.'''
+        if self.srvuuid is None:
+            return False
+        return True
+
     def _vagrant_file_name(self, name):
         return name.replace('/', '-VAGRANTSLASH-')