Launchpad

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.

Read the original on bugs.launchpad.net ↗