Exemplo n.º 1
0
def main(args=None):
    parser = argparse.ArgumentParser(description='EPU ZooKeeper management utility')
    parser.add_argument('--config', '-c', metavar="config.yml",
        type=argparse.FileType('r'), required=True)

    subparsers = parser.add_subparsers()
    setup_parser = subparsers.add_parser("setup",
        description=cmd_setup.__doc__, help="prepare path for system launch")
    setup_parser.add_argument("path", help="ZooKeeper base path", nargs='?')
    setup_parser.add_argument("--clean", help="Remove existing contents of path",
        action="store_true")
    setup_parser.add_argument("--clean-epu", help="Remove EPU-layer data",
        action="store_true")
    setup_parser.set_defaults(func=cmd_setup)

    destroy_parser = subparsers.add_parser("destroy",
        description=cmd_destroy.__doc__, help="delete path")
    destroy_parser.add_argument("path", help="ZooKeeper base path", nargs='?')
    destroy_parser.set_defaults(func=cmd_destroy)

    args = parser.parse_args(args=args)
    config = yaml.load(args.config)

    if not zkutil.is_zookeeper_enabled(config):
        print >>sys.stderr, "ZooKeeper is not enabled in config. Doing nothing."
        return

    zk_config = zkutil.get_zookeeper_config(config)
    try:
        args.func(zk_config, args)
    except CliError, e:
        parser.error(str(e))
Exemplo n.º 2
0
def get_provisioner_store(config, use_gevent=False, proc_name=None):
    """Instantiate Provisioner store object for the given configuration
    """
    if zkutil.is_zookeeper_enabled(config):
        zookeeper = zkutil.get_zookeeper_config(config)

        log.info("Using ZooKeeper Provisioner store")
        store = ProvisionerZooKeeperStore(zookeeper['hosts'],
            zookeeper['path'], username=zookeeper.get('username'),
            password=zookeeper.get('password'), timeout=zookeeper.get('timeout'),
            proc_name=proc_name, use_gevent=use_gevent)

    else:
        log.info("Using in-memory Provisioner store")
        store = ProvisionerStore()

    return store
Exemplo n.º 3
0
def get_dtrs_store(config, use_gevent=False):
    """Instantiate DTRS store object for the given configuration
    """
    if zkutil.is_zookeeper_enabled(config):
        zookeeper = zkutil.get_zookeeper_config(config)

        log.info("Using ZooKeeper DTRS store")
        store = DTRSZooKeeperStore(zookeeper['hosts'], zookeeper['path'],
            username=zookeeper.get('username'),
            password=zookeeper.get('password'),
            timeout=zookeeper.get('timeout'),
            use_gevent=use_gevent)

    else:
        log.info("Using in-memory DTRS store")
        store = DTRSStore()

    return store