From f828f75cc31bb64c4f36818121124cdafaedc2c0 Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Wed, 14 Jul 2010 21:11:28 +0000 Subject: [PATCH] Something at least approching package guidelines. --- README-localhost | 20 -- README.Fedora | 71 +++++++ config | 2 + torque.spec | 490 ++++++++++++++++++++++++++++++++++------------- 4 files changed, 425 insertions(+), 158 deletions(-) delete mode 100644 README-localhost create mode 100644 README.Fedora create mode 100644 config diff --git a/README-localhost b/README-localhost deleted file mode 100644 index c63a012..0000000 --- a/README-localhost +++ /dev/null @@ -1,20 +0,0 @@ -To setup a basic single-node localhost-only batch system, install the -torque-server, torque-mom, and torque-scheduler packages, and do something like -this: - -/sbin/chkconfig pbs_mom on -/sbin/chkconfig pbs_server on -/sbin/chkconfig pbs_sched on -/bin/hostname --long > %{torquehomedir}/server_priv/nodes -/bin/hostname --long > %{torquehomedir}/server_name -service pbs_server start -qmgr -c "s s scheduling=true" -qmgr -c "c q batch queue_type=execution" -qmgr -c "s q batch started=true" -qmgr -c "s q batch enabled=true" -qmgr -c "s q batch resources_default.nodes=1" -qmgr -c "s q batch resources_default.walltime=3600" -qmgr -c "s s default_queue=batch" -service pbs_mom restart -service pbs_sched restart - diff --git a/README.Fedora b/README.Fedora new file mode 100644 index 0000000..0d82a1c --- /dev/null +++ b/README.Fedora @@ -0,0 +1,71 @@ +This README describes how to get the most basic working +torque service on a single host. + +To setup a basic single-node localhost-only batch system, install the +torque-server, torque-mom, and torque-scheduler packages, and do something like +this: + + +1) Get your full hostname with + +# /bin/hostname --long + +e.g myhost.example.org + +2) Edit /etc/torque/server_name +to contain the single line + +myhost.example.org + +3) Edit /etc/torque/mom/config +to contain the single line + +$pbsserver myhost.example.org + +4) Create a torque serverdb file. +# /usr/sbin/pbs_server -D -t create + +Warning this will remove any existing serverdb +file located at /var/lib/torque/server_priv/serverdb + +You will have to Ctrl^C the pbs_server command, it will +only take a moment to create this file. + +5) Start the pbs_server and configure it. +service pbs_server start +# qmgr -c "s s scheduling=true" +# qmgr -c "c q batch queue_type=execution" +# qmgr -c "s q batch started=true" +# qmgr -c "s q batch enabled=true" +# qmgr -c "s q batch resources_default.nodes=1" +# qmgr -c "s q batch resources_default.walltime=3600" +# qmgr -c "s s default_queue=batch" + +6) Add one batch worker to your pbs_server. + +# qmgr -c "c n myhost.example.org" + +7) Start the pbs_mom and pbs_sched deamons. + +# service pbs_mom start +# service pbs_sched start + +8) Use chkconfig to start the services at boot time. + +# /sbin/chkconfig pbs_mom on +# /sbin/chkconfig pbs_server on +# /sbin/chkconfig pbs_sched on + +9) Submit a test job. +As a user not as root run the following + +$ qsub < %{buildroot}%{_initrddir}/$daemon - chmod 755 %{buildroot}%{_initrddir}/$daemon -done +install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs_mom +install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs_sched +install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_server %if %{build_gui} # This is really trivial, but cleans up an rpmlint warning sed -i -e 's|%{_lib}/../||' %{buildroot}%{_bindir}/xpbs -# install .desktop files and my ugly icons desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbs.desktop desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbsmon.desktop install -d %{buildroot}%{_datadir}/pixmaps @@ -259,6 +322,51 @@ do %{buildroot}%{_mandir}/man1/${bin}-torque.1 done +# Relocate configuration files. +mkdir -p %{buildroot}%{_sysconfdir}/torque +pushd %{buildroot}%{torquehomedir} +mv pbs_environment %{buildroot}%{_sysconfdir}/torque +mv server_name %{buildroot}%{_sysconfdir}/torque +ln -s %{_sysconfdir}/torque/pbs_environment . +ln -s %{_sysconfdir}/torque/server_name . +popd + +# Relocate mom_logs to /var/log +mkdir -p %{buildroot}%{_var}/log/torque +pushd %{buildroot}%{torquehomedir} +mv mom_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/mom_logs . +popd + +# Install mom_priv/config file to /etc/torque/mom +mkdir -p %{buildroot}%{_sysconfdir}/torque/mom +install -p -m 644 config %{buildroot}%{_sysconfdir}/torque/mom/config +pushd %{buildroot}%{torquehomedir}/mom_priv +ln -s %{_sysconfdir}/torque/mom/config . +popd + +# Install sched_config files to /etc/torque/sched +mkdir -p %{buildroot}%{_sysconfdir}/torque/sched +pushd %{buildroot}%{torquehomedir}/sched_priv +for CONFIG in dedicated_time holidays resource_group sched_config ; do + mv $CONFIG %{buildroot}%{_sysconfdir}/torque/sched/. + ln -s %{_sysconfdir}/torque/sched/$CONFIG . +done +popd + +# Relocate sched_logs to /var/log +pushd %{buildroot}%{torquehomedir} +mv sched_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/sched_logs . +popd + +# Relocate server_logs to /var/log +pushd %{buildroot}%{torquehomedir} +mv server_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/server_logs . +popd + + %clean rm -rf %{buildroot} @@ -266,17 +374,17 @@ rm -rf %{buildroot} if grep -q "PBS services" /etc/services;then : PBS services already installed else - cat<<-__EOF__>>/etc/services - # Standard PBS services - pbs 15001/tcp # pbs server (pbs_server) - pbs 15001/udp # pbs server (pbs_server) - pbs_mom 15002/tcp # mom to/from server - pbs_mom 15002/udp # mom to/from server - pbs_resmom 15003/tcp # mom resource management requests - pbs_resmom 15003/udp # mom resource management requests - pbs_sched 15004/tcp # scheduler - pbs_sched 15004/udp # scheduler - __EOF__ + cat<<__EOF__>>/etc/services +# Standard PBS services +pbs 15001/tcp # pbs server (pbs_server) +pbs 15001/udp # pbs server (pbs_server) +pbs_mom 15002/tcp # mom to/from server +pbs_mom 15002/udp # mom to/from server +pbs_resmom 15003/tcp # mom resource management requests +pbs_resmom 15003/udp # mom resource management requests +pbs_sched 15004/tcp # scheduler +pbs_sched 15004/udp # scheduler +__EOF__ fi %posttrans client @@ -307,8 +415,8 @@ if [ $1 -eq 0 ]; then /usr/sbin/alternatives --remove qsub %{_bindir}/qsub-torque fi -%post -n lib%{name} -p /sbin/ldconfig -%postun -n lib%{name} -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %post mom /sbin/chkconfig --add pbs_mom @@ -339,12 +447,17 @@ fi %files %defattr(-, root, root, -) -%doc README.torque torque.setup Release_Notes CHANGELOG PBS_License.txt README-localhost -%config(noreplace) %{torquehomedir}/pbs_environment -%config(noreplace) %{torquehomedir}/server_name -%dir %{torquehomedir} -%{torquehomedir}/aux -%{torquehomedir}/spool +%doc README.torque torque.setup Release_Notes +%doc CHANGELOG PBS_License.txt README.Fedora +%dir %{torquehomedir} +%dir %{torquehomedir}/aux +%dir %{torquehomedir}/spool +%dir %{torquehomedir}/undelivered +%{torquehomedir}/pbs_environment +%{torquehomedir}/server_name +%config(noreplace) %{_sysconfdir}/torque/pbs_environment +%config(noreplace) %{_sysconfdir}/torque/server_name + %files client %defattr(-, root, root, -) @@ -364,25 +477,97 @@ fi %if %{use_tcl} %{_bindir}/pbs_tclsh %endif -%{_mandir}/man1/qsub-torque.1.gz -%{_mandir}/man1/qalter-torque.1.gz -%{_mandir}/man1/qdel-torque.1.gz -%{_mandir}/man1/qhold-torque.1.gz -%{_mandir}/man1/qrls-torque.1.gz -%{_mandir}/man1/qselect-torque.1.gz -%{_mandir}/man1/qstat-torque.1.gz +%{_mandir}/man1/qsub-torque.1.* +%{_mandir}/man1/qalter-torque.1.* +%{_mandir}/man1/qdel-torque.1.* +%{_mandir}/man1/qhold-torque.1.* +%{_mandir}/man1/qrls-torque.1.* +%{_mandir}/man1/qselect-torque.1.* +%{_mandir}/man1/qstat-torque.1.* + %files docs %defattr(-, root, root, -) %doc doc/admin_guide.ps -%{_mandir}/man*/* -%exclude %{_mandir}/man1/qsub-torque.1.gz -%exclude %{_mandir}/man1/qalter-torque.1.gz -%exclude %{_mandir}/man1/qdel-torque.1.gz -%exclude %{_mandir}/man1/qhold-torque.1.gz -%exclude %{_mandir}/man1/qrls-torque.1.gz -%exclude %{_mandir}/man1/qselect-torque.1.gz -%exclude %{_mandir}/man1/qstat-torque.1.gz +%{_mandir}/man1/basl2c.1.* +%{_mandir}/man1/nqs2pbs.1.* +%{_mandir}/man1/pbs.1.* +%{_mandir}/man1/pbsdsh.1.* +%{_mandir}/man1/qchkpt.1.* +%{_mandir}/man1/qmgr.1.* +%{_mandir}/man1/qmove.1.* +%{_mandir}/man1/qmsg.1.* +%{_mandir}/man1/qorder.1.* +%{_mandir}/man1/qrerun.1.* +%{_mandir}/man1/qsig.1.* +%{_mandir}/man1/xpbs.1.* +%{_mandir}/man1/xpbsmon.1.* +%{_mandir}/man3/pbs_alterjob.3.* +%{_mandir}/man3/pbs_connect.3.* +%{_mandir}/man3/pbs_default.3.* +%{_mandir}/man3/pbs_deljob.3.* +%{_mandir}/man3/pbs_disconnect.3.* +%{_mandir}/man3/pbs_geterrmsg.3.* +%{_mandir}/man3/pbs_holdjob.3.* +%{_mandir}/man3/pbs_locate.3.* +%{_mandir}/man3/pbs_manager.3.* +%{_mandir}/man3/pbs_movejob.3.* +%{_mandir}/man3/pbs_msgjob.3.* +%{_mandir}/man3/pbs_orderjob.3.* +%{_mandir}/man3/pbs_rerunjob.3.* +%{_mandir}/man3/pbs_rescquery.3.* +%{_mandir}/man3/pbs_rescreserve.3.* +%{_mandir}/man3/pbs_rlsjob.3.* +%{_mandir}/man3/pbs_runjob.3.* +%{_mandir}/man3/pbs_selectjob.3.* +%{_mandir}/man3/pbs_selstat.3.* +%{_mandir}/man3/pbs_sigjob.3.* +%{_mandir}/man3/pbs_stagein.3.* +%{_mandir}/man3/pbs_statjob.3.* +%{_mandir}/man3/pbs_statnode.3.* +%{_mandir}/man3/pbs_statque.3.* +%{_mandir}/man3/pbs_statserver.3.* +%{_mandir}/man3/pbs_submit.3.* +%{_mandir}/man3/pbs_terminate.3.* +%{_mandir}/man3/rpp.3.* +%{_mandir}/man3/tm.3.* +%{_mandir}/man7/pbs_job_attributes.7.* +%{_mandir}/man7/pbs_queue_attributes.7.* +%{_mandir}/man7/pbs_resources.7.* +%{_mandir}/man7/pbs_resources_aix4.7.* +%{_mandir}/man7/pbs_resources_aix5.7.* +%{_mandir}/man7/pbs_resources_darwin.7.* +%{_mandir}/man7/pbs_resources_digitalunix.7.* +%{_mandir}/man7/pbs_resources_freebsd.7.* +%{_mandir}/man7/pbs_resources_fujitsu.7.* +%{_mandir}/man7/pbs_resources_hpux10.7.* +%{_mandir}/man7/pbs_resources_hpux11.7.* +%{_mandir}/man7/pbs_resources_irix5.7.* +%{_mandir}/man7/pbs_resources_irix6.7.* +%{_mandir}/man7/pbs_resources_irix6array.7.* +%{_mandir}/man7/pbs_resources_linux.7.* +%{_mandir}/man7/pbs_resources_netbsd.7.* +%{_mandir}/man7/pbs_resources_solaris5.7.* +%{_mandir}/man7/pbs_resources_solaris7.7.* +%{_mandir}/man7/pbs_resources_sp2.7.* +%{_mandir}/man7/pbs_resources_sunos4.7.* +%{_mandir}/man7/pbs_resources_unicos8.7.* +%{_mandir}/man7/pbs_resources_unicosmk2.7.* +%{_mandir}/man7/pbs_server_attributes.7.* +%{_mandir}/man8/pbs_mom.8.* +%{_mandir}/man8/pbs_sched.8.* +%{_mandir}/man8/pbs_sched_basl.8.* +%{_mandir}/man8/pbs_sched_cc.8.* +%{_mandir}/man8/pbs_sched_tcl.8.* +%{_mandir}/man8/pbs_server.8.* +%{_mandir}/man8/pbsnodes.8.* +%{_mandir}/man8/qdisable.8.* +%{_mandir}/man8/qenable.8.* +%{_mandir}/man8/qrun.8.* +%{_mandir}/man8/qstart.8.* +%{_mandir}/man8/qstop.8.* +%{_mandir}/man8/qterm.8.* + %if %{build_gui} %files gui @@ -396,11 +581,11 @@ fi %{_datadir}/pixmaps/*.png %endif -%files -n lib%{name} +%files libs %defattr(-, root, root, -) %{_libdir}/*.so.* -%files -n lib%{name}-devel +%files devel %defattr(-, root, root, -) %{_libdir}/*.so %{_includedir}/torque @@ -416,10 +601,14 @@ fi %if %{use_rcp} %attr(4755, root, root) %{_sbindir}/pbs_rcp %endif -%{torquehomedir}/mom_priv/ +%{torquehomedir}/mom_priv %{torquehomedir}/mom_logs %{torquehomedir}/checkpoint %{torquehomedir}/undelivered +%dir %{_var}/log/torque +%dir %{_var}/log/torque/mom_logs +%dir %{_sysconfdir}/torque/mom +%config(noreplace) %{_sysconfdir}/torque/mom/config %files pam %defattr(-, root, root, -) @@ -434,6 +623,12 @@ fi %dir %{torquehomedir}/sched_priv %config(noreplace) %{torquehomedir}/sched_priv/* %{torquehomedir}/sched_logs +%dir %{_var}/log/torque/sched_logs +%dir %{_sysconfdir}/torque/sched +%config(noreplace) %{_sysconfdir}/torque/sched/dedicated_time +%config(noreplace) %{_sysconfdir}/torque/sched/holidays +%config(noreplace) %{_sysconfdir}/torque/sched/resource_group +%config(noreplace) %{_sysconfdir}/torque/sched/sched_config %files server %defattr(-, root, root, -) @@ -441,10 +636,29 @@ fi %attr(0755, root, root) %{_sbindir}/momctl %{_sbindir}/qserverd %{_initrddir}/pbs_server +%dir %{_var}/log/torque/server_logs %{torquehomedir}/server_logs %{torquehomedir}/server_priv + %changelog +* Thu Jul 1 2010 Steve Traylen - 2.4.8-2 +- Set torquehome to /var/lib/torque rather than /var/torque +- Drop provides and obsoletes since never present in Fedora/EPEL. +- Don't use a variable for the description. +- Split install of init.d scripts to build and install sections + as appropriate. +- Mark docs subpackage as noarch. +- Rename libtorque package to more normal torque-libs package. +- Rename libtorque-devel package to more normal torque-devel package. +- Remove the unused epoch and snapshot variables. +- Have mom requires openssh-clients and server openssh-server +- Have mom, sched and server log to /var/log/torque and symlinks +- Move configurtion files to /etc/torque and symlink in expected. +- Be more explicit about man page in the files section. +- Rename README-localhost to README.Fedora to make it more obvious + it's related to this package. + * Wed Jun 2 2010 Tom "spot" Callaway - 2.4.8-1 - update to 2.4.8 - drop static libs