Merge "Adding orchestration methods"
diff --git a/src/com/mirantis/mk/Openstack.groovy b/src/com/mirantis/mk/Openstack.groovy
index eedfbd8..f4a42ae 100644
--- a/src/com/mirantis/mk/Openstack.groovy
+++ b/src/com/mirantis/mk/Openstack.groovy
@@ -380,6 +380,40 @@
}
/**
+ * Delete nova key pair
+ *
+ * @param env Connection parameters for OpenStack API endpoint
+ * @param name Name of the key pair to delete
+ * @param path Optional path to the custom virtualenv
+ */
+def deleteKeyPair(env, name, path = null) {
+ def common = new com.mirantis.mk.Common()
+ common.infoMsg("Removing key pair ${name}")
+ def cmd = "openstack keypair delete ${name}"
+ runOpenstackCommand(cmd, env, path)
+}
+
+/**
+ * Get nova key pair
+ *
+ * @param env Connection parameters for OpenStack API endpoint
+ * @param name Name of the key pair to show
+ * @param path Optional path to the custom virtualenv
+ */
+
+def getKeyPair(env, name, path = null) {
+ def common = new com.mirantis.mk.Common()
+ def cmd = "openstack keypair show ${name}"
+ def outputTable
+ try {
+ outputTable = runOpenstackCommand(cmd, env, path)
+ } catch (Exception e) {
+ common.infoMsg("Key pair ${name} not found")
+ }
+ return outputTable
+}
+
+/**
* Stops all services that contain specific string (for example nova,heat, etc.)
* @param env Salt Connection object or pepperEnv
* @param probe single node on which to list service names
diff --git a/src/com/mirantis/mk/Orchestrate.groovy b/src/com/mirantis/mk/Orchestrate.groovy
index 47fb45e..abe4b5d 100644
--- a/src/com/mirantis/mk/Orchestrate.groovy
+++ b/src/com/mirantis/mk/Orchestrate.groovy
@@ -700,7 +700,9 @@
salt.runSaltProcessStep(master, "I@docker:swarm ${extra_tgt}", 'saltutil.refresh_modules')
sleep(5)
salt.enforceState(master, "I@docker:swarm:role:master ${extra_tgt}", 'docker.swarm')
- salt.enforceState(master, "I@docker:swarm:role:manager ${extra_tgt}", 'docker.swarm')
+ if (salt.testTarget(master, "I@docker:swarm:role:manager ${extra_tgt}")){
+ salt.enforceState(master, "I@docker:swarm:role:manager ${extra_tgt}", 'docker.swarm')
+ }
sleep(10)
salt.cmdRun(master, "I@docker:swarm:role:master ${extra_tgt}", 'docker node ls')
}