Simplest Enterprise Continuous Integration Solutions

Saturday, March 26, 2011

Enterprise Linux - SGE master host installation


Prerequisites:
  • Creat sgeadmin user
  • Extract Sun Grid Engine software (binary code) into a network installation directory (i.e. /opt/sge62, with NFS mount)
  • Enable tcp/ip services
      sge_qmaster     6444/tcp
      sge_execd       6445/tcp
  • Set $SGE_ROOT (i.e. export SGE_ROOT=/opt/sge62)
  • chown -R sgeadmin $SGE_ROOT
Install master hoast (logon as root on linux64-server):
cd $SGE_ROOT
$SGE_ROOT/install_qmaster
                   GRID ENGINE BINARY CODE LICENSE
          Sun Microsystems, Inc. Binary Code License Agreement
READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS
(COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA
PACKAGE.  BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF
THIS AGREEMENT.  IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE
YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END
OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN
THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE
SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END
OF THIS AGREEMENT.
1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable
license for the internal use only of the accompanying software and
documentation and any error corrections provided by Sun (collectively
"Software"), by the number of users and the class of computer hardware for
which the corresponding fee has been paid.
2.  RESTRICTIONS  Software is confidential and copyrighted. Title to
Software and all associated intellectual property rights is retained by Sun
and/or its licensors.  Except as specifically authorized in any Supplemental
License Terms, you may not make copies of Software, other than a single copy
of Software for archival purposes.  Unless enforcement is prohibited by
applicable law, you may not modify, decompile, or reverse engineer Software.
You acknowledge that Software is not designed, licensed or intended for use
in the design, construction, operation or maintenance of any nuclear
facility. Sun disclaims any express or implied warranty of fitness for such
uses.  No right, title or interest in or to any trademark, service mark,
logo or trade name of Sun or its licensors is granted under this Agreement.
3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90)
days from the date of purchase, as evidenced by a copy of the receipt, the
media on which Software is furnished (if any) will be free of defects in
materials and workmanship under normal use.  Except for the foregoing,
Software is provided "AS IS".  Your exclusive remedy and Sun's entire
liability under this limited warranty will be at Sun's option to replace
Software media or refund the fee paid for Software.
4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS
OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS
ARE HELD TO BE LEGALLY INVALID.
5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO
EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR
DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  In no event will Sun's
liability to you, whether in contract, tort (including negligence), or
otherwise, exceed the amount paid by you for Software under this Agreement.
The foregoing limitations will apply even if the above stated warranty fails
of its essential purpose. 
6.  Termination.  This Agreement is effective until terminated. You may
terminate this Agreement at any time by destroying all copies of Software.
This Agreement will terminate immediately without notice from Sun if you
fail to comply with any provision of this Agreement.  Upon Termination, you
must destroy all copies of Software.
7.  Export Regulations.  All Software and technical data delivered under
this Agreement are subject to US export control laws and may be subject to
export or import regulations in other countries.  You agree to comply
strictly with all such laws and regulations and acknowledge that you have
the responsibility to obtain such licenses to export, re-export, or import
as may be required after delivery to you.
8.  U.S. Government Restricted Rights.  If Software is being acquired by or
on behalf of the U.S. Government or by a U.S. Government prime contractor or
subcontractor (at any tier), then the Government's rights in Software and
accompanying documentation will be only as set forth in this Agreement; this
is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of
Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
acquisitions).
9.  Governing Law.  Any action related to this Agreement will be governed by
California law and controlling U.S. federal law.  No choice of law rules of
any jurisdiction will apply.
10.  Severability. If any provision of this Agreement is held to be
unenforceable, this Agreement will remain in effect with the provision
omitted, unless omission would frustrate the intent of the parties, in which
case this Agreement will immediately terminate.
11.  Integration.  This Agreement is the entire agreement between you and
Sun relating to its subject matter.  It supersedes all prior or
contemporaneous oral or written communications, proposals, representations
and warranties and prevails over any conflicting or additional terms of any
quote, order, acknowledgment, or other communication between the parties
relating to its subject matter during the term of this Agreement. No
modification of this Agreement will be binding, unless in writing and signed
by an authorized representative of each party.
For inquiries please contact: Sun Microsystems, Inc., 4150 Network Circle,
Santa Clara, CA 95054
===============================================================================
                   GRID ENGINE  BINARY CODE
                  SUPPLEMENTAL LICENSE TERMS
