Specification for the BP Extend management features of L3 metering API
Change-Id: Idccd48636c09d6a009aa18e7ffe61f1d73724951
This commit is contained in:
parent
1d24dbd296
commit
260952b8d2
145
specs/juno/l3-metering-mgnt-ext.rst
Normal file
145
specs/juno/l3-metering-mgnt-ext.rst
Normal file
@ -0,0 +1,145 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=============================================
|
||||
Extend management features of L3 metering API
|
||||
=============================================
|
||||
|
||||
Launchpad blueprint:
|
||||
|
||||
https://blueprints.launchpad.net/neutron/+spec/l3-metering-mgnt-ext
|
||||
|
||||
This blueprint aims to extend the current metering API in order to help
|
||||
administrators to manage the metering labels/rules.
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Currently the administrator has to associate metering label for each tenant
|
||||
by the hand, there is no way to add a default metering label/rules which will
|
||||
be automaticaly associated with all current tenants and also with the tenants
|
||||
that will be created.
|
||||
|
||||
Use cases:
|
||||
|
||||
- The administrator wants to get traffic counters from the public for a billing
|
||||
purpose for all current tenants and for the future tenants. Currently each
|
||||
time a tenant is added the administrator has to create a new label for it.
|
||||
|
||||
- The administrator wants to get traffic counters from service networks for
|
||||
monitoring purpose, for instance from a provider network which exposes
|
||||
physical resources (ex: db, storage)
|
||||
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
The goal is to extend the current API to add an extra parameter for the
|
||||
labels creation which specifies whether the label will be shared by all tenants
|
||||
or not. A such label will be shared by all current tenants and also by the
|
||||
tenants which will be created.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
An alternative could be to add an extra configuration file which set some
|
||||
metering labels/rules at the metering agent startup.
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
An extra field will be added to the MeteringLabel data model to specify whether
|
||||
a label is shared or not. By default a metering label will be not shared.
|
||||
The current labels will be unchanged.
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
A new shared attribute will be introduced to the current MeteringLabel model:
|
||||
|
||||
+----------+-------+---------+---------+------------+--------------+
|
||||
|Attribute |Type |Access |Default |Validation/ |Description |
|
||||
|Name | | |Value |Conversion | |
|
||||
+==========+=======+=========+=========+============+==============+
|
||||
|shared |bool |RW, admin|false |N/A | |
|
||||
+----------+-------+---------+---------+------------+--------------+
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
No change, only admin users are allowed to create/delete labels/rules.
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
None
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
The shared parameter will be exposed to the end user through the neutron
|
||||
client, ex:
|
||||
|
||||
neutron meter-label-create testlabel --shared
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
None
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Sylvain Afchain <sylvain-afchain>
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
The work is split up into two parts:
|
||||
|
||||
1. API, Data model, Metering service plugin.
|
||||
|
||||
2. Neutron client update.
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
For tempest test coverage, new API tests for the shared parameter will be
|
||||
provided.
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Documentation and examples for the shared parameter will be provided.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
None
|
Loading…
Reference in New Issue
Block a user