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