Open Stack Parasol Installation
Prerequisites
This discussion assumes you are familiar with Unix shell command line programming and scripting. You will be encountering and interacting with csh/tcsh, bash, perl, and python scripting languages.
This entire discussion assumes the bash shell is the user's unix shell.
You already have your Open Stack credentials installed and you can use the command line Open Stack functions: CLI OpenStack command line clients
Parasol Hub
The parasol hub machine instance needs to start up first.
There are two scripts used for this procedure: startParaHub.sh and paraHubSetup.sh. Currently obtained from the genomewiki:
wget -qO startParaHub.sh 'http://genomewiki.ucsc.edu/index.php/File:OpenStackStartParaHub.sh.txt' chmod 755 startParaHub.sh wget -qO paraHubSetup.sh 'http://genomewiki.ucsc.edu/images/a/a0/OpenStackParaHubSetup.sh.txt' # paraHubSetup.sh does not need execute permissions here
Verify your Open Stack login credentials are functioning and your network connection is valid to your Open Stack system:
openstack server list
That command should not fail. Now the startParaHub.sh command can be run:
./startParaHub.sh 0
The 0 argument is merely an identifier marker to make this hub machine name unique. There is no reason to run more than one parasol hub machine, but if you do, give them different number identifiers to keep them separate.
What this script does:
- names the machine instance: yourNameHub_0
- starts the machine with the openstack server create command
- the paraHubSetup.sh script is passed to the machine via this create command
- sleeps 280 seconds to allow the machine time to start up
- attaches a floating ip address to the machine for external to LAN access
- polls, by ssh, the machine to wait for a completion signal file from the paraHubSetup.sh process
- creates ssh keys on the machine for the standard user login
- notifies the parasol configuration this machine can be a node resource minus two CPUs
- records results of these procedures in a log file in directory: ./logs/
The paraHubSetup.sh script on the machine instance is running during this first boot up is performing the following procedures on the machine instance:
- establish a /data/ directory hierarchy
- export this /data/ directory to the local network for use by the node machines
- install parasol management scripts in /data/parasol/
- install system software for commands used by this business using yum install
- install kent command line programs and scripts to be used in tool chain processing in /data/bin/ and /data/scripts/
- signals completed processing in the file: /tmp/hub.machine.ready.signal
- has recorded these processing steps in a log file on the machine: /tmp/startUpScript.log.$$
When problems arise, the recorded log files can be examined to find clues of what went haywire.
Parasol nodes
After the parasol hub machine has started, note its internal IP address from either your WEB Open Stack control site, or from the command line query:
openstack server list genomebrowser-net=10.109.0.122, 10.50.103.98 | CentOS-7.1-x86_64 | z1.medium | | 53593c73-ab46-4e2a-825e-75b91f753da9 | hiramHub_0
In this example it is the 10.109.0.122 address. This address is used in the startParaNode.sh script. It directs the node machine to the resources provided by the hub machine. The other address 10.50.103.98 is the floating ip address to provide external access from the Open Stack LAN.
Verify your Open Stack connection is valid:
openstack server list
That should show your parasol hub machine running.
Run the script with the IP address argument and a unique number identifier:
./startParaNode.sh 10.109.0.122 0
The procedures performed by this command:
- names the machine instancee: yourNameNode_0