the workflow of allocating floating IPs is sligthly different in Nova and OCCI. Whereas in OCCI, it is done in one step (action=alloc_float_ip), you need to allocate an IP to the project first and only then associate it with a machine.
When terminating a machine through OCCI (or Nova if you like), the IP remains allocated to the project. A new OCCI alloc_float_ip will allocate a new address to the project, thus consuming all available IPs over time.
The desired behaviour would be to also deallocate IPs from the project, thus making the actions symmetric.
Actually, the problem rather seems to be that when you terminate an instance without deallocating the floating IP first, then the IP remains in the project. Otherwise it will be released. The desired symmetry can as well be created in the client.
A problem arises, if one uses only the OCCI interface and terminates a machine that still has a floating IP associated to it. Then there's no means to release the floating IP from the project afterwards. I'd say, there's room for improvement here, unless I've overlooked something.
Is this still an issue @bhagemeier ?
Ah floating ips are now handled by adding a link between a VM and a public network.
From which pool are the floating IPs selected? I don't see any information about floating IP pools from the query interface.
When trying to link instances with a public network like this:
curl -k -v -X POST https://egi-cloud.zam.kfa-juelich.de:8787/networklink/ -H 'Content-Type: text/occi' -H 'X-Auth-token: *****' -H 'Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"' -H 'X-OCCI-Attribute: occi.core.source="https://egi-cloud.zam.kfa-juelich.de:8787/compute/d7e612ca-49a6-49a4-beb7-a6ca0d019f12"' -H 'X-OCCI-Attribute: occi.core.target="https://egi-cloud.zam.kfa-juelich.de:8787/network/public"'
I am told that there's no floating IPs available:
NoMoreFloatingIps: Zero floating ips available.
However, I can easily select one using nova tools or Horizon.
-H 'X-OCCI-Attribute: org.openstack.network.floating.pool="public_ips"'
does not help.
this is becoming really pressing. Several of our users are asking how to associate floating IPs.
Hi Thijs, please see comment #28 (comment), which is an open question about how to find floating IPs from the right pool and associating it. I don't see the floating IP pools listed in the query interface.
Alright - Just discussed with @dizz about this - I think we have a solution for this...
first shot on issue #28.
second shot on issue #28.
tests for #28.
please check - should be fixed for folsom.
I checked this today and the association of floating IPs works like a charm. Thank you. I'll open a new issue about listing the available floating IP pools.