From: Michael Pöhn Date: Sat, 25 Mar 2017 01:37:08 +0000 (+0100) Subject: makebuildserver added failsafe when destroy vagrant vm X-Git-Tag: 0.8~56^2~29 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7e8f7c65bc33ec7a6185907a2131a6c2e5e90132;p=fdroidserver.git makebuildserver added failsafe when destroy vagrant vm --- diff --git a/makebuildserver b/makebuildserver index cd4213ae..b5e65167 100755 --- a/makebuildserver +++ b/makebuildserver @@ -322,12 +322,15 @@ def sha256_for_file(path): def destroy_current_image(v, serverdir): global config - logger.info('destroying buildserver vm, removing images and vagrand-configs...') + 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')): - v.destroy() - logger.debug('vagrant destroy completed') + 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!') subprocess.check_call(['vagrant', 'global-status', '--prune']) @@ -573,11 +576,14 @@ def main(): v.box_remove(config['basebox'], 'virtualbox') logger.info("Configuring build server VM") - debug_log_vagrant_vm(serverdir, 'buildserver_default') + debug_log_vagrant_vm(serverdir, config['domain']) try: - v.up(provision=True) + try: + v.up(provision=True) + except subprocess.CalledProcessError as e: + v.up(provision=True) except subprocess.CalledProcessError as e: - debug_log_vagrant_vm(serverdir, 'buildserver_default') + debug_log_vagrant_vm(serverdir, config['domain']) logging.critical('could not bring buildserver vm up. %s', e) sys.exit(1)