Пример #1
0
 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
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
    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)
Пример #8
0
 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)
Пример #9
0
    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)
Пример #10
0
 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)
Пример #11
0
    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)
Пример #12
0
    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)
Пример #13
0
    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)
Пример #14
0
    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
Пример #15
0
    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)
Пример #16
0
    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)
Пример #17
0
    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)
Пример #18
0
    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)
Пример #19
0
    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)
Пример #20
0
 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)
Пример #21
0
 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
Пример #22
0
 def take_action(self, parsed_args):
     templates = utils.get_client(self).template.list()
     return utils.list2cols(("uuid", "name", "status", "status details", "date"), templates)
Пример #23
0
 def take_action(self, parsed_args):
     uuid = parsed_args.uuid
     template = utils.get_client(self).template.show(uuid=uuid)
     return self.dict2columns(template)
Пример #24
0
 def take_action(self, parsed_args):
     id = parsed_args.id
     result = utils.get_client(self).webhook.delete(id=id)
     return self.dict2columns(result)
Пример #25
0
 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)
Пример #26
0
 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
Пример #27
0
 def take_action(self, parsed_args):
     id = parsed_args.id
     webhook = utils.get_client(self).webhook.show(id=id)
     return self.dict2columns(webhook)
Пример #28
0
 def take_action(self, parsed_args):
     uuid = parsed_args.uuid
     template = utils.get_client(self).template.show(uuid=uuid)
     return self.dict2columns(template)
Пример #29
0
 def take_action(self, parsed_args):
     templates = utils.get_client(self).template.versions()
     return utils.list2cols_with_rename((
         ('Version', 'version'),
         ('Status', 'status'),
     ), templates)
Пример #30
0
    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)
Пример #31
0
 def take_action(self, parsed_args):
     uuid = parsed_args.uuid
     utils.get_client(self).template.delete(uuid=uuid)
Пример #32
0
    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)
Пример #33
0
 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)
Пример #34
0
    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)
Пример #35
0
 def take_action(self, parsed_args):
     templates = utils.get_client(self).template.list()
     return utils.list2cols(
         ('uuid', 'name', 'status', 'status details', 'date'), templates)
Пример #36
0
 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)