Univa GridEngine
This project installs and configures Univa GridEngine. The project includes a basic UGE template as a sample, but is intended to be used to add UGE as the scheduler for production cluster types.
Use of this Univa GridEngine project requires a license agreement and GridEngine binaries obtained directly from Univa Corporation.
Table of Contents
Pre-Requisites
This project requires the following:
-
A license to use Univa GridEngine from Univa Corporation.
-
The Univa GridEngine installation binaries.
- Download the binaries from Univa Corporation and place them in the
./blobs/
directory. - The files you require are:
${version}-bin-lx-amd64.tar.gz
,${version}-bin-ulx-amd64.tar.gz
,${version}-common.tar.gz
. - For example, if the Univa version you are using is 8.5.0, download the following files:
ge-8.5.0-bin-lx-amd64.tar.gz
,ge-8.5.0-bin-ulx-amd64.tar.gz
, andge-8.5.0-common.tar.gz
- If the version you want is not 8.5.0 (the project default), update the version number in the Files list in
./project.ini
and in the cluster template./templates/gridengine_template.txt
- Download the binaries from Univa Corporation and place them in the
-
CycleCloud must be installed and running.
a. If this is not the case, see the CycleCloud QuickStart Guide for assistance.
-
The CycleCloud CLI must be installed and configured for use.
-
You must have login access to CycleCloud.
-
You must have access to upload data and launch instances in your chosen Cloud Provider account.
-
You must have access to a configured CycleCloud "Locker" for Project Storage (Cluster-Init and Chef).
-
Optional: To use the
cyclecloud project upload <locker>
command, you must have a Pogo configuration file set up with write-access to your locker.a. You may use your preferred tool to interact with your storage "Locker" instead.
Configuring the Project
The first step is to configure the project for use with your storage locker:
-
Open a terminal session with the CycleCloud CLI enabled.
-
Switch to the gridengine directory.
-
Copy the following installers to
./blobs
* ge-8.5.0-bin-lx-amd64.tar.gz * ge-8.5.0-bin-ulx-amd64.tar.gz * ge-8.5.0-common.tar.gz -
If the version number is not 8.5.0, update the version numbers in
project.ini
andtemplates/gridengine_template.txt
Deploying the Project
To upload the project (including any local changes) to your target locker, run the
cyclecloud project upload
command from the project directory. The expected output looks like
this:
$ cyclecloud project upload my_locker
Sync completed!
IMPORTANT
For the upload to succeed, you must have a valid Pogo configuration for your target Locker.
Importing the Cluster Template
To import the cluster:
-
Open a terminal session with the CycleCloud CLI enabled.
-
Switch to the gridengine directory.
-
Run
cyclecloud import_template uge -f templates/gridengine_template.txt
. The expected output looks like this:$ cyclecloud import_template uge -f templates/gridengine_template.txt Importing template uge.... ---------------- uge : *template* ---------------- Keypair: $awsKeypair Cluster nodes: master: off Total nodes: 1
Using the Project Specs in Other Clusters
The only required spec is the gridengine:default
spec. The default spec should be applied to [[node defaults]]
:
[[node defaults]]
...
[[[configuration]]]
gridengine.make = ge
gridengine.version = 8.5.0
gridengine.root = /sched/ge/ge-8.5.0
[[[cluster-init gridengine:default:1.0.0]]]
To convert an existing SGE cluster template (such as the CycleCloud sge_template.txt
sample) to use UGE, simply add the changes above to the [[node defaults]]
section.
Helper Specs
For new clusters (that are not already using the default SGE roles), the project includes 2 additional helper specs that may be used to avoid remembering how to set up the Chef run_list:
- master : provides the chef roles required to configure a GridEngine Master node
- execute : provides the chef roles required to configure a GridEngine Execute / Worker node
For new clusters using the gridengine project, no run_list modifications are required if the QMaster node includes the master spec: and the execute node type includes the execute spec:
[[node defaults]]
...
[[[configuration]]]
gridengine.make = ge
gridengine.version = 8.5.0
gridengine.root = /sched/ge/ge-8.5.0
[[[cluster-init gridengine:default:1.0.0]]]
[[node master]]
...
[[[cluster-init gridengine:master:1.0.0]]]
[[nodearray execute]]
...
[[[cluster-init gridengine:execute:1.0.0]]]
In this case, no explicit Chef run_list
is required.