<commit_before><commit_msg>Blueprint for datasource driver for Cinder<commit_after>..
 This work is licensed under a Creative Commons Attribution 3.0 Unported
 License.

 http://creativecommons.org/licenses/by/3.0/legalcode

==========================================
Cinder Data Source Driver
==========================================

https://blueprints.launchpad.net/congress/+spec/cinder-data-source-driver

This blueprint is to add a data source driver for cinder.

Problem description
===================

A datasource driver is required to expose block storage parameters to the
Congress policy framework so that we can write policies involving block storage
entities. Cinder is the OpenStack component that provides block storage
service. The cinder-datasource-driver interacts with cinderclient to provide
block storage specific states to congress for policy monitoring.

Proposed change
===============

Add data source driver that integrates congress with cinder.

Alternatives
------------

N/A

Policy
------

This will use the congress language. cinder:volumes(X) etc.

Policy Actions
--------------

Just monitoring right now.

Data Sources
------------

Cinder

Data model impact
-----------------

TBD

REST API impact
---------------

N/A

Security impact
---------------

N/A

Notifications impact
--------------------

N/A

Other end user impact
---------------------

N/A

Performance Impact
------------------

N/A

Other Deployer Impacts
----------------------

N/A

Developer Impact
----------------

N/A

Implementation
==============

Assignee(s)
-----------

<NAME>
<EMAIL>

Work Items
----------

- Implement cinder driver with essential tables
- Implement test code to test the driver
- Implement tempest code for real-time tests

Dependencies
============

python-cinderclient

Testing
=======

- Will need to add unit test code
- Will add tempest tests.

Documentation Impact
====================

N/A

References
==========

N/A
{'fraction_non_alphanumeric': 0.23355430902600713, 'fraction_numerical': 0.002039775624681285, 'mean_word_length': 2.7229601518026567, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5757026', 'n_tokens_mistral': 521, 'n_tokens_neox': 488, 'n_words': 192}