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:
Alexander Chadin 2017-09-28 11:20:10 +03:00
parent b2e67c1762
commit 1f3184b871
4 changed files with 0 additions and 161 deletions

View File

@ -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