165 lines
2.8 KiB
ReStructuredText
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/
|