allow setting ip address of floating ip
blueprint allow-specific-floating-ip-address DocImpact APIImpact Change-Id: Ie56bba78d4f3b92eb4f3f71f62899a51b19857ba
This commit is contained in:
164
specs/kilo/allow-specific-floating-ip-address.rst
Normal file
164
specs/kilo/allow-specific-floating-ip-address.rst
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
====================================
|
||||||
|
Allow to specify floating IP address
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Launchpad blueprint:
|
||||||
|
|
||||||
|
https://blueprints.launchpad.net/neutron/+spec/allow-specific-floating-ip-address
|
||||||
|
|
||||||
|
Problem Description
|
||||||
|
===================
|
||||||
|
|
||||||
|
IP Address of floating ip is automatically allocated from IP pool.
|
||||||
|
|
||||||
|
In some cases, user want to specify a IP Address of floating ip.
|
||||||
|
|
||||||
|
Proposed Change
|
||||||
|
===============
|
||||||
|
|
||||||
|
Adding the floating ip address as an attribute to the API for creating floating ip. An attribute name is floating_ip_address.
|
||||||
|
|
||||||
|
Attributes of API are limited by "policy.json". By default, Non-admin user cannot use floating_ip_address. Admin can use it. ("rule:admin_only")
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Data Model Impact
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
REST API Impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* floating_ip_address will be allowed to POST /v2.0/floatingips
|
||||||
|
* It is not updatable. i.e. cannot use for PUT /v2.0/floatingips
|
||||||
|
|
||||||
|
The attribute map will be changed as the following.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
RESOURCE_ATTRIBUTE_MAP = {
|
||||||
|
...
|
||||||
|
'floatingips': {
|
||||||
|
...
|
||||||
|
'floating_ip_address': {'allow_post': True, 'allow_put': False,
|
||||||
|
'validate': {'type:ip_address_or_none': None},
|
||||||
|
'is_visible': True, 'default': None,
|
||||||
|
'enforce_policy': True},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
Security Impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
An administrator of OpenStack should consider whether this feature is exposed to tenant user.
|
||||||
|
|
||||||
|
If users have a permission to use this feature, Users can control public ip addresses.
|
||||||
|
|
||||||
|
Notifications Impact
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other End User Impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Performance Impact
|
||||||
|
------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
IPv6 Impact
|
||||||
|
-----------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other Deployer Impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Developer Impact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Community Impact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
fujioka-yuuichi-d
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
1. Add attribute to API
|
||||||
|
2. Create test case on tempest
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
Tempest Tests
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following tests will be added.
|
||||||
|
|
||||||
|
* API Testing
|
||||||
|
|
||||||
|
* Allowed users can use the new parameter
|
||||||
|
|
||||||
|
* Scenario Testing
|
||||||
|
|
||||||
|
* A created floating ip address is reachable
|
||||||
|
|
||||||
|
Functional Tests
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The following tests will be added.
|
||||||
|
|
||||||
|
* Allowed users can use the new parameter
|
||||||
|
|
||||||
|
API Tests
|
||||||
|
---------
|
||||||
|
|
||||||
|
The following tests will be added.
|
||||||
|
|
||||||
|
* All patterns that parameter is passed/not passed.
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
|
||||||
|
User Documentation
|
||||||
|
------------------
|
||||||
|
|
||||||
|
New attributes will be added to API documentation.
|
||||||
|
|
||||||
|
Developer Documentation
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
https://review.openstack.org/#/c/70286/
|
Reference in New Issue
Block a user