|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
The choice between the commercial and open source versions of PBS Pro is entirely up to you and your organization. If your organization does not require commercial support of all software, you may want to start with the open source version.
You may decide to purchase commercial support in the future. The commercial and open source versions of the product are very similar in terms of functionality, but the commercial version receives additional QA and validation.
You may download pre-built packages of the open source release from http://pbspro.org/4 or download the source code from GitHub. If you download the source code, please do so from the latest release branch https://github.com/PBSPro/pbspro/tree/release_14_1_branch5
Instructions to build from source may be found in the INSTALL file in the source package.
Looks like you need to built RPMs after you install the server and install client using them. Some information about how to generate RPMs for distribution on multiple systems can be found at: https://pbspro.atlassian.net/wiki/display/PBSPro/Building+PBS+Pro+Using+rpmbuild7
Unlike torque, pbspro uses ProstresSQL to store information about nodes, queues, jobs etc. It should be installed as a prerequisite on the headnode. That means that most information about Torque installation is not applicable. Configuration is also different. In other words this is a different product.
For example, in order to add nodes you need to execute the command qmgr -c "create node $NODE_HOSTNAME" for each such node. You can do multiple notes in a loop:
while read line; do
[ -n "$line" ] && qmgr -c "create node $line";
done < ./nodefile
where ./nodefile contains the list of nodes, one per line.
You can find the administration and other guides here: http://www.pbsworks.com/SupportGT.aspx?d=PBS-Professional,-Documentation113 As usual they are not very useful. Useful posts are mostly scattered in various discussion forums.
In recent version the commercial version of the Installation Guide no longer applies to the OSS release because the INSTALL script is no longer needed, but you still may find some (minimal) information in it useful.
PBS Pro does not require a shared filesystem to function unless you are employing the server failover feature. In this case data store should be on the shared filesystem which is mounted only on the active headnode.
In general, you the RPMs can be used as follows (supplied RPMs can be used probably only on RHEL/CentOS 7.1; I have had problems with trying to install them on RHEL 7.3):
There are also two optional packages:
Generally you should not mix different versions of PBS and use the same version of bothe server and the MOM. All daemons and commands must be the same version of PBS Professional.
PBS needs to be able to use any port for outgoing connections, but only specific ports for incoming connections. If you have firewalls running on the server or execution hosts (bad idea, but sometimes you do not control the environment ans security department attempt to wave dead chickens can't be overruled) , be sure to allow incoming connections on the appropriate ports for each host. By default, the PBS server and MoM daemons use ports 15001 through 15004 for incoming connections, and any port below 1024 for outgoing connections. See section 3.3.4, “Network Addresses and Ports”, on page 36 for a list of ports.
Ports Used by PBS Daemons in TPP Mode
Firewall-based issues are often associated with server-MoM communication failures and messages such as 'premature end of message' in the log files. Inital installation should be done with the firewall down. Later you can enable it and troubleshoot the issues one by one. Same is true about SElinux -- permissive mode is recommended for the installation.
This might be a reason you newly installed PBS does not work. PBS is pretty picky in this regard and diagnostic messages are not very illuminating. Make sure that the following are true:
You can take care of some of the name resolution testing before you install PBS. However, you must do some testing using the pbs_hostn command, after you install PBS. The "Initial Configuration" chapter follows the "Installation" chapter, and includes steps to test name resolution. We include an overview of the whole process here for clarity:
Clocks on all participating systems should be in sync. NTP should be running. Difference in clocks can be the reason why clints can't proparly communicate with the headnode.
When configuring /etc/hosts, do the following
NOTES:
Users who will submit jobs must have accounts at the server and at each execution host.
Typically PBS is configured to use the Secure Copy (scp) for file transfers. The administrator need to set-up the SSH keys as described in section 13.8, "Enabling Passwordless Authentication" on page 870 in the PBS Professional Administrator’s Guide.
See also section 8.5 "Delivery of Output Files" on page 198 in the PBS Professional User’s Guide (pbsworks.com)
Use the PBS_SERVER_HOST_NAME parameter in pbs.conf on each host in the complex to specify the FQDN of the server, under these circumstances:
You can specify the server name with the following order of precedence, highest first:
•Check files and directories: To validate the installation of PBS Professional, at any time, run the pbs_probe command. It will review the installation (installed files, directory and file permissions, etc) and report any problems found. For details, see “pbs_probe” on page 60 of the PBS Professional Reference Guide.
•Check PBS version. Use the qstat command to find out what version of PBS Professional you have:
qstat -fB
•Check hostname resolution:
• At the server, use the pbs_hostn command with the name of each host in the complex. This should complain if hostname resolution is not working correctly. See “pbs_hostn” on page 40 of the PBS Professional Reference Guide.
• Make sure that rcp and/or scp work correctly. They must work outside of PBS before PBS can use them Run rcp and/or scp between machines in the complex to make sure they work. If there are problems, see section 2.1.3, “Name Resolution and Network Configuration”, on page 8.
Adapted from PostgreSQL Linux downloads (Debian) in June 2017:
yum install -y gcc make rpm-build libtool hwloc-devel \ libX11-devel libXt-devel libedit-devel libical-devel \ ncurses-devel perl postgresql-devel python-devel tcl-devel \ tk-devel swig expat-devel openssl-devel libXext libXft \ autoconf automakeFor openSUSE systems you should run the following command as root:
zypper install gcc make rpm-build libtool hwloc-devel \ libX11-devel libXt-devel libedit-devel libical-devel \ ncurses-devel perl postgresql-devel python-devel tcl-devel \ tk-devel swig libexpat-devel libopenssl-devel libXext-devel \ libXft-devel fontconfig autoconf automake
For Debian systems you should run the following command as root:
sudo apt-get install gcc make libtool libhwloc-dev libx11-dev \ libxt-dev libedit-dev libical-dev ncurses-dev perl \ python-dev tcl-dev tk-dev swig \ libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \ automake
sudo apt-get install postgresql-server-dev-all
Note: it is recommended to install PostgressSQL separately on Debian. See instructions
at PostgreSQL Linux downloads (Debian)
In addition to the commands below, you should also install a text editor of your choosing (vim, emacs, gedit, etc.).
For CentOS systems you should run the following command as root:
yum install -y expat libedit postgresql-server python sendmail sudo tcl tk libical
For openSUSE systems you should run the following command as root:
zypper install expat libedit postgresql-server python sendmail sudo tcl tk libical1
For Debian systems you should run the following command as root (postgress server should be installed sep[aratly, may requre reboot):
apt-get install expat libedit2 python sendmail-bin sudo tcl tk libical1a
tar -xpvf pbspro-14.0.1.tar.gz cd pbspro-14.0.1
./autogen.sh
./configure --help
For CentOS and Debian systems you should run the following command:
./configure --prefix=/opt/pbs
For openSUSE systems (see note 3 below) you should run the following command:
./configure --prefix=/opt/pbs --libexecdir=/opt/pbs/libexec
make
sudo make install
sudo /opt/pbs/libexec/pbs_postinstall
If you use vi as your editor, you would run:
sudo vi /etc/pbs.conf
sudo /etc/init.d/pbs start
For Bourne shell (or similar) run the following:
. /etc/profile.d/pbs.sh
bash$ qstat -B Server Max Tot Que Run Hld Wat Trn Ext Status ---- ----- ----- ----- ----- ----- ----- ----- ----- ----------- host1 0 0 0 0 0 0 0 0 Active
bash$ pbsnodes -a host1 < Mom = host1 ntype = PBS state = free pcpus = 2 resources_available.arch = linux resources_available.host = host1 resources_available.mem = 2049248kb resources_available.ncpus = 2 resources_available.vnode = host1 resources_assigned.accelerator_memory = 0kb resources_assigned.mem = 0kb resources_assigned.naccelerators = 0 resources_assigned.ncpus = 0 resources_assigned.vmem = 0kb resv_enable = True sharing = default_shared license = lNow you can run a test
bash$ echo "sleep 60" | qsub 0.host1 bash$ qstat -a host1: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time --------------- -------- -------- ---------- ------ --- --- ------ ----- - ----- 0.host1 mike workq STDIN 2122 1 1 -- -- R 00:00 --------------------------------------------------------------------
|
Switchboard | ||||
Latest | |||||
Past week | |||||
Past month |
Jun 21, 2018 | community.pbspro.org
How to install pbs on compute node and configure the server and compute node? Users/Site Administrators You have selected 0 posts.
cancel selecting Jun 2016 1 / 9 Jul 2016 Apr 2017 Joey Jun '16 Hi guys,
I am new to HPC and PBS or torque. I am able to install PBS pro from source code on my head node . But not sure how to install the compute node and cconfigure it. I didn't see any documentation in the github either. Can anyone give me some help? Thanksbuchmann Jun '16 Install is pretty similar on the compute nodes - however, you do not need the "server" parts.
createdJun '16 last replyApr '17
There are OK docs on the Altair "pro" site, see answer to previous question "documentation-is-missing/81".In short, you the Altair docs for v13, and/or the INSTALL file procedure. (Or install from pre-build binaries).
Actual method will depend on your system type etc.I prefer to install using pre-compiled RPMs (CentOS72 systems), which presently means that I will compile these from tarball+spec-file (slightly modified spec-file).
Hope this helps.
/Bjarne subhasisb Jun '16 @Joey thanks for joining the pbspro forum.You can find the documentation about pbspro here: https://pbspro.atlassian.net/wiki/display/PBSPro/User+Documentation 730
Kindly do not hesitate to post questions about any specific issues you are facing.
Thanks,
Subhasis Joey Jun '16 1 Thanks for your reply.I rebuild the CentOS72 rpm with the src from Centos7.zip
installed pbspro-server-14.1.0-13.1.x86_64.rpm on mye headnode
installed pbspro-execution-14.1.0-13.1.x86_64.rpm on my compute node.
On the head node
create /var/spool/pbs/server_priv/nodes with following:computenode1 np=1
/etc/pbs.conf:
PBS_SERVER=headnode
PBS_START_SERVER=1
PBS_START_SCHED=1
PBS_START_COMM=1
PBS_START_MOM=0
PBS_EXEC=/opt/pbs
PBS_HOME=/var/spool/pbs
PBS_CORE_LIMIT=unlimited
PBS_SCP=/bin/scpon the compute node
/var/spool/pbs/mom_priv/config as following
$logevent 0x1ff
$clienthost headnode
$restrict_user_maxsysid 999/etc/pbs.conf
PBS_SERVER=headnode
PBS_START_SERVER=0
PBS_START_SCHED=0
PBS_START_COMM=0
PBS_START_MOM=1
PBS_EXEC=/opt/pbs
PBS_HOME=/var/spool/pbs
PBS_CORE_LIMIT=unlimited
PBS_SCP=/bin/scpafter that I start the pbs on headnode and compute node without error:
#/etc/init.d/pbs start
But when I try to run pbsnodes -a, it tells me:
pbsnodes: Server has no node list
If I run a script it will just Queue there.Both server firewalld are turned off and pingable.
Can anyone give me some help? Thanks subhasisb Jul '16 Hi @Joey ,
Unlike torque, pbspro uses a real relational database underneath to store information about nodes, queues, jobs etc. Thus creating a nodes file is not supported under pbspro.
To add a node to pbs cluster, use the qmgr command as follows:
qmgr -c "create node hostname"
HTH
regards,
Subhasis Joey Jul '16 Thanks for your reply. I thought PBS and torque are the same except one is open source and one is commerical. subhasisb Jul '16 Hi @JoeyThey might feel similar since Torque was based on the OpenPBS codebase. OpenPBS was a version of PBS released as opensource many years back.
Post that, Altair engineering has put in a huge amount of effort towards PBS Professional and added tons of features and improvements in terms of scalability, robustness and ease of use over decades which resulted in it becoming the number one work load manager in the HPC world. Altair has now open-sourced PBS Professional.
So, pbspro is actually very different from torque in terms of capability and performance, and is actually a completely different product.
Let us know if you need further information in switching to pbspro.
Thanks and Regards,
Subhasis 10 months later sxy Apr '17 Hi Subhasis,To add a node to pbs cluster, use the qmgr command as follows:
qmgr -c "create node hostname"
if a site has a few hundreds of compute nodes, the above method is very tedious.
would there be any easy/quick ways to register computer nodes with pbs server like the nodes file in torque?Thanks,
Sue mkaro Apr '17 This is one way to accomplish it
while read line; do [ -n "$line" ] && qmgr -c "create node $line"; done <nodefile
where nodefile contains the list of nodes, one per line.
Building PBS Pro Using rpmbuild
Go to start of metadata
- Created by Anne Urban, last modified on Aug 10, 2016
A. Create rpm Development Tree (if it does not exist)
Create the tree by hand, or use "rpmdev-setuptree" to create necessary directories. To create by hand:
1. Go to your home directory; you don't need to be root
2. mkdir rpmbuild
3. cd rpmbuild
4. mkdir BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
B. Install Dependencies
Below is the list of prerequisite packages. (These are also specified in the "pbspro.spec" file):
- gcc
- autoconf
- automake
- hwloc-devel
- libX11-devel
- libXt-devel
- libedit-devel
- libical-devel
- ncurses-devel
- perl
- postgresql-devel
- python-devel >= 2.6
- python-devel < 3.0
- tcl-devel
- tk-devel
- swig
- expat-devel (if suse then libexpat-devel)
- openssl-devel (if suse then libopenssl-devel)
1. Install dependencies for building PBS Pro:
For CentOS systems, run the following command as root:
yum install -y gcc make rpm-build libtool hwloc-devel libX11-devel libXt-devel libedit-devel libical-devel ncurses-devel perl postgresql-devel python-devel tcl-devel tk-devel swig expat-devel openssl-devel libXext libXft
For openSUSE systems, run the following command as root:
zypper install gcc make rpm-build libtool hwloc-devel libX11-devel libXt-devel libedit-devel libical-devel ncurses-devel perl postgresql-devel python-devel tcl-devel tk-devel swig libexpat-devel libopenssl-devel libXext-devel libXft-devel fontconfig
2. Install prerequisite packages for running PBS Pro:
In addition to the commands below, you should also install a text editor of your choosing (vim, emacs, gedit, etc.).
For CentOS systems, run the following command as root:
yum install -y expat libedit postgresql-server python sendmail sudo tcl tk libical
For openSUSE systems, run the following command as root:
zypper install expat libedit postgresql-server python sendmail sudo tcl tk libical1
3. Install prerequisite packages for testing PBS Pro:
Make sure you have the following on your local system:
the pip command
the sudo command
the which command
the net-tools package
C. Build the rpm Package for PBS Pro <pbs_version>
You can either build from source cloned from GitHub, or build from source rpm (srpm).
To Build from source cloned from GitHub:
Note: <pbs_version> specified at pbspro/src/pbspro.spec
1. Go to pbspro directory which you have cloned (git clone https://github.com/PBSPro/pbspro)
2. Run the autogen.sh script to generate the configure script and Makefile.in files
./autogen.sh
(generates configure script and Makefile.in templates)
3. Run ./configure
4. Generate the source tar that will use to build the rpm
make dist
make dist generates .tar.gz (pbspro-<pbs_version>.tar.gz) file in the same directory.
5. Move the pbspro-<pbs_version>.tar.gz file to ~/rpmbuild/SOURCES
6. Move pbspro/pbspro.spec file to ~/rpmbuild/SPECS
7. Change directory to ~/rpmbuild/SPECS
8. Run the below command
rpmbuild -ba pbspro.spec (This command will generate the below rpm packages in ~/rpmbuild/RPMS dirctory)a) pbspro-client-<pbs_version>-0.x86_64.rpm
b) pbspro-debuginfo-<pbs_version>-0.x86_64.rpm
c) pbspro-execution-<pbs_version>-0.x86_64.rpm
d) pbspro-server-<pbs_version>-0.x86_64.rpm
To Build the rpm Package from pbspro-<pbs_version>.src.rpm:
2. You can either use the –rebuild option, or you can build the rpm yourself.
To use the --rebuild option:
Do an rpmbuild –rebuild pbspro-<pbs_version>.src.rpm
To build the rpm yourself:
Install the pbspro-<pbs_version>.src.rpm
rpm -i pbspro-<pbs_version>.src.rpm
This installs pbspro-<pbs_version>.tar.gz and pbspro.spec in their respective directories under the rpmbuild dev tree.
Change directory to ~/rpmbuild/SPECS and run the below command
rpmbuild -ba pbspro.spec (This command generates the below rpm packages in ~/rpmbuild/RPMS dirctory)
a) pbspro-client-<pbs_version>-0.x86_64.rpm
b) pbspro-debuginfo-<pbs_version>-0.x86_64.rpm
c) pbspro-execution-<pbs_version>-0.x86_64.rpm
d) pbspro-server-<pbs_version>-0.x86_64.rpm
D. Install and Test Your rpm Package Locally
Installing and Testing Locally on CentOS7:
- Log in as root
- Change directory to ~/rpmbuild/RPMS
- Install the package: yum -y install /root/rpmbuild/RPMS/x86_64/pbspro-server-<pbs_version>.x86_64.rpm
- Enable MoM via "PBS_START_MOM=1" in /etc/pbs.conf file
- Start the PBS Pro daemons using /etc/init.d/pbs start
- From a non-root account, make sure that PBS works by running a job
- Continue as root
- cd test/fw
- Install PTL and dependencies: pip install -r requirements.txt .
- Create user accounts and groups required by PTL: pbs_config --make-ug
- cd ../tests
- Run PTL tests: pbs_benchpress -l INFOCLI2 -o ptl.txt
- Once pbs_benchpress completes, you can find the PTL log in ptl.txt
Installing and Testing Locally on openSUSE 13.2:
- Log in as root
- Change directory to ~/rpmbuild/RPMS
- Install the package: zypper -n install /root/rpmbuild/RPMS/x86_64/pbspro-server-<pbs_version>.x86_64.rpm
- Enable MoM via "PBS_START_MOM=1" in /etc/pbs.conf file
- Start the PBS Pro daemons using /etc/init.d/pbs start
- From a non-root account, make sure that PBS works by running a job
- Continue as root
- cd test/fw
- Install PTL and dependencies: pip install -r requirements.txt .
- Create user accounts and groups required by PTL: pbs_config --make-ug
- cd ../tests
- Run PTL tests: pbs_benchpress -l INFOCLI2 -o ptl.txt
- Once pbs_benchpress completes, you can find the PTL log in ptl.txt
Bjarne Büchmann
Nice description, thanks.It warrants a single comment, though, based on my experience building on CentOS 7.2: CentOS 7 uses postfix rather than sendmail.
> yum install -y ... sendmail ...
For build on CentOS, I do not recommend installing sendmail unless you really want it. Sendmail is considered deprecated on CentOS7, and the default mail transport agent (MTA) is postfix. To have the build work with any of the MTAs, then modify the spec file slightly to require MTA rather than sendmail, like eg:
perl -pi -e 's/^Requires: sendmail$/Requires: MTA/' pbspro.spec
If no MTA is already installed, then I would opt for postfix rather than sendmail, ie. to do
> yum install -y ... postfix ...
See also http://community.pbspro.org/t/centos7-install-issues/83/4
/Bjarne
Bjarne Büchmann
In order to do the test part (actually get any job to run), I had to define the server as a node (in qmgr). Just starting the MOM was not enough, as the server does not want to talk to the mom (I guess).So, likely(?) something like this is missing in the steps (Section D after step 5 or so):
sudo qmgr -c "create node $(hostname -s)"
Then, probably we also need to restart both server and mom to get the config right, ie. do something like
sudo /etc/init.d/pbs restart
Can somebody confirm this?
/Bjarne
PS: I use systemctl rather than the init scripts directly, but that is a different story.
Bjarne Büchmann
Further comments on the test part (this is for centos72, but could have impact on other flavours as well):A: The use of pip to install python-packages system-wide is likely not a good choice, as pip will modify the package-maintained (yum/rpm) python installation. If you later upgrade the underlying python libs (with yum), then lots of stuff could go wrong(?)
The three packages in requirements.txt could be installed from standard RPMs with something like:
sudo yum install -y python-nose python-beautifulsoup4 pexpect
(This of course assumes that the standard packages are "new enough" for the tests to run.)
B: I cant find pbs_config as part of my installation/compiled rpm. I do not see it in the pre-complied rpm either (pbspro-server-14.1.0-13.1.x86_64.rpm). Did I do something wrong, or??
C: What exactly is "pbs_config --make-ug" supposed to do? I prefer not to have it modify (automagically) say, my users and groups. I'd much rather do that manually.
As part of other mentioned pre-prequisites (eg. section 3.5.2 in the installation and upgrade guide for pbspro 13.1) I created a user and group named pbsdata. Has it anything to do with that?I much prefer to have identical UIDs and GIDs across machines, which is why I try to always define the necessary users and groups prior to the package installation. Comments?
D: Would it be possible to run these tests as a standard user? Or at least define some pbs manager/operator, such that they do not have to run as root? Running test/build scripts as root is not a secure way to do stuff.
Thanks - I hope someone can follow up on these issues.
/Bjarne
Hiren Vadalia
A)I agree with you that use of pip to install system wide is not good choice. But here while installing PTL you can pass either '-–user' or '–-prefix' option to pip which will not install PTL system wide.
or you can manually install those dependencies using yum install and then pip will not install those dependencies.
NOTE: if you install ptl in user specified directory then please update PYTHONPATH and PATH variable with user specified directory.B)
since pbs_config is part of PTL, you will get that command only after you install PTL. This is because not all PTL commands (except pbs_loganalyzer and pbs_stat) is included in PBS rpm package. So, what you are seeing is correct and you are not doing anything wrong.C)
"pbs_config --make-ug" creates users and groups required for PTL as per pre-defined (as written below) configuration.
However it is not mandatory to run "pbs_config --make-ug" before running tests, if you have created users and groups manually then you can ignore this step.
Pre-defined configuration for users and groups:
Groups:
group_name=tstgrp00 gid=1900
group_name=tstgrp01 gid=1901
group_name=tstgrp02 gid=1902
group_name=tstgrp03 gid=1903
group_name=tstgrp04 gid=1904
group_name=tstgrp05 gid=1905
group_name=tstgrp06 gid=1906
group_name=tstgrp07 gid=1907
group_name=pbs gid=901
Users:
username=pbstest uid=4355 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbstest shell=/bin/bash
username=pbsoper uid=4356 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbsoper shell=/bin/bash
username=pbsadmin uid=4357 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbsadmin shell=/bin/bash
username=pbsroot uid=4371 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbsroot shell=/bin/bash
username=pbsmgr uid=4367 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbsmgr shell=/bin/bash
username=pbsother uid=4358 gid=tstgrp00 groups=tstgrp02,pbs home_dir=/home/pbsother shell=/bin/bash
username=pbsuser uid=4359 gid=tstgrp00 home_dir=/home/pbsuser shell=/bin/bash
username=pbsuser1 uid=4361 gid=tstgrp00 groups=tstgrp01,tstgrp02 home_dir=/home/pbsuser1 shell=/bin/bash
username=pbsuser2 uid=4362 gid=tstgrp00 groups=tstgrp01,tstgrp03 home_dir=/home/pbsuser2 shell=/bin/bash
username=pbsuser3 uid=4363 gid=tstgrp00 groups=tstgrp01,tstgrp04 home_dir=/home/pbsuser3 shell=/bin/bash
username=pbsuser4 uid=4364 gid=tstgrp01 groups=tstgrp04,tstgrp05 home_dir=/home/pbsuser4 shell=/bin/bash
username=pbsuser5 uid=4365 gid=tstgrp02 groups=tstgrp04,tstgrp06 home_dir=/home/pbsuser5 shell=/bin/bash
username=pbsuser6 uid=4366 gid=tstgrp03 groups=tstgrp03,tstgrp07 home_dir=/home/pbsuser6 shell=/bin/bash
username=tstusr00 uid=11000 gid=tstgrp00 home_dir=/home/tstusr00 shell=/bin/bash
username=tstusr01 uid=11001 gid=tstgrp00 home_dir=/home/tstusr01 shell=/bin/bashD)
Yes, you can run tests as a standard user but for that you have to setup sudoers file such a way that standard user can do operation without password as another user or as root using sudo command.
However we can't totally eliminate use of root as there are some PBS operation which only root can do like:
reading and parsing accounting logs
changing PBS configuration files
running qmgr command with operation like create node/queue
setting queue/node/server attributes
start/stop/restart/status of PBS daemons
etc...
Bjarne Büchmann
Thank you, Hiren, for the in-depth explanations. I do have more questions and comments (yes, I know - I query a lot).Regarding pnt A:
The "pip-instruction" reads (for centos):
> Install PTL and dependencies: pip install -r requirements.txt.
Hiren adds:
> But here while installing PTL you can pass either '-–user' or '–-prefix' option to pip which will not install PTL system wide
In fact, I am still unsure about what "PTL" (likely a pbs/python/something lib - Pbs Test Lib?). I guess the pip line will install it based on what is in the actual test/fw dir (and particularly the ptl subdir), but I am still not in a position to actually want to try this command on my system. Too much unknown stuff going around. (Also see below).
Regarding pnts C+D:
Adding 15 new users and 7 new groups just to run a test suite seems excessive. Also, adding these to wheel/sudoers is not really different from running under root, so it is not an option for me.
>However we can't totally eliminate use of root as there are some PBS operation which only root can do like:
>reading and parsing accounting logs
>running qmgr command with operation like create node/queue
>setting queue/node/server attributesAll the above may be done by a pbs manager, right? No sudo/root access required. So, presumably adding a few of the new users as pbs managers and/or operators should do the trick - at least for the above commands.
>start/stop/restart/status of PBS daemons
Obviously, this will need some OS access. But if we know that this is all we need, then we can limit it to a few explicit commands, which will be OK for a system like ours. It's the granting full access to everything, which disturbs me.
>changing PBS configuration files
Which files need to be changed? Stuff /etc/pbs.conf or stuff under PBSHOME? Is there a way to do what you need without full root access? Could the files be owned by a "pbs admin" group (eg pbsdata?) and then modified by pbs users, which is member of that group?
> etc...
Really, there is more? (Yes, presumably adding jobs as different users, and such I guess).
Full root/OS access for a test suite is still no-go in my view. (Probably a lot of other sys admins would feel the same).
I'd love to install PTL and run the test suite, but I cannot in good conscience follow the instructions as they are laid out.
If some of these issues are ironed out, then presumably the test suite could be added as an RPM - depending on the requirements (as RPMs) as well as on the particular pbs RPM version as well. It still should be done in a way such that the test suite can run without sudo access, though. These are just random thoughts, and I don't know it it will happen.
Best
Bjarne
Subhasis Bhattacharya
Hi Bjarne,
You have brought forth a great point, and this had been something many of us had been thinking on for a while now. PTL (PBS Test lab) really needs to be made to execute as much as possible without needing root (sure allowing sudo for everything is not an option). In fact we had been discussing the same even about the product itself, ie, PBSPro ceasing to need to be root. (The fact that PTL currently needs root or a very permissive sudoers file is already a problem in executing this inhouse for us)
Now, since the entire PTL sources are open, as community members, we can contribute towards eliminating these restrictions from PTL (and even PBS) step by step. Currently, I think, there are a few ways to trust the PTL code and execute it:
a) The PTL sources are open, so you can figure out exactly what it would do if you executed it. (still too much hassle I guess)
b) Create a container with PTL and use that to run tests instead of doing it on your host (we, the community could even create a container image with PTL and all the users etc preconfigured in it for others to safely use)
c) Exercise PTL via our automatic CI test runs on the Travis cloud (via github): When you submit a PBS code change (or even submit a new PTL test) Travis will execute those tests automatically on a cloud instance.
Thanks and Regards,
Subhasis
Bjarne Büchmann
If I understand correctly, the PBS Test Lab would be something to be run on a dedicated test machine - especially if one is to modify the PBS code base, and want to make sure that the whole shebang still works. As I have installed just the vanilla 14.1.0, I (likely?) do not need to run those tests at all - for sure not on our production systems.I thought that the tests were more in line of checking if we got the installations right. Executing in a container - or on an external host system - will for sure not help me in that regard,
Anyway, for now I will skip these tests.
I would suggest to move the sections regarding tests to a completely different page / howto - dedicated to developers, who really need to modify code etc. However, maybe a simpler test suite could be set up - to just test simple functionality of a created system after install...?
Best,
Bjarne
Subhasis Bhattacharya
You are right. The PTL tests are to test the functionality of the software. This is not an installation check. You would only need to run PTL if you changed code and wanted to check whether you might have broken some existing functionality (ie caused regressions).So, for your case, you can just go ahead with 14.1.0 downloaded version and run it.
Your suggestion about testing the installation itself sounds like great advise - we do have a tool called pbs_probe that we are coming up with which will check that required files are installed and permissions are all in place. Maybe we can extend the functionality of that tool to be more useful.
Also, I do agree we need to move the pages to reflect the content better towards the target user/reader. We hope to make it better organized soon (Anne Urban - lets chat about this shortly)
Thanks for all the inputs.
Regards,
Subhasis
Google matched content |
pbspro-INSTALL at master · PBSPro-pbspro · GitHub
Building PBS Pro Using rpmbuild - PBS Pro - PBS Pro Confluence
PBS Professional 12.0 Installation and Upgrade Guide
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Last modified: March, 12, 2019