help='A list of ZooKeeper IP addresses') parser.add_argument('--database', nargs='+', help='A list of DB IP addresses') parser.add_argument('--replication', type=int, help='The keyspace replication factor') return parser if __name__ == "__main__": logging.basicConfig(format=LOG_FORMAT, level=logging.INFO) parser = init_parser() args = parser.parse_args() status = {'status': 'inProgress', 'message': 'Starting services'} write_to_json_file(status, args.log_postfix) db_access = None zookeeper = None try: # Ensure monit is running. relevant_ips = set(args.zookeeper) | set(args.database) for ip in relevant_ips: utils.ssh(ip, args.keyname, 'service monit start') start_zookeeper(args.zookeeper, args.keyname) conn = KazooClient(hosts=",".join(args.zookeeper)) conn.start() if not conn.exists(ZK_CASSANDRA_CONFIG): conn.create(ZK_CASSANDRA_CONFIG, json.dumps({"num_tokens": 256}),
) parser.add_argument("--keyname", help="The deployment keyname") parser.add_argument("--log-postfix", help="An identifier for the status log") parser.add_argument("--db-master", required=True, help="The IP address of the DB master") parser.add_argument("--zookeeper", nargs="+", help="A list of ZooKeeper IP addresses") parser.add_argument("--database", nargs="+", help="A list of DB IP addresses") parser.add_argument("--replication", type=int, help="The keyspace replication factor") return parser if __name__ == "__main__": logging.basicConfig(format=LOG_FORMAT, level=logging.INFO) parser = init_parser() args = parser.parse_args() status = {"status": "inProgress", "message": "Starting services"} write_to_json_file(status, args.log_postfix) db_access = None zookeeper = None try: # Ensure monit is running. relevant_ips = set(args.zookeeper) | set(args.database) for ip in relevant_ips: utils.ssh(ip, args.keyname, "service monit start") start_cassandra(args.database, args.db_master, args.keyname) start_zookeeper(args.zookeeper, args.keyname) datastore_upgrade.wait_for_quorum(args.keyname, len(args.database), args.replication) db_access = datastore_upgrade.get_datastore() # Exit early if a data layout upgrade is not needed.