Merge "Add the start and end time for CONTINUOUS audit"
This commit is contained in:
commit
de82590a4b
158
specs/rocky/approved/add-start-end-time-for-continuous-audit.rst
Normal file
158
specs/rocky/approved/add-start-end-time-for-continuous-audit.rst
Normal file
@ -0,0 +1,158 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
===============================================
|
||||
Add the start and end time for CONTINUOUS audit
|
||||
===============================================
|
||||
|
||||
https://blueprints.launchpad.net/watcher/+spec/add-start-end-time-for-continuous-audit
|
||||
|
||||
Currently we can only set audit execution interval, but we can not set audit start and end time.
|
||||
We need to add the audit start and end time for CONTINUOUS audit.
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
For CONTINUOUS audit, it will run periodically after launch.
|
||||
There is no way to control the start and end time of CONTINUOUS audit yet.
|
||||
|
||||
Use Cases
|
||||
----------
|
||||
|
||||
As a Watcher user, I want to set the start and end time for CONTINUOUS audit.
|
||||
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
* Add new start_time and end_time fields in the audit table
|
||||
* For CONTINUOUS audit, if its state is PENDING or ONGOING, launch the audit
|
||||
only if the current time is between start_time and end_time
|
||||
|
||||
The user can specify the start and end time or any one, If user doesn't specify start and end time,
|
||||
the audit's behavior is the same as before. If no start time, audit starts after creating.
|
||||
If no end time, audit runs until its state is SUSPENDED or CANCELLED.
|
||||
If end time is provided, the audit will be set from ONGOING to SUCCEEDED
|
||||
after end time and not running again.
|
||||
The datetime format is ISO 8601, such as: YYYY-MM-DD hh:mm:ss
|
||||
|
||||
Here are some CLI examples:
|
||||
|
||||
create audit with start and end time:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ watcher audit create -g dummy -t CONTINUOUS -i 300 \
|
||||
--start-time '2018-04-01 08:00:00' --end-time '2018-04-03 08:00:00'
|
||||
|
||||
update audit start or end time:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ watcher audit update 64aa6c03-b676-4904-9d6a-855d1d6f9200 \
|
||||
replace start_time='2018-04-02 20:30:00'
|
||||
|
||||
$ watcher audit update 64aa6c03-b676-4904-9d6a-855d1d6f9200 \
|
||||
replace end_time='2018-04-04 20:30:00'
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
May reuse 'interval' field instead of the new start_time and end_time fields.
|
||||
But it will cause complication and not easy to understand.
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
Add new start_time and end_time fields in the audit table
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
Need to add new 'start_time' and 'end_time' parameters in Audits APIs.
|
||||
Their values are local time.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
Add 'start_time' and 'end_time' to AuditPayload
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
* Need to add 'start_time' and 'end_time' to CLI 'watcher audit create'
|
||||
* Also need to update watcher-dashboard
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
None
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
licanwei
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Update architecture doc to add the new fields
|
||||
* Add new start_time and end_time fields in the audit table
|
||||
* Check start and end time before running CONTINUOUS audit
|
||||
* Update notification AuditPayload
|
||||
* Update python-watcherclient
|
||||
* Update watcher-dashboard
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Unittest for all changes
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Update architecture doc to add the new fields.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
None
|
||||
|
||||
|
||||
History
|
||||
=======
|
||||
|
||||
None
|
Loading…
x
Reference in New Issue
Block a user