Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 31
0
 def take_action(self, parsed_args):
     uuid = parsed_args.uuid
     utils.get_client(self).template.delete(uuid=uuid)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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)