Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 183540 - sys-cluster/moab-5.1.0_p5 (New package)
Summary: sys-cluster/moab-5.1.0_p5 (New package)
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2007-06-28 15:28 UTC by Justin Bronder (RETIRED)
Modified: 2009-06-20 22:17 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
moab-5.1.0_p5.ebuild (moab-5.1.0_p5.ebuild,2.23 KB, text/plain)
2007-06-28 15:29 UTC, Justin Bronder (RETIRED)
Details
moab-init.d (moab-init.d,397 bytes, text/plain)
2007-06-28 15:30 UTC, Justin Bronder (RETIRED)
Details
25moab (env.d) (25moab,233 bytes, text/plain)
2007-06-28 15:31 UTC, Justin Bronder (RETIRED)
Details
moab-5.1.0_p5.ebuild (moab-5.1.0_p5.ebuild,2.24 KB, text/plain)
2007-06-29 15:11 UTC, Justin Bronder (RETIRED)
Details
moab-init.d (moab-init.d,466 bytes, text/plain)
2007-07-05 19:40 UTC, Justin Bronder (RETIRED)
Details
moab-5.1.0_p5.ebuild (moab-5.1.0_p5.ebuild,2.42 KB, text/plain)
2007-07-05 19:43 UTC, Justin Bronder (RETIRED)
Details
moab-license.patch (moab-license.patch,278 bytes, patch)
2007-07-06 17:36 UTC, Justin Bronder (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Bronder (RETIRED) gentoo-dev 2007-06-28 15:28:52 UTC
Moab is the commercial HPC-scheduler offered by Cluster Resources (the same people who release Maui).  This package does require a new license, and has fetch restriction set.  When dealing with a larger site, Moab has a number of enhacements over Maui.

Tested and being used on ppc64 and ppc.  I'll check on x86 and amd64 soon.
Comment 1 Justin Bronder (RETIRED) gentoo-dev 2007-06-28 15:29:51 UTC
Created attachment 123321 [details]
moab-5.1.0_p5.ebuild
Comment 2 Justin Bronder (RETIRED) gentoo-dev 2007-06-28 15:30:36 UTC
Created attachment 123323 [details]
moab-init.d
Comment 3 Justin Bronder (RETIRED) gentoo-dev 2007-06-28 15:31:34 UTC
Created attachment 123325 [details]
25moab (env.d)
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2007-06-29 03:04:57 UTC
Overall looks good. Small issues and nitpicks:


ebuild:

		myconf="--with-key=$(cat  /var/spool/moab/.moab.key)"

You should use paths relative to ${ROOT} in cases like these. Also use $(< rather than $(cat

init script:

Your stop() function always returns success. Can you adapt it to use s-s-d?

env.d file:

can you explain why this is needed, and what effect it has?
Comment 5 Justin Bronder (RETIRED) gentoo-dev 2007-06-29 14:54:38 UTC
(In reply to comment #4)
> You should use paths relative to ${ROOT} in cases like these. Also use $(<
> rather than $(cat

Will fix that, thanks.
 
> init script:
> 
> Your stop() function always returns success. Can you adapt it to use s-s-d?

If mschedctl fails, it doesn't return 1, and this is the preferred way to shutdown moab.  Should I add start-stop-daemon if the mschedctl command fails? 

> env.d file:
> 
> can you explain why this is needed, and what effect it has?

Moab stores it's configuration files in /var/spool/moab rather than /etc.  I basically emulated the Torque ebuild, as Torque behaves the same way.  Is this unecessary?


Comment 6 Justin Bronder (RETIRED) gentoo-dev 2007-06-29 15:11:48 UTC
Created attachment 123400 [details]
moab-5.1.0_p5.ebuild
Comment 7 Daniel Drake (RETIRED) gentoo-dev 2007-07-05 15:58:57 UTC
ebuild:
	if [ -f /var/spool/moab/.moab.key ]; then
still need ${ROOT} there

(In reply to comment #5)
> If mschedctl fails, it doesn't return 1, and this is the preferred way to
> shutdown moab.  Should I add start-stop-daemon if the mschedctl command fails? 

How do you know if it fails if it always returns 0? :)
Perhaps you could look at the mschedctl code. Maybe it's just a glorified script which runs kill (in which case it's easy to replace by s-s-d).

Otherwise, perhaps you can patch it to return a meaningful exit code, and fall back on s-s-d if it fails. Or maybe you can just run both, but you'll have to test how s-s-d behaves if you ask it to stop a process that has already gone away.

> Moab stores it's configuration files in /var/spool/moab rather than /etc.  I
> basically emulated the Torque ebuild, as Torque behaves the same way.  Is this
> unecessary?

And you expect the user to modify these config files in some conditions? If so, the env.d file is fine.
Comment 8 Justin Bronder (RETIRED) gentoo-dev 2007-07-05 19:36:26 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > If mschedctl fails, it doesn't return 1, and this is the preferred way to
> > shutdown moab.  Should I add start-stop-daemon if the mschedctl command fails? 
> 
> How do you know if it fails if it always returns 0? :)
> Perhaps you could look at the mschedctl code. Maybe it's just a glorified
> script which runs kill (in which case it's easy to replace by s-s-d).

That was a typo above, it does return 1 on failure, at least in the cases I tested.  However, they are catching the TERM signal and shutting down in the same manner, so using start-stop-daemon will have the same effect.

> > Moab stores it's configuration files in /var/spool/moab rather than /etc.  I
> > basically emulated the Torque ebuild, as Torque behaves the same way. 
> 
> And you expect the user to modify these config files in some conditions? If so,
> the env.d file is fine.
> 

In nearly all conditions I suspect the files will be modified.  Otherwise one shouldn't be paying Cluster Resources for Moab's functionality!
Comment 9 Justin Bronder (RETIRED) gentoo-dev 2007-07-05 19:40:03 UTC
Created attachment 123995 [details]
moab-init.d

Using start-stop-daemon, and added a pause when restarting (Moab takes a little while to shutdown).
Comment 10 Justin Bronder (RETIRED) gentoo-dev 2007-07-05 19:43:08 UTC
Created attachment 123997 [details]
moab-5.1.0_p5.ebuild

Added some directories that weren't being created, $ROOT when checking for key file, and suid use flag (is this the preferred way?) to handle adding the setuid bit on /usr/bin/mauth, which allows regular users to read the .moab.key file in order to submit and query jobs.
Comment 11 Alan Mosca 2007-07-06 15:27:05 UTC
IMO you might want to add a check_license and/or a warning about it being an evaluation unless they put the license file in the right place (if they have one).

(In reply to comment #10)
> Created an attachment (id=123997) [edit]
> moab-5.1.0_p5.ebuild
> 
> Added some directories that weren't being created, $ROOT when checking for key
> file, and suid use flag (is this the preferred way?) to handle adding the
> setuid bit on /usr/bin/mauth, which allows regular users to read the .moab.key
> file in order to submit and query jobs.
> 

Comment 12 Justin Bronder (RETIRED) gentoo-dev 2007-07-06 17:36:46 UTC
Created attachment 124076 [details, diff]
moab-license.patch

Alan was correct, we need a license check.  I've added such, assuming that we can put moab into /usr/portage/licenses.  It should be noted that to even get the package download, one has to agree to this already I believe (I know I did).

I can upload the license too if necessary.
Comment 13 Daniel Drake (RETIRED) gentoo-dev 2007-07-17 02:39:44 UTC
ebuild stylistic nitpick:
	for i in $homedirs; do

${homedirs} please

Latest init.d version has some indentation oddities.

Is the restart()/sleep hack really needed in all these init scripts?

No need to repost any of the above. Looks good to me otherwise.
Comment 14 Justin Bronder (RETIRED) gentoo-dev 2009-06-20 22:17:42 UTC
Well, I changed jobs and no longer have access to Moab.  Closing, but feel free to reopen if you want to proxy maintain.