These supplemental license terms ("Supplemental Terms") add to or modify the
terms of the Binary Code License Agreement (collectively, the "Agreement")
for Grid Engine ("Grid Engine"). Capitalized terms not defined in these
Supplemental Terms shall have the same meanings ascribed to them in the
Agreement. These Supplemental Terms shall supersede any inconsistent or
conflicting terms in the Agreement, or in any license contained within the
Grid Engine Software.
1.  Internal Use and Development License Grant.  Subject to the terms and
conditions of this Agreement, Sun grants you a non-exclusive,
non-transferable, limited license to reproduce internally and use internally
the binary form of the Grid Engine Software for the purpose of designing,
developing and testing your compatible products.
2.  License to Distribute Software.  In addition to the license granted in
Section 1 (Internal Use License Grant) of these Supplemental Terms, subject
to the terms and conditions of this Agreement, Sun grants you a
non-exclusive, non-transferable, limited license to reproduce and distribute
the Grid Engine Software in binary code form only, provided that you (i)
distribute the Grid Engine Software complete and unmodified, (ii) do not
remove or alter any proprietary legends or notices contained in the Grid
Engine Software, (iii) only distribute Grid Engine Software subject to a
license agreement that protects Sun's interests consistent with the terms
contained in this Agreement, (iv) include a notice stating that the Source
Code version of the Original Code of this software (as that term is defined
in the Sun Industry License version 1.2) is available under the terms of the
Sun Industry License version 1.2 and subsequent versions, which may be
viewed at www.gridengine.sunsource.net/license.html, and (v) agree to defend
and indemnify Sun and its licensors from and against any damages, costs,
liabilities, settlement amounts and/ or expenses (including attorneys' fees)
incurred in connection with any claim, lawsuit or action by any third party
that arises or results from the use or distribution of Grid Engine Software.
3.  Termination. Either party may terminate this Agreement immediately
should any Grid Engine Software become, or in either party's opinion be
likely to become, the subject of a claim of infringement of a patent, trade
secret, copyright or other intellectual property right.
4.  No support.  Unless you have entered into a separate support agreement
with Sun, Sun is under no obligation to support the Software or to provide
to you any updates or error corrections (collectively referred to as
"Software Updates").  If Sun provides any Software Updates, whether pursuant
to a support agreement or otherwise, at its sole discretion, the Software
Updates will be considered part of the Software and subject to the terms of
this Agreement.
5.  Back-up.  You have the sole responsibility to protect adequately and
backup your data and/or equipment used in connection with the Software.  Sun
shall not be liable for any lost data, re-run time, inaccurate output, work
delays or lost profits resulting from your use of the Software.
6.  Open Source license. The Source Code version of the Original Code of
this software is available under the terms of the Sun Industry Standards
License version 1.2 and subsequent versions, which may be viewed at
www.gridengine.sunsource.net/license.html.
7.  Third Party Code. Some portions of Software are provided with notices
and/or licenses from other parties, which govern the use of those portions
and which are set forth in the 3rd party_licscopyrights file.
Do you agree with that license? (y/n) [n] >> y
Welcome to the Grid Engine installation
---------------------------------------
Grid Engine qmaster host installation
-------------------------------------
Before you continue with the installation please read these hints:
   - Your terminal window should have a size of at least
     80x24 characters
   - The INTR character is often bound to the key Ctrl-C.
     The term >Ctrl-C< is used during the installation if you
     have the possibility to abort the installation
The qmaster installation procedure will take approximately 5-10 minutes.
Hit <RETURN> to continue >>
Grid Engine admin user account
------------------------------
The current directory
   /opt/sge62
is owned by user
   sgeadmin
If user >root< does not have write permissions in this directory on *all*
of the machines where Grid Engine will be installed (NFS partitions not
exported for user >root< with read/write permissions) it is recommended to
install Grid Engine that all spool files will be created under the user id
of user >sgeadmin<.
IMPORTANT NOTE: The daemons still have to be started by user >root<.
Do you want to install Grid Engine as admin user >sgeadmin< (y/n) [y] >> y
Installing Grid Engine as admin user >sgeadmin<
Hit <RETURN> to continue >>
Checking $SGE_ROOT directory
----------------------------
The Grid Engine root directory is:
   $SGE_ROOT = /opt/sge62
If this directory is not correct (e.g. it may contain an automounter
prefix) enter the correct path to this directory or hit <RETURN> to use default [/opt/sge62] >>
Your $SGE_ROOT directory: /opt/sge62
Hit <RETURN> to continue >>
Grid Engine TCP/IP communication service
----------------------------------------
The communication settings for sge_qmaster are currently not done.
Now you have the possibility to set/change the communication ports by using the
>shell environment< or you may configure it via a network service, configured
in local >/etc/service<, >NIS< or >NIS+<, adding an entry in the form
    sge_qmaster /tcp
to your services database and make sure to use an unused port number.
How do you want to configure the Grid Engine communication ports?
Using the >shell environment<:                           [1]
Using a network service like >/etc/service<, >NIS/NIS+<: [2]
(default: 2) >> 2
Grid Engine TCP/IP service >sge_qmaster<
----------------------------------------
Using the service
   sge_qmaster
for communication with Grid Engine.
Hit <RETURN> to continue >>
Grid Engine TCP/IP communication service
----------------------------------------
The port for sge_execd is currently set as service.
   sge_execd service set to port 6445
Now you have the possibility to set/change the communication ports by using the
>shell environment< or you may configure it via a network service, configured
in local >/etc/service<, >NIS< or >NIS+<, adding an entry in the form
    sge_execd /tcp
to your services database and make sure to use an unused port number.
How do you want to configure the Grid Engine communication ports?
Using the >shell environment<:                           [1]
Using a network service like >/etc/service<, >NIS/NIS+<: [2]
(default: 2) >> 2
Grid Engine TCP/IP communication service
-----------------------------------------
Using the service
   sge_execd
for communication with Grid Engine.
Hit <RETURN> to continue >>
Grid Engine cells
-----------------
Grid Engine supports multiple cells.
If you are not planning to run multiple Grid Engine clusters or if you don't
know yet what is a Grid Engine cell it is safe to keep the default cell name
   default
If you want to install multiple cells you can enter a cell name now.
The environment variable
   $SGE_CELL=
will be set for all further Grid Engine commands.
Enter cell name [default] >>
The "common" directory in cell >default< already exists!
Do you want to select another cell name? (y/n) [y] >> n
You can overwrite or delete this directory. If you choose overwrite
(YES option) only the "bootstrap" and "cluster_name" files will be deleted).
Delete (NO option) - will delete the whole directory!
Do you want to overwrite [y] or delete [n] the directory? (y/n) [y] >> y
Deleting bootstrap and cluster_name files!
Using cell >default<.
Hit <RETURN> to continue >>
Unique cluster name
-------------------
The cluster name uniquely identifies a specific Sun Grid Engine cluster.
The cluster name must be unique throughout your organization. The name
is not related to the SGE cell.
The cluster name must start with a letter ([A-Za-z]), followed by letters,
digits ([0-9]), dashes (-) or underscores (_).
Enter new cluster name or hit <RETURN> to use default [cl0001] >> my_test
Your $SGE_CLUSTER_NAME: my_test
Hit <RETURN> to continue >>
Grid Engine qmaster spool directory
-----------------------------------
The qmaster spool directory is the place where the qmaster daemon stores
the configuration and the state of the queuing system.
The admin user >sgeadmin< must have read/write access
to the qmaster spool directory.
If you will install shadow master hosts or if you want to be able to start
the qmaster daemon on other hosts (see the corresponding section in the
Grid Engine Installation and Administration Manual for details) the account
on the shadow master hosts also needs read/write access to this directory.
Enter a qmaster spool directory [/opt/SGE/default/spool/qmaster] >>
Specified qmaster spool directory is not empty!
Do you want to select another qmaster spool directory (y/n) [y] >> n
Using qmaster spool directory >/opt/SGE/default/spool/qmaster<.
Hit <RETURN> to continue >>
Windows Execution Host Support
------------------------------
Are you going to install Windows Execution Hosts? (y/n) [n] >> n
Verifying and setting file permissions
--------------------------------------
Did you install this version with >pkgadd< or did you already verify
and set the file permissions of your distribution (enter: y) (y/n) [y] >> y
We do not verify file permissions. Hit <RETURN> to continue >>
Select default Grid Engine hostname resolving method
----------------------------------------------------
Are all hosts of your cluster in one DNS domain? If this is
the case the hostnames
   >hostA< and >hostA.foo.com<
