Floating IP Addresses And Security Rules
OpenStack Networking has the concept of Fixed IPs and
Floating IPs. Fixed IPs are assigned to an instance on
creation and stay the same until the instance is explicitly
terminated. Floating ips are ip addresses that can be
dynamically associated with an instance. This address can be
disassociated and associated with another instance at any
time.
Various tasks carried out by Floating IP's as of
now.
create IP ranges under a certain group, only
available for admin role.
allocate an floating IP to a certain tenant,
only available for admin role.
deallocate an floating IP from a certain
tenant
associate an floating IP to a given
instance
disassociate an floating IP from a certain
instance
Just as shown by the above figure, we will have
nova-network-api to support nova client floating
commands. nova-network-api will invoke neutron cli lib
to interactive with neutron server via API. The data
about floating IPs will be stored in to neutron DB.
Neutron Agent, which is running on compute host will
enforce the floating IP.
Multiple Floating
IP Pools
The L3 API in OpenStack Networking supports multiple
floating IP pools. In OpenStack Networking, a floating
IP pool is represented as an external network and a
floating IP is allocated from a subnet associated with
the external network. Since each L3 agent can be
associated with at most one external network, we need
to invoke multiple L3 agent to define multiple
floating IP pools. 'gateway_external_network_id'in L3
agent configuration file indicates the external
network that the L3 agent handles. You can run
multiple L3 agent instances on one host.
In addition, when you run multiple L3 agents, make
sure that handle_internal_only_routers is set to
Trueonly for one L3 agent in an OpenStack Networking
deployment and set to Falsefor all other L3 agents.
Since the default value of this parameter is True, you
need to configure it carefully.
Before starting L3 agents, you need to create
routers and external networks, then update the
configuration files with UUID of external networks and
start L3 agents.
For the first agent, invoke it with the following
l3_agent.ini where handle_internal_only_routers is
True.