ROCKS FAQs

Introduction

FAQs are divided into groups...

Database management using ROCKS command

Add an appliance

This will add new entries in the membership and appliance tables for the new appliance.

bash-3.00# rocks add appliance fss-dcache compute=no graph=default membership="FS-server-dcache" short-name=fss-dcache node=fss-dache

Client Management

Try ROCKSDEBUG

Some of the ROCKS code will emit debugging info if the environment variable "ROCKSDEBUG" is set:

export ROCKSDEBUG=1

Error Generating Kickstart

kgen XML parse exception: <stdin>:2:0: no element found

Just manually added node without doing "rocks sync config" ?

Change Membership

Use the rocks command. You will likely need to clear partition info from the database as well.

rocks set host membership {host} {membership}
rocks remove host partition {host}

Note if there are partitions on the system, ROCKS will leave them in place during installs. You need to remove them somehow, to get ROCKS to create the new partition scheme. You have to do both, delete partitions on node and remove partitions from database.

Client Installs

Forcing repartitioning

A common reason for install failures is that ROCKS refuses to redo the partitioning or does the partitioning, but then ignores the new partitions.

Try clearing old partition information from the database:

rocks remove host partition {host}

Client Install Errors

Node doesn't reboot at end

It seems that little errors in post sections can result in the minilogd running and not exiting. This prevents the normal reboot at end of install (installer keeps running). Instead of trying to debug problem with post scripts (should be done, but don't have useful error output), simply kill the minilogd. You can logon to the node and run killall -9 minilogd, or do this:

mkdir /home/install/site-profiles/4.3/include/installclass
cd /home/install/site-profiles/4.3/include/installclass
cp /home/install/rocks-dist/wan/x86_64/build/include/installclass/base.py .

Then make this change, add the killall at end:

        else:
                time.sleep(60)
                os.kill(pid, 9)
                os.system('killall -9 minilogd')
        return

Rebuild the dist and base.py will be a link to this modified copy.

Complains that / is not large enough

This is a partitioning problem. Try clearing partitions from database (and possibly) manually blanking the partition table with the dd command.

Installer can't bring up Ethernet

If the Ethernet isn't started right, the kickstart file can't be loaded and you'll land at the "Pick and Language" screen.

If the hardware is new, the install image may not have the right driver. In this case, there will never be a "Requesting IP for Eth0" screen shown. Get a new installer.

If the did see the driver load and try to get an IP for Eth0, you may need to turn-off spanning tree on the switch port(s) that servers the node. The Anaconda installer cycles the Ethernet port up and down rapidly and expects connectivity quickly when the port is brought up. If the switch doesn't activate the port immediately (because it is waiting to check spanning-tree) anaconda may give up. Set the switch port to "edge" mode (spanning-tree off).

Installer doesn't run

Try telling rocks to set the installer as the PXE boot image instead of booting from the harddrive:

rocks set host pxeboot {host} action=install 

Frontend Config

Mail relaying through frontend

There are probably a few ways to do this, but if you need your headnode to deliver mail from private IP addresses, you will need to re-write sender addresses. Here's a sample. I believe the only difference from Rocks default is the map statements.
# Rocks Postfix configuration for mail server.  /etc/postfix/main.cf
#
mydomain = local
mydestination = $mydomain, $myhostname, localhost.$mydomain
mynetworks = 10.10.0.0/23, 127.0.0.0/8
# inet_interfaces = all
append_dot_mydomain = no
sender_canonical_maps = hash:/etc/postfix/sender-canonical       
recipient_canonical_maps = hash:/etc/postfix/recipient-canonical

sender-canonical:
@local @umopt1.aglt2.org
@[10.10.1.3] @umopt1.aglt2.org

recipient-canonical:
root@aglt2.org root

Once files are in place, you need to make the hash: postmap hash:sender-canonical. Restart postfix then. Maybe you can do it without a hash, lookup directly in plain-text files. I've never tried.

-- TomRockwell - 16 Nov 2007
Topic revision: r10 - 08 Oct 2009, TomRockwell
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback