chiark / gitweb /
makebuildserver more robust codepath for vagrant destroy
authorMichael Pöhn <michael.poehn@fsfe.org>
Sat, 25 Mar 2017 01:48:00 +0000 (02:48 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 23 May 2017 18:04:08 +0000 (20:04 +0200)
makebuildserver

index b5e65167656057004ae7f08907b0d179fc33dca8..19ea04bdd6473ba6e448a52d2e19518111aa836b 100755 (executable)
@@ -324,16 +324,15 @@ def destroy_current_image(v, serverdir):
 
     logger.info('destroying buildserver vm, removing images and vagrant-configs...')
 
-    # cannot run vagrant without the config in the YAML file
-    if os.path.exists(os.path.join(serverdir, 'Vagrantfile.yaml')):
-        try:
-            v.destroy()
-            logger.debug('vagrant destroy completed')
-        except subprocess.CalledProcessError as e:
-            logger.debug('vagrant destroy failed: %s', e)
-    if logger.level <= logging.DEBUG:
-        logger.debug('Cannot run destroy vagrant setup since Vagrantfile.yaml is not setup!')
+    try:
+        v.destroy()
+        logger.debug('vagrant destroy completed')
+    except subprocess.CalledProcessError as e:
+        logger.debug('vagrant destroy failed: %s', e)
+    try:
         subprocess.check_call(['vagrant', 'global-status', '--prune'])
+    except subprocess.CalledProcessError as e:
+        logger.debug('pruning global vagrant status failed: %s', e)
 
     try:
         shutil.rmtree(os.path.join(serverdir, '.vagrant'))