We're using the openstack developer clouds to test cluster deployments, but since that's a new product, it has its own teething issues. Here are a few tricks to make it work for HPC.
Preparing the Environment
Creating a "hopbox" Instance
...
The local machines can be called whatever you want, but make sure to match the pattern with wildcards (*). The two common ways is to have a prefix (ex. ohpc-*) or a suffix (ex. *.cloud), or both. These names are the ones that you have to put on your /etc/hosts
file.
Associating an external IP
You can associate the external IP to the hopbox by clicking on "Associate Floating IP". You must choose the public IP and the "port" (which is just the local IP of the hopbox).
The UI is not stable enough, so the "port" won't show for a while. Wait a few minutes and reload the page. It may show up later, or it may timeout.
If it does time out, there is a way to do that with the client, but that requires having your Linaro password as an environment variable and it's not recommended. Contact the admins and they can help you.
Creating an Internal Network
For OpenHPC, the usual setup is to have the master with two NICs, one on the external interface and one on the internal, and all slaves (compute nodes) with a single NIC on the internal network.
The master is then setup with DHCP, TFTP and NAT, and the slaves PXE boot on the internal network, where the master will provision it correctly.
To that have setup, we need an internal network, without DHCP, where all slaves' NICs will be attached to, as well as the second NIC on the master.
On the "Network Topology" tab, you can see the external network, your main gateway and your main network. Your hopbox will be connected to the main network.
Before you create masters and slaves, you need to create the internal network. You should have one internal network for every master, so be sure to name it accordingly.
Click on "+ Create Network" and fill in the fields. They should be:
- Network
- Name: Similar to your master's name, so that it's easy to match them.
- Create Subnet: checked
- Subnet
- Subnet Name: can be the same name as the network, doesn't matter
- Network address: can be anything different from your main network, ex. 172.22.16.0/24. It's good to keep it different from the other internal networks.
- Gateway IP: is the IP of the master on the internal network, usually x.x.x.1
- Subnet details
- Enable DHCP: disabled
- Everything else empty
Creating a Master Instance
...