would be treated as equal, because the DNS domain name >foo.com<
is ignored when comparing hostnames.
Are all hosts of your cluster in a single DNS domain (y/n) [y] >> y
Ignoring domain name when comparing hostnames.
Hit <RETURN> to continue >>
Grid Engine JMX MBean server
----------------------------
In order to use the SGE Inspect or the Service Domain Manager (SDM)
SGE adapter you need to configure a JMX server in qmaster. Qmaster
will then load a Java Virtual Machine through a shared library.
NOTE: Java 1.5 or later is required for the JMX MBean server.
Do you want to enable the JMX MBean server (y/n) [y] >> n
Making directories
------------------
Hit <RETURN> to continue >>
Setup spooling
--------------
Your SGE binaries are compiled to link the spooling libraries
during runtime (dynamically). So you can choose between Berkeley DB
spooling and Classic spooling method.
Please choose a spooling method (berkeleydb|classic) [berkeleydb] >>
The Berkeley DB spooling method provides two configurations!
Local spooling:
The Berkeley DB spools into a local directory on this host (qmaster host)
This setup is faster, but you can't setup a shadow master host
Berkeley DB Spooling Server:
If you want to setup a shadow master host, you need to use
Berkeley DB Spooling Server!
In this case you have to choose a host with a configured RPC service.
The qmaster host connects via RPC to the Berkeley DB. This setup is more
failsafe, but results in a clear potential security hole. RPC communication
(as used by Berkeley DB) can be easily compromised. Please only use this
alternative if your site is secure or if you are not concerned about
security. Check the installation guide for further advice on how to achieve
failsafety without compromising security.
Do you want to use a Berkeley DB Spooling Server? (y/n) [n] >> n
Hit <RETURN> to continue >>
Berkeley Database spooling parameters
-------------------------------------
Please enter the database directory now, even if you want to spool locally,
it is necessary to enter this database directory.
Default: [/opt/SGE/default/spool/spooldb] >>
Berkeley Database spooling parameters
-------------------------------------
Please enter the database directory now, even if you want to spool locally,
it is necessary to enter this database directory.
Default: [/opt/SGE/default/spool/spooldb] >>
The spooling directory already exists! Do you want to delete it? [n] >> y
creating directory: /opt/SGE/default/spool/spooldb
Dumping bootstrapping information
Initializing spooling database
Hit <RETURN> to continue >>
Grid Engine group id range
--------------------------
When jobs are started under the control of Grid Engine an additional group id
is set on platforms which do not support jobs. This is done to provide maximum
control for Grid Engine jobs.
This additional UNIX group id range must be unused group id's in your system.
Each job will be assigned a unique id during the time it is running.
Therefore you need to provide a range of id's which will be assigned
dynamically for jobs.
The range must be big enough to provide enough numbers for the maximum number
of Grid Engine jobs running at a single moment on a single host. E.g. a range
like >20000-20100< means, that Grid Engine will use the group ids from
20000-20100 and provides a range for 100 Grid Engine jobs at the same time
on a single host.
You can change at any time the group id range in your cluster configuration.
Please enter a range [20000-20100] >>
Using >20000-20100< as gid range. Hit <RETURN> to continue >>
Grid Engine cluster configuration
---------------------------------
Please give the basic configuration parameters of your Grid Engine
installation:
The pathname of the spool directory of the execution hosts. User >sgeadmin<
must have the right to create this directory and to write into it.
Default: [/opt/SGE/default/spool] >>
Grid Engine cluster configuration (continued)
---------------------------------------------
The email address of the administrator to whom problem reports are sent.
It is recommended to configure this parameter. You may use >none<
if you do not wish to receive administrator mail.
Please enter an email address in the form >user@foo.com<.
Default: [none] >>
The following parameters for the cluster configuration were configured:
   execd_spool_dir        /opt/SGE/default/spool
   administrator_mail     none
