按审计范围排除项目

https://blueprints.launchpad.net/watcher/+spec/audit-scope-exclude-project

问题描述

Watcher 使用审计范围可以排除实例、计算节点、主机聚合、实例元数据来自 Compute CDM,但目前无法排除项目来自 Compute CDM。

用例

作为云管理员,有时我希望将一个或多个项目排除在审计范围之外。 排除某些项目的原因有很多,例如 SLA 要求、运行某些关键应用程序的项目等。

提议的变更

本规范建议添加从 Compute CDM 排除项目的功能。 为了实现此功能,需要完成以下事项

  • 在 Compute CDM 中添加 project_id,project_id 将添加到 Compute CDM 的 Instance 元素中。 Compute CDM 的 Instance 元素的示例 XML 引用

    <Instance state=”active” human_id=”” uuid=”INSTANCE_0” vcpus=”10”

    disk=”20” disk_capacity=”20” memory=”2” metadata=’{“optimize”: true,”top”: “floor”, “nested”: {“x”: “y”}}’/>

  • 在 Compute CDM 中添加排除项目逻辑

备选方案

无。

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

python-watcherclient 帮助消息将被更新。 watcher-dashboard 也应更新。

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

<adi-sky17>

其他贡献者

<nakamura-h>

工作项

  • 在 Compute CDM 的 Instance 元素中添加 project_id 字段 watcher/decision_engine/model/element/instance.py

  • 在构建实例模型时获取实例 project_id 信息 watcher/decision_engine/model/collector/nova.py

  • 在 compute 范围中添加用于排除具有指定项目 ID 的实例的逻辑 watcher/decision_engine/scope/compute.py

  • 更新 python-watcherclient 中的帮助消息

依赖项

测试

将添加单元测试。

文档影响

参考资料

历史