autocluster: Do not run destroy if generated config does not exist autocluster-1.3
authorMartin Schwenke <martin@meltin.net>
Tue, 8 Oct 2019 04:50:55 +0000 (15:50 +1100)
committerMartin Schwenke <martin@meltin.net>
Tue, 8 Oct 2019 05:39:00 +0000 (16:39 +1100)
When build is run, skip destroy if the file doesn't exist.  This
avoids a failure on the initial run.

Error when destroy is run explicitly, since the error from Vagrant is
very vague.

Signed-off-by: Martin Schwenke <martin@meltin.net>
autocluster.py

index 985979ba1073688d20a8fe73ec4ab21db964c1ab..25bd606806322666a73be48e422c9e7c7a313c4e 100755 (executable)
@@ -616,6 +616,10 @@ def cluster_destroy(cluster):
 
     announce('cluster', cluster, 'destroy')
 
+    config_file = get_config_file_path(cluster)
+    if not os.path.exists(config_file):
+        sys.exit('ERROR: Generated configuration for cluster does not exist')
+
     cluster_destroy_quiet(cluster)
 
 
@@ -680,7 +684,9 @@ def cluster_setup(cluster):
 def cluster_build(cluster):
     '''Build cluster using Ansible'''
 
-    cluster_destroy(cluster)
+    config_file = get_config_file_path(cluster)
+    if os.path.exists(config_file):
+        cluster_destroy(cluster)
     cluster_generate(cluster)
     cluster_create(cluster)
     cluster_ssh_config(cluster)