Do you want to change the configuration parameters (y/n) [n] >> n
Creating local configuration
----------------------------
Creating >act_qmaster< file
Adding default complex attributes
Adding default parallel environments (PE)
Adding SGE default usersets
Adding >sge_aliases< path aliases file
Adding >qtask< qtcsh sample default request file
Adding >sge_request< default submit options file
Creating >sgemaster< script
Creating >sgeexecd< script
Creating settings files for >.profile/.cshrc<
Hit <RETURN> to continue >>
qmaster startup script
----------------------
We can install the startup script that will
start qmaster at machine boot (y/n) [y] >> n
Hit <RETURN> to continue >>
Grid Engine qmaster startup
qmaster startup script
----------------------
We can install the startup script that will
start qmaster at machine boot (y/n) [y] >> y
cp /opt/SGE/default/common/sgemaster /etc/init.d/sgemaster.my_test
/usr/lib/lsb/install_initd /etc/init.d/sgemaster.my_test
Hit <RETURN> to continue >>
Grid Engine qmaster startup
---------------------------
Starting qmaster daemon. Please wait ...
   starting sge_qmaster
Hit <RETURN> to continue >>
Adding Grid Engine hosts
------------------------
Please now add the list of hosts, where you will later install your execution
daemons. These hosts will be also added as valid submit hosts.
Please enter a blank separated list of your execution hosts. You may
press if the line is getting too long. Once you are finished
simply press without entering a name.
You also may prepare a file with the hostnames of the machines where you plan
to install Grid Engine. This may be convenient if you are installing Grid
Engine on many hosts.
Do you want to use a file which contains the list of hosts (y/n) [n] >> n
Adding admin and submit hosts
-----------------------------
Please enter a blank seperated list of hosts.
Stop by entering . You may repeat this step until you are
entering an empty list. You will see messages from Grid Engine
when the hosts are added.
Host(s):
Finished adding hosts. Hit <RETURN> to continue >>
If you want to use a shadow host, it is recommended to add this host
to the list of administrative hosts.
If you are not sure, it is also possible to add or remove hosts after the
installation with for adding and
for removing this host
Attention: This is not the shadow host installation
procedure.
You still have to install the shadow host separately
Do you want to add your shadow host(s) now? (y/n) [y] >> n
Creating the default queue and hostgroup
-----------------------------------------------------------
root@linux64-server added "@allhosts" to host group list
root@linux64-server added "all.q" to cluster queue list
Hit <RETURN> to continue >>
Scheduler Tuning
----------------
The details on the different options are described in the manual.
Configurations
--------------
1) Normal
          Fixed interval scheduling, report limited scheduling information,
          actual + assumed load
