#!/usr/bin/env 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()