def _init_driver(params): driver_cls = registry.get_driver(params['driver']) args = params.get('args') or {} # driver may have no arguments if args: jsonschema.validate(args, driver_cls.CONFIG_SCHEMA) return driver_cls(args)
def run(self): drv_name = self.arguments[0] driver = registry.get_driver(drv_name) types = ', '.join(class_.__name__ for class_ in driver.__bases__) doc = '\n'.join(docstrings.prepare_docstring(driver.__doc__)) subcat = utils.subcategory('{} [{}]'.format(drv_name, types)) subcat.extend(utils.parse_text(doc)) return [subcat]
def run(self): drv_name = self.arguments[0] driver = registry.get_driver(drv_name) types = ', '.join(class_.__name__ for class_ in driver.__bases__) services = sorted(driver.list_supported_services()) doc = '\n'.join(docstrings.prepare_docstring(driver.__doc__)) subcat = utils.subcategory('{} [{}]'.format(drv_name, types)) subcat.extend(utils.parse_text(doc)) subcat.extend(utils.parse_text('**Default services:**')) subcat.extend(utils.rstlist(services)) return [subcat]
def get_service(self, name): """Get service with specified name :param name: name of the service :return: Service """ if name not in self.services: raise error.ServiceError( '{} driver does not support {!r} service'.format( self.NAME.title(), name)) config = self.services[name] klazz = registry.get_driver(config["driver"]) return klazz(node_cls=self.NODE_CLS, cloud_management=self, service_name=name, config=config["args"], hosts=config.get('hosts'))
def get_container(self, name): """Get container with specified name :param name: name of the container :return: Container """ if name not in self.containers: raise error.ContainerError( '{} driver does not support {!r} container'.format( self.NAME.title(), name)) config = self.containers[name] klazz = registry.get_driver(config["driver"]) return klazz(node_cls=self.NODE_CLS, cloud_management=self, container_name=name, config=config["args"], hosts=config.get('hosts'))
def _init_driver(params): driver_cls = registry.get_driver(params['driver']) jsonschema.validate(params['args'], driver_cls.CONFIG_SCHEMA) return driver_cls(params['args'])
def validate_containers(self): for container_name, container_conf in self.containers.items(): container_cls = registry.get_driver(container_conf["driver"]) jsonschema.validate(container_conf['args'], container_cls.CONFIG_SCHEMA)
def validate_services(self): for service_name, serive_conf in self.services.items(): serive_cls = registry.get_driver(serive_conf["driver"]) jsonschema.validate(serive_conf['args'], serive_cls.CONFIG_SCHEMA)