暂停审计状态¶
https://blueprints.launchpad.net/watcher/+spec/suspended-audit-state
问题描述¶
如果需要临时停止处于连续模式的审计以执行审计,然后再重新启动,则必须删除并重新创建它。
用例¶
作为管理员,我希望暂停处于连续模式的审计,以便定期执行审计进行维护。
作为管理员,我希望在维护完成后恢复处于连续模式的审计。
提议的变更¶
目前,调度器会定期选取状态为 PENDING、ONGOING 或 SUCCEEDED 的审计。然后,名为 execute_audit 的审计作业会被添加到调度器中。Execute_audit 作业首先检查审计状态。如果状态为 CANCELLED、DELETED 或 FAILED,则删除审计作业且不执行策略。
此规范添加了新的审计状态 SUSPENDED,并更改了 execute_audit 的审计状态检查条件。如果状态为 CANCELLED、DELETED、FAILED 或 SUSPENDED,则删除审计作业且不执行策略。否则,执行策略。
由于 SUSPENDED 是新的审计状态,因此在更新审计状态时,审计状态转换检查也发生了变化。ONGOING 状态可以更改为 SUSPENDED。反之,SUSPENDED 可以更改为 ONGOING。
备选方案¶
删除审计并重新创建。
目前,ONGOING 状态可以更改为 CANCELLED 状态,但不能反向更改。如果我们可以从 CANCELLED 状态更改为 ONGOING 状态,那也是一种替代方案。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
<nakamura-h>
工作项¶
在 watcher.objects.audit 模块的状态类中添加 SUSPENDED。
更新 ContinuousAuditHandler,使其将 SUSPENDED 也视为非活动状态。
依赖项¶
无
测试¶
应更新单元测试和 tempest 测试。
文档影响¶
需要更新架构文档中的 审计状态机。
参考资料¶
无
历史¶
无