Cleanup approved folder of Ocata and Pike
This patch set moves three blueprints from Pike approved to Queens approved and deletes duplicate of stale-action-plan. Change-Id: I9e35dda58751d7298746f92d1ba40b696134e296
This commit is contained in:
parent
b2e67c1762
commit
1f3184b871
@ -1,161 +0,0 @@
|
|||||||
..
|
|
||||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
|
||||||
License.
|
|
||||||
|
|
||||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
|
||||||
|
|
||||||
===========================================
|
|
||||||
Define when an action plan is stale/invalid
|
|
||||||
===========================================
|
|
||||||
|
|
||||||
https://blueprints.launchpad.net/watcher/+spec/stale-action-plan
|
|
||||||
|
|
||||||
Problem description
|
|
||||||
===================
|
|
||||||
|
|
||||||
When an audit is created and launched successfully, it generates a new
|
|
||||||
action plan with status **RECOMMENDED**. If the cluster data model has changed
|
|
||||||
by and by, the action plan still remains in the **RECOMMENDED** state. There is
|
|
||||||
not an expiry date or event that can invalidate the action plan so far.
|
|
||||||
|
|
||||||
It should be possible to add a new **SUPERSEDED** state for action plan.
|
|
||||||
|
|
||||||
Use Cases
|
|
||||||
----------
|
|
||||||
|
|
||||||
As a Watcher Administrator, I want watcher to update the state of any action
|
|
||||||
plan from **RECOMMENDED** to **SUPERSEDED** automatically if the action plan
|
|
||||||
has expired (default expiry time: 24 hours).
|
|
||||||
|
|
||||||
As a Watcher Administrator, after the recommended action plan is launched
|
|
||||||
successfully, I want watcher to update the state of any action plan based on
|
|
||||||
the same cluster data model from **RECOMMENDED** to **SUPERSEDED**
|
|
||||||
automatically.
|
|
||||||
|
|
||||||
As a Watcher Administrator, when the cluster data model changes, I want watcher
|
|
||||||
to update the state of action plan based on this cluster data model from
|
|
||||||
**RECOMMENDED** to **SUPERSEDED** automatically.
|
|
||||||
|
|
||||||
Project Priority
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Proposed change
|
|
||||||
===============
|
|
||||||
|
|
||||||
* Add a new state **SUPERSEDED** for the **Action Plan**.
|
|
||||||
* Add a new config parameter **action_plan_expiry**, This parameter is
|
|
||||||
used to set the time interval for checking the state of action plan.
|
|
||||||
Its type is Integer and the value is **24** (hours) by default.
|
|
||||||
* Add a new **CheckActionplanState** class. In this class we use the
|
|
||||||
**APScheduler** library to check the state of action plan periodically.
|
|
||||||
**APScheduler** is a Python library that can schedule a job to be executed
|
|
||||||
later, either just once or periodically. It has been used in the continuous
|
|
||||||
audits, we just add our new job in the scheduler. The interval of the
|
|
||||||
periodic job is configurable.
|
|
||||||
* Modify the **DefaultActionPlanHandler** class, trigger to check the state
|
|
||||||
of action plan.
|
|
||||||
* Currently, when receives the specific event (such as nova notification
|
|
||||||
event_type:service.update, instance.update, instance.delete.end), the
|
|
||||||
decision engine will update the cluster data model. We need to add the state
|
|
||||||
of action plan updates to this process. To identify the action plan affected
|
|
||||||
by the cluster data model change, we distinguish by **audit.scope** field.
|
|
||||||
Only when the cluster data in the audit scope has changed, we update the
|
|
||||||
state of action plan. If audit.scope is null, we still update the state of
|
|
||||||
action plan when any cluster data is changed.
|
|
||||||
|
|
||||||
Alternatives
|
|
||||||
------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Data model impact
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
REST API impact
|
|
||||||
---------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Security impact
|
|
||||||
---------------
|
|
||||||
None
|
|
||||||
|
|
||||||
Notifications impact
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Other end user impact
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Performance Impact
|
|
||||||
------------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Other deployer impact
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Developer impact
|
|
||||||
----------------
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
|
|
||||||
Implementation
|
|
||||||
==============
|
|
||||||
|
|
||||||
Assignee(s)
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Primary assignee:
|
|
||||||
<licanwei>
|
|
||||||
|
|
||||||
Work Items
|
|
||||||
----------
|
|
||||||
|
|
||||||
Here is the list of foreseen work items:
|
|
||||||
|
|
||||||
* Add a **SUPERSEDED** state to the class **State** in the file
|
|
||||||
**watcher/objects/action_plan.py**.
|
|
||||||
* Update the **DefaultActionPlanHandler** class in **watcher/applier/
|
|
||||||
action_plan/default.py**.
|
|
||||||
* Add a **manager.py** file to the **watcher/common** folder.
|
|
||||||
* Add check_state code in the file **watcher/decision_engine/scheduling.py**.
|
|
||||||
* Add check_state code in the file **watcher/decision_engine/model/
|
|
||||||
notification/nova.py**.
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
============
|
|
||||||
|
|
||||||
https://blueprints.launchpad.net/watcher/+spec/define-the-audit-scope
|
|
||||||
|
|
||||||
Testing
|
|
||||||
=======
|
|
||||||
|
|
||||||
The unit tests will have to be updated.
|
|
||||||
|
|
||||||
Documentation Impact
|
|
||||||
====================
|
|
||||||
|
|
||||||
Need to update the **Action Plan State Machine** in the architecture
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
References
|
|
||||||
==========
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
History
|
|
||||||
=======
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user