Merge "Add cdm-scoping spec"
This commit is contained in:
commit
62f613dc7f
160
specs/queens/approved/cdm-scoping.rst
Normal file
160
specs/queens/approved/cdm-scoping.rst
Normal file
@ -0,0 +1,160 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
==========================================
|
||||
Define a tailored Scoper for each CDM
|
||||
==========================================
|
||||
|
||||
https://blueprints.launchpad.net/watcher/+spec/cdm-scoping
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Storage cluster data model was introduced in Pike cycle. Since the model is
|
||||
different from compute data model, current single CDM scoper does not work
|
||||
for the model.
|
||||
|
||||
Use Cases
|
||||
----------
|
||||
|
||||
As a Watcher user, I want to restrict scope of storage cluster data model.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
* Add _audit_scope instance attribute to the BaseClusterDataModelCollector
|
||||
and initialize when instantiated.
|
||||
|
||||
* Remove audit_scope_handler from the current BaseStrategy and move it within
|
||||
the BaseClusterDataModelCollector.
|
||||
|
||||
* Add audit_scope argument to CollectorManager's get_cluster_model_collector
|
||||
method.
|
||||
|
||||
* Change compute_model method to use Collector's audit_scope_handler.
|
||||
|
||||
* Change original DefaultScope.
|
||||
|
||||
* get_scoped_model simply returns cluster_model.
|
||||
|
||||
* For representing multi data model for JSON shema, we change DEFAULT_SCHEMA
|
||||
as the following::
|
||||
|
||||
DEFAULT_SCHEMA = {
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"compute": {
|
||||
# current JSON schema moved to NovaClusterDataModelCollector
|
||||
# retrieved from NovaClusterDataModelCollector
|
||||
},
|
||||
"storage": {
|
||||
# retrieved from CinderClusterDatamodelCollector
|
||||
},
|
||||
.......
|
||||
}
|
||||
}
|
||||
|
||||
Properties are dynamically retrieved from collector plugins.
|
||||
|
||||
* Update validate method in AuditTemplatePostType in accordance with the
|
||||
above change.
|
||||
|
||||
* Rename the DefaultScope as ComputeScope and override the audit_scope_handler
|
||||
property in the Compute Collector.
|
||||
|
||||
* Change audit template help message in python-watcherclient.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
None
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
Scope JSON schema definition for the audit template POST data from
|
||||
the request body will be changed in accordance with DEFAULT_SCHEMA change.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
None
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
End user defines audit scope in each audit template by specifying yaml or json
|
||||
file with --scope option. The file format will be changed according to JSON
|
||||
schema change.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
None
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
<nakamura-h>
|
||||
|
||||
Other contributors:
|
||||
<None>
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Add or remove audit_scope and audit_scope_handler from/to base classes.
|
||||
|
||||
* Change original DefaultScope.
|
||||
|
||||
* Change Compute Collector to use ComputeScope instead of DefaultScope.
|
||||
|
||||
* Change python-watcherclient.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Unit test will be updated.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
None, but it is preferable to adding more.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* https://blueprints.launchpad.net/watcher/+spec/cinder-model-integration
|
Loading…
Reference in New Issue
Block a user