Add ips-add-mac-and-type.rst
enable more output by using microversion for ips APIImpact Change-Id: Ifa2c6efe968dfdc620ac969b7378942903f0f44c
This commit is contained in:
153
specs/mitaka/approved/ips-add-mac-and-type.rst
Normal file
153
specs/mitaka/approved/ips-add-mac-and-type.rst
Normal file
@@ -0,0 +1,153 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=================================
|
||||
Add mac and type into API for ips
|
||||
=================================
|
||||
|
||||
|
||||
https://blueprints.launchpad.net/nova/+spec/ips-add-mac-and-type
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
When doing v2.1 API enablement [1], in order to backward compatiblility,
|
||||
nova removed output OS-EXT-IPS-MAC:mac_addr and OS-EXT-IPS:type by using
|
||||
old viewbuilder.
|
||||
|
||||
Use Cases
|
||||
---------
|
||||
|
||||
As an user, I want to know network info besides existing name and ip
|
||||
range, I want to know mac addr and type.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Use microversion to add those info into the output.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
None
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
::
|
||||
|
||||
GET /v2.1/{project_id}/servers/{server_id}/ips returns following now
|
||||
|
||||
{
|
||||
"addresses": {
|
||||
"private": [
|
||||
{
|
||||
"version": 4,
|
||||
"addr": "10.0.0.2"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
if will be changed to return
|
||||
{
|
||||
"addresses": {
|
||||
"private": [
|
||||
{
|
||||
"version": 4,
|
||||
"addr": "10.0.0.2",
|
||||
"type": "fixed",
|
||||
"mac_addr": "00:00:00:00:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
this is also applied to
|
||||
/v2.1/{tenant_id}/servers/{server_id}/ips/{network_label}
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
None
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
python-novaclient need change to show the new data if microversion higher
|
||||
then the version introduce the feature.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
None
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
jichenjc
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
one microversion to include the output
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
unit test and functional test.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Microversion document will be updated to include this.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/ips.py#L31
|
||||
|
||||
History
|
||||
=======
|
||||
|
||||
.. list-table:: Revisions
|
||||
:header-rows: 1
|
||||
|
||||
* - Release Name
|
||||
- Description
|
||||
* - Mitaka
|
||||
- Introduced
|
||||
Reference in New Issue
Block a user