| 2016-04-05 01:25:46 |
Carlos L. Torres |
description |
Previously using python-openstackclient I could retrieve with a single command to which network, or pool, a floating IP belonged to.
For example, here is an example output from version 1.0.4:
# openstack --version && openstack ip floating list
openstack 1.0.4
+--------------------------------------+--------+--------------+--------------+--------------------------------------+
| ID | Pool | IP | Fixed IP | Instance ID |
+--------------------------------------+--------+--------------+--------------+--------------------------------------+
| 07bdb6ca-0368-482c-8e29-ceca43041502 | public | 10.50.48.91 | 172.16.1.41 | 331e86ab-6caf-45b2-bcd0-e29f105a32b5 |
| 0b1bce87-71fb-45ad-b8ef-5fec6827bd80 | public | 10.50.48.102 | 172.16.1.50 | 77460666-2cd9-4df7-9e9e-c40289664de7 |
| 124dd71f-0e84-43a7-a355-130226ea2f7f | public | 10.50.48.240 | 172.16.1.201 | d0342efe-174d-482f-b099-29441844f581 |
| 1f2d97a0-b4e3-4b63-b6cd-86ca4512364f | public | 10.50.48.239 | 172.16.1.202 | 51d87aff-adb5-4b77-9c8f-85ba94fe59c9 |
| 5babfd67-7965-4210-acf6-498c9e33fc07 | public | 10.50.48.105 | 172.16.1.49 | 438fe1a5-4714-460f-848e-b02189620145 |
| 94bb22ff-f900-4b27-ae37-53a66dc15ee6 | public | 10.50.48.103 | 172.16.1.48 | 56dcb4b6-50f9-4720-a01f-288eda829ae2 |
| 993ccd2b-4bc2-40a2-9029-972c2d2a12e3 | public | 10.50.48.130 | None | None |
| a8681eb8-3828-45b7-a7ce-4dc7fcef6089 | public | 10.50.48.242 | None | None |
| ab3e9005-6246-4e1e-8412-1a7a0d17f22b | public | 10.50.48.241 | None | None |
| b6794d3f-caa9-48cc-ac66-af6baf285b32 | public | 10.50.48.104 | 172.16.1.51 | c599fb79-b97a-431c-acc6-8088ed37b2d7 |
| e4803d10-84ce-4841-a275-a47af589152a | public | 10.50.48.106 | 172.16.1.47 | 4ce696dd-1044-4872-af3d-c06774fd3388 |
+--------------------------------------+--------+--------------+--------------+--------------------------------------+
On recent versions, the 'Pool' column now is missing, as well as the instance ID but that's for another day. Here's the output from version 2.3.0:
# openstack --version && openstack ip floating list
openstack 2.3.0
+--------------------------------------+---------------------+------------------+--------------------------------------+
| ID | Floating IP Address | Fixed IP Address | Port |
+--------------------------------------+---------------------+------------------+--------------------------------------+
| 07bdb6ca-0368-482c-8e29-ceca43041502 | 10.50.48.91 | 172.16.1.41 | 58f42707-bc54-406b-87d8-f93e54ae5df5 |
| 0b1bce87-71fb-45ad-b8ef-5fec6827bd80 | 10.50.48.102 | 172.16.1.50 | f495cd9b-99c9-4408-bac1-8a32c52e5493 |
| 124dd71f-0e84-43a7-a355-130226ea2f7f | 10.50.48.240 | 172.16.1.201 | b2142fa5-e2ec-444c-801a-fd05d00f1345 |
| 1f2d97a0-b4e3-4b63-b6cd-86ca4512364f | 10.50.48.239 | 172.16.1.202 | 9e06fe8e-e4f0-4d90-8a77-66d0710b745c |
| 5babfd67-7965-4210-acf6-498c9e33fc07 | 10.50.48.105 | 172.16.1.49 | a5ef5c63-fc7d-4b3b-9a57-5cca63cd0fb1 |
| 94bb22ff-f900-4b27-ae37-53a66dc15ee6 | 10.50.48.103 | 172.16.1.48 | 8ebffa77-aff7-4e64-af51-c8df6cdc8911 |
| 993ccd2b-4bc2-40a2-9029-972c2d2a12e3 | 10.50.48.130 | None | None |
| a8681eb8-3828-45b7-a7ce-4dc7fcef6089 | 10.50.48.242 | None | None |
| ab3e9005-6246-4e1e-8412-1a7a0d17f22b | 10.50.48.241 | None | None |
| b6794d3f-caa9-48cc-ac66-af6baf285b32 | 10.50.48.104 | 172.16.1.51 | 780bf5ba-c79c-4360-a2ef-f1dfd5f4af66 |
| e4803d10-84ce-4841-a275-a47af589152a | 10.50.48.106 | 172.16.1.47 | 98151fda-2b80-4194-9d8f-4b5a2e223040 |
+--------------------------------------+---------------------+------------------+--------------------------------------+
The problem is that now it takes multiple commands to determine to what network, or pool, a floating ip belongs to.
Previously, all it took was one command:
1) openstack ip floating list
But today, to determine if an available floating IP address belongs to network I would need to do the following:
1) List all networks and grab the ID of the network I'm interested: openstack network list
2) List all floating IPs to determine which are not allocated: openstack ip floating list
3) For each floating ip, get its details to determine its network: for ip in floating_ip: openstack ip floating show ip
4) If the 'floating_network_id' property matches the network from Step 1 then it belongs to that network.
It seems this change introduced the change to use Neutron floatingips extension:
https://review.openstack.org/#/c/280535/
Perhaps it could be extended to also fetch this other information. |
Previously using python-openstackclient I could retrieve with a single command to which network, or pool, a floating IP belonged to.
For example, here is an example output from version 1.0.4:
Note: I abbreviated the ids to fit this textarea
# openstack --version && openstack ip floating list
openstack 1.0.4
+------+--------+--------------+--------------+------------------------+
| ID | Pool | IP | Fixed IP | Instance ID |
+------+--------+--------------+--------------+------------------------+
| 07.. | public | 10.50.48.91 | 172.16.1.41 | 331e86ab-6caf... |
| 0b.. | public | 10.50.48.102 | 172.16.1.50 | 77460666-2cd9... |
| 99.. | public | 10.50.48.130 | None | None |
+------+--------+--------------+--------------+------------------------+
On recent versions, the 'Pool' column now is missing, as well as the instance ID but that's for another day. Here's the output from version 2.3.0:
# openstack --version && openstack ip floating list
openstack 2.3.0
+------+---------------------+------------------+-------+
| ID | Floating IP Address | Fixed IP Address | Port |
+------+---------------------+------------------+-------+
| 07.. | 10.50.48.91 | 172.16.1.41 | 58... |
| 0b.. | 10.50.48.102 | 172.16.1.50 | f4... |
| 99.. | 10.50.48.130 | None | None |
+------+---------------------+------------------+-------+
The problem is that now it takes multiple commands to determine to what network, or pool, a floating ip belongs to.
Previously, all it took was one command:
1) openstack ip floating list
But today, to determine if an available floating IP address belongs to network I would need to do the following:
1) List all networks and grab the ID of the network I'm interested:
openstack network list
2) List all floating IPs to determine which are not allocated:
openstack ip floating list
3) For each floating ip, get its details to determine its network:
for ip in floating_ip:
openstack ip floating show ip
4) If the 'floating_network_id' property matches the network from Step 1 then it belongs to that network.
It seems this change introduced the change to use Neutron floating ips extension:
https://review.openstack.org/#/c/280535/
Perhaps it could be extended to also fetch this other information. |
|