8.11. Reconfigure a Cluster

This section explains how to reconfigure a cluster after the initial installation, when some of the cluster wide configurations need to be changed (e.g. public IP, FQDN of the frontend, etc.). The reconfiguration process generates a script which performs all the necessary steps to modify the desired parameters. The script is generated traversing the graph and parsing the section marked as "reconfigure" section (see the developers guide).

Warning

Reconfiguring a cluster is a potentially harmful operation and can damage you system. The safest option is always reinstalling the frontend with the correct values.

8.11.1. Supported reconfiguration

Currently only the following roll support reconfiguration:

  1. Base

  2. Kernel

  3. Ganglia

  4. Java

  5. Perl

  6. Python

  7. Hpc

  8. SGE

The attribute which can be reconfigure are:

  1. Kickstart_PublicHostname

  2. Kickstart_PublicDNSDomain

  3. Kickstart_PrivateHostname

  4. Kickstart_PublicAddress

  5. Kickstart_PublicBroadcast

  6. Kickstart_PublicNetmaskCIDR

  7. Kickstart_PublicNetwork

  8. Kickstart_PublicNetmask

  9. Kickstart_PublicGateway

  10. Kickstart_PrivateAddress

  11. Kickstart_PrivateBroadcast

  12. Kickstart_PrivateNetmaskCIDR

  13. Kickstart_PrivateNetwork

  14. Kickstart_PrivateNetmask

The attribute names are self explanatory and they can be used to change public network configuration and private network configuration.

The reconfiguration works only if you haven't changed manually rocks default configurations (Postfix, Named, Apache, configuration files should still be at their default configurations)

8.11.2. How to reconfigure a system

To change one of the main parameters of your system first reset the history of your attributes change:

 # rocks run reconfigure clear=1

To change the attributes, use the standard rocks commands (in the following example we show how to change the public ip address):

 # rocks set attr Kickstart_PublicAddress 123.123.123.123
 # rocks set attr Kickstart_PublicNetmask 255.255.255.0
 # rocks set attr Kickstart_PublicGateway 123.123.123.1
 # rocks set attr Kickstart_PublicHostname newhostname.somedomain.com

When you change an attribute (e.g. Kickstart_PublicAddress) the old value will be stored in an attribute named with a "_old" postfix (e.g. Kickstart_PublicAddress_old). You can verify which attributes will be updated with reconfigure using showattr:

 # rocks run reconfigure showattr=1
User modified attributes
ATTR                        OLD VALUE ->               NEW VALUE                 
Kickstart_PublicNetmask     255.255.255.0              255.255.255.0             
Kickstart_PublicHostname    myoldhost.ucsd.edu         newhostname.somedomain.com
Kickstart_PublicAddress     2.2.2.24                   123.123.123.123           
Kickstart_PublicGateway     2.2.2.1                    123.123.123.1             
                                                                                 
Additional attributes                                                            
Kickstart_PrivateHostname   myoldhost                  newhostname               
Kickstart_PublicBroadcast   2.2.2.255                  123.123.123.255           
Kickstart_PublicNetwork     2.2.2.0                    123.123.123.0             
Kickstart_PublicDNSDomain   ucsd.edu                   somedomain.com            
Kickstart_PublicNetmaskCIDR 24                         24                    

The command shows also the attributes that will be updated to maintain consistency (section "Additional attributes") in the rocks database. If all the modified values make sense you can proceed and run the reconfigure script:

 # rocks run reconfigure > /tmp/script.sh
 # # inspect the script.sh
 # bash /tmp/script.sh

Depending on what attributes you have changed you will need to reinstall all your nodes.

 # rocks run host compute login "/boot/kickstart/cluster-kickstart-pxe"

Warning

If you have SGE installed the reconfigure operation will wipe all your SGE configurations (queue configuration, host configuration, etc.)

Warning

If you change some private networking parameters you will have to remove and re-install all your nodes with insert-ether. For example if you change the private network address (e.g. from 10.1.0.0 to 10.5.0.0) all the IP addresses of your node will be out of the new network. For this reason you will need to remove all the compute nodes and re-add them with insert-ethernet.