
I moved all implemented specs that have been implemented during Ocata cycle in implemented folder. Change-Id: I2abf8fb8d1f3d527934cd647da005ec142e2579e
4.6 KiB
Watcher automatic triggering audit
https://blueprints.launchpad.net/watcher/+spec/automatic-triggering-audit
Problem description
This blueprint goes beyond the "continuously-optimization" blueprint by applying automatically the Action Plans. https://blueprints.launchpad.net/watcher/+spec/continuously-optimization
Watcher needs to continuously optimize the OpenStack cloud for a specific strategies or goals. Watcher can periodically trigger some Audit which generates Action Plan.
Unfortunately, in the current implementation the Administrator have to launch manually the recommended Action Plan in order to apply it on the real system.
This specification relates to blueprint: https://blueprints.launchpad.net/watcher/+spec/automatic-triggering-audit
Use Cases
As administrator, telling audit to trigger the action plan everytime is a a headache to the administator, so here we are implementing automatic triggering functionality in audit which triggers the action plans.
Project Priority
Essential for Ocata-2
Proposed change
The watcher system enables a private/public cloud administrator to launch Audit on an Openstack cluster in order to optimize it in regards of one or several goals.
- We need to introduce new attribute in the AUDIT,
-
- auto_trigger - To execute the action plans for the AUDIT.
An Audit is an optimization request but in case of auto_trigger, when system finds auto_trigger=True in the AUDIT, then it triggers the action plan for that audit.
The AutoTriggerActionPlan logic will be implemented under the watcher/decision_engine/audit/base.py.
The AutoTriggerActionPlan class will contain all the logic related to trigger the action plan for the audit. To trigger the action plan from AutoTriggerActionPlan, we will use RPC call launch_action_plan.
At the a Applier level, currently only one action plan will execute. https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30 If new action_plan is proposed while executing current action_plan, we will cancel the new action by proper message "An action plan is currently running" and the action plan state should also be set to SUPERSEDED.
Alternatives
- To use a cronjob for audit which automatically triggers the action.
Data model impact
- We need to introduce the new attribute in audit auto_trigger.
REST API impact
None expected
Security impact
We could have a security impact as the system could start running action plan continuously and seriously damage the stability of the cluster.
Notifications impact
None expected.
Other end user impact
None expected
Performance Impact
No specific performance impact is expected.
Other deployer impact
No specific deployer impact is envisaged.
Developer impact
This will not impact other developers working on OpenStack.
Implementation
Assignee(s)
- Primary assignee:
-
Alexander Chadin <alexchadin>
- Other contributors:
-
Digambar Patil <diga> Jean-Emile DARTOIS <jed56>
Work Items
- Implement AutoTriggerActionPlanHandler class.
- Adapt API to support auto_trigger field as boolean.
- Add auto_trigger to audit in python-watcherclient.
- Add checkbox for auto_trigger in watcher-dashboard.
- Implement appropriate unit tests to test various scenarios.
Dependencies
None expected
Testing
Appropriate unit tests will be adapted to new changes.
Documentation Impact
It will be necessary to add new content relating to this change.
References
https://blueprints.launchpad.net/watcher/+spec/continuously-optimization
History
No history.