def main(): if Config.setup_logger(): _setup_logger() else: logging.basicConfig(level=logging.INFO) args = _args() Config.set_access_key(args.access_key) Config.set_secret_key(args.secret_key) Config.set_api_url(args.url) process_manager.init() plugins.load() log.info('API URL %s', Config.api_url()) client = EventClient(Config.api_url(), auth=Config.api_auth(), workers=args.workers, agent_id=args.agent_id) events = _gather_events() log.info("Subscribing to %s", events) for startup in get_type_list(LIFECYCLE): startup.on_startup() client.run(events) sys.exit(0)
def _handlers(req): for pre in get_type_list(PRE_REQUEST_HANDLER): yield pre drivers = [] if req.name.startswith("storage."): drivers = get_type_list(STORAGE_DRIVER) if req.name.startswith("compute."): drivers = get_type_list(COMPUTE_DRIVER) drivers.extend(get_type_list(REQUEST_HANDLER)) for driver in drivers: if driver.supports(req): yield driver for post in get_type_list(POST_REQUEST_HANDLER): yield post
def _call_listeners(self, start, *args): for listener in get_type_list(LIBVIRT_COMPUTE_LISTENER): if start: listener.before_start(*args) else: listener.before_stop(*args)
def _call_listeners(self, before, *args): for listener in get_type_list(DOCKER_COMPUTE_LISTENER): if before: listener.before_start(*args) else: listener.after_start(*args)
def pool_drivers(): return get_type_list(_LIBVIRT_POOL_DRIVER)
def volume_drivers(): return get_type_list(_LIBVIRT_VOLUME_DRIVER)