Each instance can have a private, or fixed, IP address and a public, or floating, one.
Private IP addresses are used for communication between instances, and public ones are used for communication with networks outside the cloud, including the Internet.
When you launch an instance, it is automatically assigned a private IP address that stays the same until you explicitly terminate the instance. Rebooting an instance has no effect on the private IP address.
A pool of floating IP addresses, configured by the cloud operator, is available in OpenStack Compute. You can allocate a certain number of these IP addresses to a project. The maximum number of floating IP addresses per project is defined by the quota.
After you allocate floating IP addresses to a project, you can add a floating IP address from this set to an instance of the project. You can assign a floating IP address to one instance at a time. Floating IP addresses can be disassociated from an instance and associated with another instance of the same project at any time.