2) High
          Fixed interval scheduling, report limited scheduling information,
          actual load
3) Max
          Immediate Scheduling, report no scheduling information,
          actual load
Enter the number of your preferred configuration and hit <RETURN>!
Default configuration is [1] >>
We're configuring the scheduler with >Normal< settings!
Do you agree? (y/n) [y] >> y
Using Grid Engine
-----------------
You should now enter the command:
   source /opt/SGE/default/common/settings.csh
if you are a csh/tcsh user or
   # . /opt/SGE/default/common/settings.sh
if you are a sh/ksh user.
This will set or expand the following environment variables:
   - $SGE_ROOT         (always necessary)
   - $SGE_CELL         (if you are using a cell other than >default<)
   - $SGE_CLUSTER_NAME (always necessary)
   - $SGE_QMASTER_PORT (if you haven't added the service >sge_qmaster<)
   - $SGE_EXECD_PORT   (if you haven't added the service >sge_execd<)
   - $PATH/$path       (to find the Grid Engine binaries)
   - $MANPATH          (to access the manual pages)
Hit <RETURN> to see where Grid Engine logs messages >>
Grid Engine messages
--------------------
Grid Engine messages can be found at:
   /tmp/qmaster_messages (during qmaster startup)
   /tmp/execd_messages   (during execution daemon startup)
After startup the daemons log their messages in their spool directories.
   Qmaster:     /opt/SGE/default/spool/qmaster/messages
   Exec daemon: //messages
Grid Engine startup scripts
---------------------------
Grid Engine startup scripts can be found at:
   /opt/SGE/default/common/sgemaster (qmaster)
   /opt/SGE/default/common/sgeexecd (execd)
Do you want to see previous screen about using Grid Engine again (y/n) [n] >> n
Your Grid Engine qmaster installation is now completed
------------------------------------------------------
Please now login to all hosts where you want to run an execution daemon
and start the execution host installation procedure.
If you want to run an execution daemon on this host, please do not forget
to make the execution host installation in this host as well.
All execution hosts must be administrative hosts during the installation.
All hosts which you added to the list of administrative hosts during this
installation procedure can now be installed.
You may verify your administrative hosts with the command
   # qconf -sh
and you may add new administrative hosts with the command
   # qconf -ah
Please hit <RETURN> >>
sge_qmaster successfully installed!

[root@linux64-server ~]# ln -s /opt/SGE/default/common/settings.sh /etc/profile.d/sge.sh
[root@linux64-server ~]# ln -s /opt/SGE/default/common/settings.csh /etc/profile.d/sge.csh
[root@linux64-server ~]# qconf -ah linux64-client1
[root@linux64-server ~]# qconf -as linux64-client1