--- /dev/null
+# #!/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()