def _check_deleted(self, ids): for _id in ids: try: utils.get_client(self).template.show(_id) except Exception: # if deleted we get exception pass else: return False return True
def take_action(self, parsed_args): all_tenants = parsed_args.all_tenants limit = parsed_args.limit marker = parsed_args.marker start = parsed_args.start end = parsed_args.end if end and not start: raise exc.CommandError("--end argument must be used with --start") alarms = utils.get_client(self).alarm.history(limit=limit, marker=marker, start=start, end=end, all_tenants=all_tenants) return utils.list2cols_with_rename(( ('ID', 'vitrage_id'), ('Type', 'vitrage_type'), ('Name', 'name'), ('Resource Type', 'vitrage_resource_type'), ('Resource ID', 'vitrage_resource_id'), ('Severity', 'vitrage_operational_severity'), ('Start Time', 'start_timestamp'), ('End Time', 'end_timestamp'), ), alarms)
def take_action(self, parsed_args): result = utils.get_client(self).webhook.add( url=parsed_args.url, regex_filter=parsed_args.regex_filter, headers=parsed_args.headers) return self.dict2columns(result)
def take_action(self, parsed_args): path = parsed_args.path template_type = parsed_args.type cli_param_list = parsed_args.params params = _parse_template_params(cli_param_list) wait = parsed_args.wait overwrite = parsed_args.overwrite templates = utils.get_client(self).template.add( path=path, template_type=template_type, params=params, overwrite=overwrite) if wait: utils.wait_for_action_to_end(wait, self._check_finished_loading, templates=templates) return utils.list2cols_with_rename(( ('UUID', 'uuid'), ('Name', 'name'), ('Status', 'status'), ('Status details', 'status details'), ('Date', 'date'), ('Type', 'type'), ), templates)
def take_action(self, parsed_args): alarm_id = parsed_args.alarm_id all_tenants = parsed_args.all_tenants alarm = utils.get_client(self).rca.get(alarm_id=alarm_id, all_tenants=all_tenants) return self.dict2columns(alarm)
def take_action(self, parsed_args): if not parsed_args.path: raise exc.CommandException(message="No path requested, add --path") result = utils.get_client(self).template.validate(path=parsed_args.path) return self.dict2columns(result)
def take_action(self, parsed_args): alarm_id = parsed_args.alarm_vitrage_id all_tenants = parsed_args.all_tenants alarm = utils.get_client(self).rca.get(alarm_id=alarm_id, all_tenants=all_tenants) return self.dict2columns(alarm)
def take_action(self, parsed_args): service = utils.get_client(self).service.list() return utils.list2cols_with_rename( ( ('Name', 'name'), ('Process Id', 'process'), ('Hostname', 'hostname'), ('Created At', 'created'), ), service)
def take_action(self, parsed_args): if not parsed_args.path: raise exc.CommandException(message='No path requested, add --path') result = utils.get_client(self).template.validate( path=parsed_args.path) return self.dict2columns(result)
def take_action(self, parsed_args): templates = utils.get_client(self).template.list() return utils.list2cols_with_rename(( ('UUID', 'uuid'), ('Name', 'name'), ('Status', 'status'), ('Status details', 'status details'), ('Date', 'date'), ('Type', 'type'), ), templates)
def take_action(self, parsed_args): cli_param_list = parsed_args.params params = _parse_template_params(cli_param_list) result = utils.get_client(self).template.validate( path=parsed_args.path, template_type=parsed_args.type, params=params) return self.dict2columns(result)
def take_action(self, parsed_args): vitrage_id = parsed_args.vitrage_id all_tenants = parsed_args.all_tenants alarms = utils.get_client(self).alarm.list(vitrage_id=vitrage_id, all_tenants=all_tenants) return utils.list2cols(('vitrage_id', 'type', 'name', 'resource_type', 'resource_id', 'aggregated_severity', 'operational_severity', 'update_timestamp'), alarms)
def take_action(self, parsed_args): resource_type = parsed_args.resource_type all_tenants = parsed_args.all_tenants query = parsed_args.filter group_by = parsed_args.group_by resource_count = utils.get_client(self).resource.count( resource_type=resource_type, all_tenants=all_tenants, query=query, group_by=group_by) return self.dict2columns(resource_count)
def _check_finished_loading(self, templates): if all((template['status'] == 'ERROR' for template in templates)): return True try: api_templates = utils.get_client(self).template.list() self._update_templates_status(api_templates, templates) if any( (template['status'] == 'LOADING' for template in templates)): return False return True except Exception: return True
def take_action(self, parsed_args): vitrage_id = parsed_args.vitrage_id all_tenants = parsed_args.all_tenants alarms = utils.get_client(self).alarm.list(vitrage_id=vitrage_id, all_tenants=all_tenants) return utils.list2cols(('vitrage_id', 'type', 'name', 'resource_type', 'resource_id', 'aggregated_severity', 'operational_severity', 'update_timestamp'), alarms)
def take_action(self, parsed_args): vitrage_id = parsed_args.vitrage_id all_tenants = parsed_args.all_tenants alarms = utils.get_client(self).alarm.list(vitrage_id=vitrage_id, all_tenants=all_tenants) return utils.list2cols_with_rename(( ('ID', 'vitrage_id'), ('Type', 'vitrage_type'), ('Name', 'name'), ('Resource Type', 'vitrage_resource_type'), ('Resource ID', 'vitrage_resource_id'), ('Severity', 'vitrage_operational_severity'), ('Update Time', 'update_timestamp'), ), alarms)
def take_action(self, parsed_args): limit = parsed_args.limit graph_type = parsed_args.type query = parsed_args.filter root = parsed_args.root all_tenants = parsed_args.all_tenants if graph_type == 'graph' and limit is not None and root is None: raise exc.CommandError("Graph-type 'graph' " "requires a 'root' with 'limit'.") topology = utils.get_client(self).topology.get(limit=limit, graph_type=graph_type, query=query, root=root, all_tenants=all_tenants) return self.dict2columns(topology)
def take_action(self, parsed_args): limit = parsed_args.limit graph_type = parsed_args.type query = parsed_args.filter root = parsed_args.root all_tenants = parsed_args.all_tenants if graph_type == 'graph' and limit is not None and root is None: raise exc.CommandException( message="Graph-type 'graph' requires a 'root' with 'limit'.") topology = utils.get_client(self).topology.get(limit=limit, graph_type=graph_type, query=query, root=root, all_tenants=all_tenants) return self.dict2columns(topology)
def take_action(self, parsed_args): resource_type = parsed_args.resource_type all_tenants = parsed_args.all_tenants resources = utils.get_client(self).resource.list( resource_type=resource_type, all_tenants=all_tenants) # cluster, zone and host don't have "project_id" property # neutron.port don't have "name" property # cluster don't have "update_timestamp" for resource in resources: resource['metadata'] = \ {item: resource[item] for item in self.METADATA if item in resource} return utils.list2cols_with_rename(( ('ID', 'vitrage_id'), ('Type', 'vitrage_type'), ('Data Source ID', 'id'), ('State', 'vitrage_operational_state'), ('Metadata', 'metadata'), ), resources)
def take_action(self, parsed_args): vitrage_id = parsed_args.vitrage_id alarm = utils.get_client(self).alarm.get(vitrage_id=vitrage_id) return self.dict2columns(alarm)
def take_action(self, parsed_args): resource_type = parsed_args.resource_type resources = utils.get_client(self).resource.list( resource_type=resource_type) return [], resources
def take_action(self, parsed_args): templates = utils.get_client(self).template.list() return utils.list2cols(("uuid", "name", "status", "status details", "date"), templates)
def take_action(self, parsed_args): uuid = parsed_args.uuid template = utils.get_client(self).template.show(uuid=uuid) return self.dict2columns(template)
def take_action(self, parsed_args): id = parsed_args.id result = utils.get_client(self).webhook.delete(id=id) return self.dict2columns(result)
def take_action(self, parsed_args): ids = parsed_args.id wait = parsed_args.wait utils.get_client(self).template.delete(ids=ids) if wait: utils.wait_for_action_to_end(wait, self._check_deleted, ids=ids)
def take_action(self, parsed_args): resource_type = parsed_args.resource_type resources = utils.get_client(self).resource.list( resource_type=resource_type) return [], resources
def take_action(self, parsed_args): id = parsed_args.id webhook = utils.get_client(self).webhook.show(id=id) return self.dict2columns(webhook)
def take_action(self, parsed_args): uuid = parsed_args.uuid template = utils.get_client(self).template.show(uuid=uuid) return self.dict2columns(template)
def take_action(self, parsed_args): templates = utils.get_client(self).template.versions() return utils.list2cols_with_rename(( ('Version', 'version'), ('Status', 'status'), ), templates)
def take_action(self, parsed_args): result = utils.get_client(self).template.validate( path=parsed_args.path, template_type=parsed_args.type) return self.dict2columns(result)
def take_action(self, parsed_args): uuid = parsed_args.uuid utils.get_client(self).template.delete(uuid=uuid)
def take_action(self, parsed_args): all_tenants = parsed_args.all_tenants counts = utils.get_client(self).alarm.count(all_tenants=all_tenants) return self.dict2columns(counts)
def take_action(self, parsed_args): vitrage_id = parsed_args.vitrage_id resource = utils.get_client(self).resource.get(vitrage_id=vitrage_id) return self.dict2columns(resource)
def take_action(self, parsed_args): all_tenants = parsed_args.all_tenants webhooks = utils.get_client(self).webhook.list(all_tenants=all_tenants) return utils.list2cols_with_rename(self.POST_PROPS, webhooks)
def take_action(self, parsed_args): templates = utils.get_client(self).template.list() return utils.list2cols( ('uuid', 'name', 'status', 'status details', 'date'), templates)
def take_action(self, parsed_args): resource_id = parsed_args.resource_id resource = utils.get_client(self).resource.get(resource_id=resource_id) return self.dict2columns(resource)