Bug 3396

Summary: Overhaul slurm.spec file
Product: Slurm Reporter: Tim Wickberg <tim>
Component: OtherAssignee: Tim Wickberg <tim>
Status: RESOLVED FIXED QA Contact:
Severity: 4 - Minor Issue    
Priority: --- CC: adam.huffman, alex, dmjacobsen, Ole.H.Nielsen
Version: 17.11.x   
Hardware: Linux   
OS: Linux   
See Also: https://bugs.schedmd.com/show_bug.cgi?id=2768
Site: SchedMD Alineos Sites: ---
Bull/Atos Sites: --- Confidential Site: ---
Cray Sites: --- HPCnow Sites: ---
HPE Sites: --- IBM Sites: ---
NOAA SIte: --- OCF Sites: ---
SFW Sites: --- SNIC sites: ---
Linux Distro: --- Machine Name:
CLE Version: Version Fixed: 17.11.0-rc1
Target Release: 17.11 DevPrio: 2 - Vital

Description Tim Wickberg 2017-01-12 11:30:32 MST
Overhaul slurm.spec:

Remove old and infrequently used build options.

Remove init script support entirely, and properly handle systemd service files

Explicitly require munge, and collapse in to main packages

Change package layouts to better reflect usage:

- slurm: user commands, plugins, docs
- slurmd: slurmd binary, service file
- slurmctld: slurmctld binary, service file
- slurmdbd: slurmdbd binary, service file

Notably, collapse and remove slurm-auth-none slurm-lua slurm-munge slurm-plugins slurm-sql; building these separately after-the-fact is rarely done, and the distinction between all the components leads to most sites installing everything to avoid trying to decide which are relevant.

Other potential fixes - switch to bcond_with macro instead of home-grown slurm-with macros.
Comment 1 Tim Wickberg 2017-01-12 11:33:16 MST
Preliminary work is contained on the 'spec' branch on github, although that is still an untested work in progress at this point.

It does capture the intent of moving the existing spec file to 'slurm-legacy.spec' and continuing to ship that alongside a revised version.

As the 17.02 release is too soon to thoroughly test these changes, this will need to wait for 17.11. Although that revised spec file could be used earlier if desired.
Comment 2 Ole.H.Nielsen@fysik.dtu.dk 2017-01-13 06:21:12 MST
(In reply to Tim Wickberg from comment #0)
> Overhaul slurm.spec:
> 
> Remove old and infrequently used build options.
> 
> Remove init script support entirely, and properly handle systemd service
> files
> 
> Explicitly require munge, and collapse in to main packages
> 
> Change package layouts to better reflect usage:
> 
> - slurm: user commands, plugins, docs
> - slurmd: slurmd binary, service file
> - slurmctld: slurmctld binary, service file
> - slurmdbd: slurmdbd binary, service file
> 
> Notably, collapse and remove slurm-auth-none slurm-lua slurm-munge
> slurm-plugins slurm-sql; building these separately after-the-fact is rarely
> done, and the distinction between all the components leads to most sites
> installing everything to avoid trying to decide which are relevant.

I agree that the number of RPMs may be a bit confusing.  FWIW, my conclusions about which RPMs are needed on master, compute or database nodes are documented here: https://wiki.fysik.dtu.dk/niflheim/Slurm_installation#installing-rpms
Comment 3 Adam Huffman 2017-07-09 22:47:11 MDT
Is there any plan to include fixes for the hardened build problems reported in https://bugs.schedmd.com/show_bug.cgi?id=2443 ?
Comment 4 Tim Wickberg 2017-09-08 10:35:23 MDT
*** Bug 2768 has been marked as a duplicate of this bug. ***
Comment 5 Tim Wickberg 2017-09-26 15:20:47 MDT
*** Bug 4189 has been marked as a duplicate of this bug. ***
Comment 8 Tim Wickberg 2017-10-12 01:41:12 MDT
The overhaul is now done. 39 patches later, and a net loss of 400 lines, and I'm now happy with where it's at.

I'd encourage folks to test it out in your own environments. I've been testing on CentOS7 and SuSE12 (CLE6) with no immediate problems, but there may be one or two things that have slipped through.

Please let me know if you see any new problems. (Notably, FORTIFY_SOURCE commentary should stay over on bug 4014; all I'll say is that we're still working on that internally.)

- Tim

The RELEASE_NOTES update outlines the changes:

NOTE: The slurm.spec file used to build RPM packages has been aggressively
      refactored, and some package names may now be different. Notably,
      the three daemons (slurmctld, slurmd/slurmstepd, slurmdbd) each
      have their own separate package with the binary and the appropriate
      systemd service file, which will be installed automatically (but
      not enabled).
      The slurm-plugins, slurm-munge, and slurm-lua package has been removed,
      and the contents moved in to the main slurm package.
      The slurm-sql package has been removed, and merged in with the slurm
      (job_comp_mysql.so) and slurm-slurmdbd (accounting_storage_mysql)
      packages.
      The example configuration files have been moved to slurm-example-configs.
Comment 9 Tim Wickberg 2017-10-26 20:01:51 MDT
Marking resolved.