neutron-specs/specs/kilo/allow-specific-floating-ip-...

165 lines
2.8 KiB
ReStructuredText

====================================
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/