Step 2: Move test folder to root
[integration/test.git] / tools / clustering / cluster-deployer / restart.py
diff --git a/tools/clustering/cluster-deployer/restart.py b/tools/clustering/cluster-deployer/restart.py
new file mode 100644 (file)
index 0000000..d02a76d
--- /dev/null
@@ -0,0 +1,37 @@
+# #!/usr/local/bin/python
+#
+# This script restarts the cluster nodes. It can optionally cleanup the persistent data.
+# --------------------------------------------------------------------------------------
+#
+# This script takes a list of hosts as parameter
+#
+#
+# -------------------------------------------------------------------------------------------------------------
+
+import argparse
+from remote_host import RemoteHost
+
+parser = argparse.ArgumentParser(description='Cluster Restart')
+parser.add_argument("--rootdir", default="/root",
+                    help="the root directory on the remote host where the distribution is deployed", required=True)
+parser.add_argument("--hosts", default="",
+                    help="a comma separated list of host names or ip addresses", required=True)
+parser.add_argument("--clean", action="store_true", default=False,
+                    help="clean the persistent data for the current deployment")
+parser.add_argument("--user", default="root", help="the SSH username for the remote host(s)")
+parser.add_argument("--password", default="Ecp123", help="the SSH password for the remote host(s)")
+args = parser.parse_args()
+
+
+def main():
+    hosts = args.hosts.split(",")
+    for x in range(0, len(hosts)):
+        # Connect to the remote host and start doing operations
+        remote = RemoteHost(hosts[x], args.user, args.password, args.rootdir)
+        remote.kill_controller()
+        if(args.clean):
+            remote.exec_cmd("rm -rf " + args.rootdir + "/deploy/current/odl/journal")
+            remote.exec_cmd("rm -rf " + args.rootdir + "/deploy/current/odl/snapshots")
+        remote.start_controller(args.rootdir + "/deploy/current")
+
+main()