One of the recurrent questions we answer everyday is how to configure the networking of a deployment done with the Distro. People get confused about concepts like Flat DHCP, floating network range and fixed network range and so on… So I will try to clarify some concepts used in Openstack Nova and some specific things of our distro.
In the diagram above you can see a full deployment made with the StackOps Distro. We identify four different networks:
- Management Network (Green): Connects all architecture nodes with the controller.
- Service Network (Yellow): Connects Compute Nodes amongst them and with nova-network to provide service.
- Storage Network (Blue): Connects Compute Nodes with Volume Nodes. This is a network particularly dedicated to block devices data transfers It is recommended to use networks over 1Gb.
- Public Network (Red): Connects internet/intranet with the platform through the Network Node. It should be connected to an infrastructure that allows public IP addresses assignment without compromising platform security (perimeter firewall usage).
When you deploy a Single node configuration (or even Dual or Multi node configurations) some of these networks overlap to simplify the deployment. In case of a Single node deployment, Management, Storage and Public networks share the same network interface. The Service network uses a special ‘dummy’ NIC in single node deployment.
In our scenario, sharing the same Network Interface means these three subnets share the same range. Using the same subnet for Management and Storage network is common place and should not be an issue, but sharing the Public network subnet can be tricky.
If you have tried our distro, you have realized that the Smart Installer properly fills in almost all the fields needed to deploy a simple Openstack Nova solution, except the field ‘floating_range’ in the ‘Global Services > Network’ form. Simply because we cannot infere the correct value for this field. The ‘floating_range’ is the range of IPs that Openstack Nova uses to expose the services deployed in the nova-compute nodes connected by the Service network through the nova-network. So, ‘floating_range’ are the IPs accesible in the red Public network. If your nova-network server has a dedicated Network interface for this network means you should choose a subnet visible in the Public network. If you don’t have a dedicated Network interface, then the Public network (red) will share the subnet with the Management network (green). In this case, you should choose an available subset of the subnet used in the Management network. Sounds scary? Well, actually is very simple.
In this example, I’m deploying a Single node with a single Network interface, and the Management network is 192.168.10.0/24. The IP of my node-controller is 192.168.10.48, and the subnet is not in use above 192.168.10.150. So, I need to calculate what subset of the subnet I can use as the ‘floating_range’. You can use this subnet calculator as a helper. I choose the subnet starting 192.168.10.168 and 5 subnet bits: 192.168.10.168/29. Hence, when the cloud user requests a floating IP, Nova will return the first available IP of the range 192.168.10.169-192.168.10.174.