Add an interface to a Rocks Cluster compute node
Right after installation the compute nodes have no access to the outside network/world. This is of course problematic (especially if you have a licence server on the network). There are two ways how to fix this. First, either route traffic to the outside network via the frontend. Good luck with that, I have tried everything twice with no success and asked the experts here and here. You have to love “I'd simply start over on your frontend”.
The second way is to be lucky (or well-off) and have a second interface on each compute node which you can connect to the outside world (or switch). Even so, this is not straightforward. Note that the second interface of a rocks compute node is not installed by default. In the below the interface is assumed to be prefixed with em (instead of eth), and we assume we are adding an interface on compute-0-0. Apply your case accordingly.
As root:
- Do a
rocks list network
and record the names of the networks (e.g. by default the public network will be calledpublic
) rocks list host interface
will tell you which interfaces are installed on each compute/frontend. em1 will almost certainly be your private interface and link to the frontend. Note that if em2 is present but has no details (default install) you will need to delete this.- You can do this via
rocks remove host interface compute-0-0 em2
- You will need to find the MAC of the compute node you want to install. Log in the compute node and issue
ifconfig -a
. Note the MAC address. - To install the public interface run
rocks add host interface compute-0-0 em2 ip=10.1.2.110 mac=F2:BB:CB:D3:1F:C4 subnet=public
with the appropriate IP and MAC address. Note that the subnet field specifies the network you want to connect to (found from Step 1 above). - Check that the installation worked
rocks list host interface
- You now need to sync the network and cluster with the newly added interface (let Rocks know about it):
rocks sync config
rocks sync host network