Ticket 17900

Summary: Add "--with freeipmi" option to slurm.spec
Product: Slurm Reporter: Ole.H.Nielsen <Ole.H.Nielsen>
Component: Build System and PackagingAssignee: Tim McMullan <mcmullan>
Status: RESOLVED FIXED QA Contact:
Severity: C - Contributions    
Priority: ---    
Version: 23.02.6   
Hardware: Linux   
OS: Linux   
Site: DTU Physics Alineos Sites: ---
Atos/Eviden Sites: --- Confidential Site: ---
Coreweave sites: --- Cray Sites: ---
DS9 clusters: --- HPCnow Sites: ---
HPE Sites: --- IBM Sites: ---
NOAA SIte: --- NoveTech Sites: ---
Nvidia HWinf-CS Sites: --- OCF Sites: ---
Recursion Pharma Sites: --- SFW Sites: ---
SNIC sites: --- Linux Distro: ---
Machine Name: CLE Version:
Version Fixed: 23.11.0rc1 Target Release: ---
DevPrio: --- Emory-Cloud Sites: ---
Attachments: slurm.spec diff file
bug17900 23.11 (v1)

Description Ole.H.Nielsen@fysik.dtu.dk 2023-10-13 05:33:00 MDT
In bug 17706 we have requested documentation of the freeipmi library as a prerequisite for the acct_gather_energy/IPMI plugin.

I would like to propose a contribution where we can explicitly build RPM packages that must include the freeipmi library:

$ rpmbuild -ta <tar-ball> --with freeipmi

The attached patch to slurm.spec enables a dependency check for the freeipmi libraries:

$ rpmbuild -bb slurm.spec --with freeipmi
warning: Macro expanded in comment on line 22: %_prefix path		install path for commands, libraries, etc.

warning: Macro expanded in comment on line 191: %define _unpackaged_files_terminate_build      0

error: Failed build dependencies:
	freeipmi >= 1.5.7 is needed by slurm-23.02.6-1.el8.x86_64
	freeipmi-devel >= 1.5.7 is needed by slurm-23.02.6-1.el8.x86_64

The freeipmi version 1.5.7 is included in CentOS 7, whereas RHEL 8 has 1.6.8.  Due to the issue discussed in bug 17639 a freeipmi development version 1.7.0 may possibly be required in the future as described in bug 17639 comment 51.

Not being an expert on SPEC files, my patch needs to be evaluated for conformance with the design of slurm.spec.

Thanks,
Ole
Comment 1 Ole.H.Nielsen@fysik.dtu.dk 2023-10-13 05:33:25 MDT
Created attachment 32739 [details]
slurm.spec diff file
Comment 2 Tim McMullan 2023-10-13 14:35:26 MDT
Created attachment 32747 [details]
bug17900 23.11 (v1)
Comment 3 Tim McMullan 2023-10-13 14:37:58 MDT
Thanks Ole!

I've attached a revised version that I think covers all the bases in patch form.  I'm not comfortable putting a version requirement on there based on CentOS 7 since the version may have changed over its history, and we have various older versions of OpenSUSE/SLES to contend with that seem to go much older than CentOS 7.

Let me know what you think, but if you are happy with this I can get this pushed!
Thanks again!
--Tim
Comment 4 Ole.H.Nielsen@fysik.dtu.dk 2023-10-14 03:19:46 MDT
Hi Tim,

(In reply to Tim McMullan from comment #3)
> I've attached a revised version that I think covers all the bases in patch
> form.  I'm not comfortable putting a version requirement on there based on
> CentOS 7 since the version may have changed over its history, and we have
> various older versions of OpenSUSE/SLES to contend with that seem to go much
> older than CentOS 7.

OK, that makes sense.  CentOS/RHEL 7 will go EOL in June 2024.  For OpenSUSE versions I see EOL dates at https://endoflife.date/opensuse and for SLES https://endoflife.date/sles

> Let me know what you think, but if you are happy with this I can get this
> pushed!

I tested the patch on my EL8 PC with the 23.02.6 tar-ball.  I had to patch hunk #2 manually because of the with_yaml line added in 23.11, and then the build worked as expected.

It would be great if you could add this patch to 23.11!

Thanks a lot,
Ole
Comment 5 Tim McMullan 2023-10-14 04:34:03 MDT
Thanks you for your contribution Ole!

I've pushed this patch and it should be included in 23.11.0 - https://github.com/SchedMD/slurm/commit/ccde6dcd6e

Thanks again!
--Tim