import opensm-3.3.24-2.el9

This commit is contained in:
CentOS Sources 2021-11-03 19:12:00 -04:00 committed by Stepan Oksanichenko
commit 7474ab75b6
9 changed files with 537 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/opensm-3.3.24.tar.gz

1
.opensm.metadata Normal file
View File

@ -0,0 +1 @@
285f447c556b67dc5be1deaaab9294b7a8697317 SOURCES/opensm-3.3.24.tar.gz

44
SOURCES/opensm.launch Normal file
View File

@ -0,0 +1,44 @@
#!/bin/bash
#
# Launch the necessary OpenSM daemons for systemd
#
# sysconfig: /etc/sysconfig/opensm
# config: /etc/rdma/opensm.conf
#
shopt -s nullglob
prog=/usr/sbin/opensm
[ -f /etc/sysconfig/opensm ] && . /etc/sysconfig/opensm
[ -n "$PRIORITY" ] && prio="-p $PRIORITY"
if [ -z "$GUIDS" ]; then
CONFIGS=""
CONFIG_CNT=0
for conf in /etc/rdma/opensm.conf.[0-9]*; do
CONFIGS="$CONFIGS $conf"
let CONFIG_CNT++
done
else
GUID_CNT=0
for guid in $GUIDS; do
let GUID_CNT++
done
fi
# Start opensm
if [ -n "$GUIDS" ]; then
SUBNET_COUNT=0
for guid in $GUIDS; do
SUBNET_PREFIX=`printf "0xfe800000000000%02d" $SUBNET_COUNT`
(while true; do $prog $prio -g $guid --subnet_prefix $SUBNET_PREFIX; sleep 30; done) &
let SUBNET_COUNT++
done
elif [ -n "$CONFIGS" ]; then
for config in $CONFIGS; do
(while true; do $prog $prio -F $config; sleep 30; done) &
done
else
(while true; do $prog $prio; sleep 30; done) &
fi
exit 0

7
SOURCES/opensm.logrotate Normal file
View File

@ -0,0 +1,7 @@
/var/log/opensm.log {
missingok
notifempty
copytruncate
weekly
compress
}

74
SOURCES/opensm.partitions Normal file
View File

@ -0,0 +1,74 @@
# For reference:
# IPv4 IANA reserved multicast addresses:
# http://www.iana.org/assignments/multicast-addresses/multicast-addresses.txt
# IPv6 IANA reserved multicast addresses:
# http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xml
#
# mtu =
# 1 = 256
# 2 = 512
# 3 = 1024
# 4 = 2048
# 5 = 4096
#
# rate =
# 2 = 2.5 GBit/s (SDR 1x)
# 3 = 10 GBit/s (SDR 4x/QDR 1x)
# 4 = 30 GBit/s (SDR 12x)
# 5 = 5 GBit/s (DDR 1x)
# 6 = 20 GBit/s (DDR 4x)
# 7 = 40 GBit/s (QDR 4x)
# 8 = 60 GBit/s (DDR 12x)
# 9 = 80 GBit/s (QDR 8x)
# 10 = 120 GBit/s (QDR 12x)
# If ExtendedLinkSpeeds are supported, then these rate values are valid too
# 11 = 14 GBit/s (FDR 1x)
# 12 = 56 GBit/s (FDR 4x)
# 13 = 112 GBit/s (FDR 8x)
# 14 = 168 GBit/s (FDR 12x)
# 15 = 25 GBit/s (EDR 1x)
# 16 = 100 GBit/s (EDR 4x)
# 17 = 200 GBit/s (EDR 8x)
# 18 = 300 GBit/s (EDR 12x)
Default=0x7fff, rate=3, mtu=4, scope=2, defmember=full:
ALL, ALL_SWITCHES=full;
Default=0x7fff, ipoib, rate=3, mtu=4, scope=2:
mgid=ff12:401b::ffff:ffff # IPv4 Broadcast address
mgid=ff12:401b::1 # IPv4 All Hosts group
mgid=ff12:401b::2 # IPv4 All Routers group
mgid=ff12:401b::16 # IPv4 IGMP group
mgid=ff12:401b::fb # IPv4 mDNS group
mgid=ff12:401b::fc # IPv4 Multicast Link Local Name Resolution group
mgid=ff12:401b::101 # IPv4 NTP group
mgid=ff12:401b::202 # IPv4 Sun RPC
mgid=ff12:601b::1 # IPv6 All Hosts group
mgid=ff12:601b::2 # IPv6 All Routers group
mgid=ff12:601b::16 # IPv6 MLDv2-capable Routers group
mgid=ff12:601b::fb # IPv6 mDNS group
mgid=ff12:601b::101 # IPv6 NTP group
mgid=ff12:601b::202 # IPv6 Sun RPC group
mgid=ff12:601b::1:3 # IPv6 Multicast Link Local Name Resolution group
ALL=full, ALL_SWITCHES=full;
# 40GBit, 4K MTU IPoIB example
#ib0_2=0x0002, rate=7, mtu=5, scope=2, defmember=full:
# ALL, ALL_SWITCHES=full;
#ib0_2=0x0002, ipoib, rate=7, mtu=5, scope=2:
# mgid=ff12:401b::ffff:ffff # IPv4 Broadcast address
# mgid=ff12:401b::1 # IPv4 All Hosts group
# mgid=ff12:401b::2 # IPv4 All Routers group
# mgid=ff12:401b::16 # IPv4 IGMP group
# mgid=ff12:401b::fb # IPv4 mDNS group
# mgid=ff12:401b::fc # IPv4 Multicast Link Local Name Resolution group
# mgid=ff12:401b::101 # IPv4 NTP group
# mgid=ff12:401b::202 # IPv4 Sun RPC
# mgid=ff12:601b::1 # IPv6 All Hosts group
# mgid=ff12:601b::2 # IPv6 All Routers group
# mgid=ff12:601b::16 # IPv6 MLDv2-capable Routers group
# mgid=ff12:601b::fb # IPv6 mDNS group
# mgid=ff12:601b::101 # IPv6 NTP group
# mgid=ff12:601b::202 # IPv6 Sun RPC group
# mgid=ff12:601b::1:3 # IPv6 Multicast Link Local Name Resolution group
# ALL=full, ALL_SWITCHES=full;

1
SOURCES/opensm.rwtab Normal file
View File

@ -0,0 +1 @@
empty /var/cache/opensm

13
SOURCES/opensm.service Normal file
View File

@ -0,0 +1,13 @@
[Unit]
Description=Starts the OpenSM InfiniBand fabric Subnet Manager
Documentation=man:opensm
DefaultDependencies=false
Before=network.target remote-fs-pre.target
After=rdma-hw.target
[Service]
Type=forking
ExecStart=/usr/libexec/opensm-launch
[Install]
WantedBy=network.target

72
SOURCES/opensm.sysconfig Normal file
View File

@ -0,0 +1,72 @@
# Problem #1: Multiple IB fabrics needing a subnet manager
#
# In the event that a machine has more than one IB subnet attached,
# and that machine is an opensm server, by default, opensm will
# only attach to one port and will not manage the fabric on the
# other port. There are two ways to solve this problem:
#
# 1) Start opensm on multiple machines and configure it to manage
# different fabrics on each machine
# 2) Configure opensm to start multiple instances on a single
# machine
#
# Both solutions to this problem require non-standard configurations.
# In other words, you would normally have to modify /etc/rdma/opensm.conf
# and once you do that, the file will no longer be updated for new
# options when opensm is upgraded. In an effort to allow people to
# have more than one subnet managed by opensm without having to modify
# the system default opensm.conf file, we have enabled two methods
# for modifying the default opensm config items needed to enable
# multiple fabric management.
#
# Method #1: Create multiple opensm.conf files in non-standard locations
# Copy /etc/rdma/opensm.conf to /etc/rdma/opensm.conf.<number>
# (do this once for each instance you want started)
# Edit each copy of the opensm.conf file to reflect the necessary changes
# for a multiple instance startup. If you need to manage more than
# one fabric, you will have to change the guid option in each file
# to specify the guid of the specific port you want opensm attached
# to.
#
# The advantage to method #1 is that, on the off chance you want to do
# really special custom things on different ports, like have different
# QoS settings depending on which port you are attached to, you have the
# freedom to edit any and all settings for each instance without those
# changes affecting other instances or being lost when opensm upgrades.
#
# Method #2: Specify multiple GUIDS variable entries in this file
# Uncomment the below GUIDS variable and enter each guid you need to attach
# to into the list. If using this method you need to enter each
# guid into the list as we won't attach to any default ports, only
# those specified in the list.
#
#GUIDS="0x0002c90300048ca1 0x0002c90300048ca2"
#
# The obvious advantage to method #2 is that it's simple and doesn't
# clutter up your file system, but it is far more limited in what you
# can do. If you enable method #2, then even if you create the files
# referenced in method #1, they will be ignored.
#
# Problem #2: Activating a backup subnet manager
#
# The default priority of opensm is set so that it wants to be the
# primary subnet manager. This is great when you are only running
# opensm on one server, but if you want to have a non-primary opensm
# instance for failover, then you have to manually edit the opensm.conf
# file like for problem #1. This carries with it all the problems
# listed above. If you wish to enable opensm as a non-primary manager,
# then you can uncomment the PRIORITY variable below and set it to
# some number between 0 and 15, where 15 is the highest priority and
# the primary manager, with 0 being the lowest backup server. This method
# will work with the GUIDS option above, and also with the multiple
# config files in method #1 above. However, only a single priority is
# supported here. If you wanted more than one priority (say this machine
# is the primary on the first fabric, and second on the second fabric,
# while the other opensm server is primary on the second fabric and
# second on the primary), then the only way to do that is to use method #1
# above and individually edit the config files. If you edit the config
# files to set the priority and then also set the priority here, then
# this setting will override the config files and render that particular
# edit useless.
#
#PRIORITY=15

324
SPECS/opensm.spec Normal file
View File

@ -0,0 +1,324 @@
%global __remake_config 1
Name: opensm
Version: 3.3.24
Release: 2%{?dist}
Summary: OpenIB InfiniBand Subnet Manager and management utilities
License: GPLv2 or BSD
Url: https://github.com/linux-rdma/opensm
Source0: https://github.com/linux-rdma/opensm/releases/download/%{version}/%{name}-%{version}.tar.gz
Source2: opensm.logrotate
Source4: opensm.sysconfig
Source5: opensm.service
Source6: opensm.launch
Source7: opensm.rwtab
Source8: opensm.partitions
BuildRequires: make
BuildRequires: gcc
BuildRequires: libibumad-devel, systemd, systemd-units
BuildRequires: bison, flex, byacc
%if %{__remake_config}
BuildRequires: libtool, autoconf, automake
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}, logrotate, rdma
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# RDMA is not currently built on 32-bit ARM: #1484155
ExcludeArch: s390 %{arm}
%description
OpenSM is the OpenIB project's Subnet Manager for Infiniband networks.
The subnet manager is run as a system daemon on one of the machines in
the infiniband fabric to manage the fabric's routing state. This package
also contains various tools for diagnosing and testing Infiniband networks
that can be used from any machine and do not need to be run on a machine
running the opensm daemon.
%package libs
Summary: Libraries used by opensm and included utilities
%description libs
Shared libraries for Infiniband user space access
%package devel
Summary: Development files for the opensm-libs libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
Development environment for the opensm libraries
%package static
Summary: Static version of the opensm libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
Static version of opensm libraries
%prep
%setup -q
%build
%if %{__remake_config}
./autogen.sh
%endif
%configure --with-opensm-conf-sub-dir=rdma
%make_build
cd opensm
./opensm -c ../opensm-%{version}.conf
%install
%make_install
# remove unpackaged files from the buildroot
rm -f %{buildroot}%{_libdir}/*.la
rm -fr %{buildroot}%{_sysconfdir}/init.d
install -D -m644 opensm-%{version}.conf %{buildroot}%{_sysconfdir}/rdma/opensm.conf
install -D -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/opensm
install -D -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/opensm
install -D -m644 %{SOURCE5} %{buildroot}%{_unitdir}/opensm.service
install -D -m755 %{SOURCE6} %{buildroot}%{_libexecdir}/opensm-launch
install -D -m644 %{SOURCE7} %{buildroot}%{_sysconfdir}/rwtab.d/opensm
install -D -m644 %{SOURCE8} %{buildroot}%{_sysconfdir}/rdma/partitions.conf
mkdir -p ${RPM_BUILD_ROOT}/var/cache/opensm
%post
%systemd_post opensm.service
%preun
%systemd_preun opensm.service
%postun
if [ -d /var/cache/opensm ]; then
rm -fr /var/cache/opensm
fi
%systemd_postun_with_restart opensm.service
%ldconfig_scriptlets libs
%files
%dir /var/cache/opensm
%{_sbindir}/*
%{_mandir}/*/*
%{_unitdir}/*
%{_libexecdir}/*
%config(noreplace) %{_sysconfdir}/logrotate.d/opensm
%config(noreplace) %{_sysconfdir}/rdma/opensm.conf
%config(noreplace) %{_sysconfdir}/rdma/partitions.conf
%config(noreplace) %{_sysconfdir}/sysconfig/opensm
%{_sysconfdir}/rwtab.d/opensm
%doc AUTHORS ChangeLog INSTALL README NEWS
%license COPYING
%files libs
%{_libdir}/lib*.so.*
%files devel
%{_libdir}/lib*.so
%{_includedir}/infiniband
%files static
%{_libdir}/lib*.a
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.24-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 16 2021 Honggang Li <honli@redhat.com> - 3.3.24-1
- Rebase opensm to latest upstream release 3.3.24
- Resolves: bz1961963
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.23-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.23-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Dec 10 2020 Timm Bäder <tbaeder@redhat.com> 3.3.23.5
- Use make macros
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make
* Thu Dec 10 2020 Honggang Li <honli@redhat.com> - 3.3.23-4
- opensm service should after rdma-hw.target
* Thu Oct 29 2020 Honggang Li <honli@redhat.com> -3.3.23-3
- Update systemd service file
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Mar 16 2020 Honggang Li <honli@redhat.com> - 3.3.23-1
- Rebase opensm to latest upstream release 3.3.23
- Resolves: bz1813779
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.22-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 17 2019 Honggang Li <honli@redhat.com> - 3.3.22-1
- Rebase opensm to latest upstream release 3.3.22
- Resolves: bz1700766
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 21 2019 Honggang Li <honli@redhat.com> - 3.3.21-2
- Restore the subnet prefix patch
- Resolves: bz1663785
* Mon Oct 8 2018 Honggang Li <honli@redhat.com> - 3.3.21-1
- Rebase opensm to latest upstream release 3.3.21
- Resolves: bz1637260
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Feb 1 2018 Honggang Li <honli@redhat.com> - 3.3.20-7
- Fix BuildRequires
- Fix preuninstall script
- Resolves: bz1540934
* Mon Aug 28 2017 Honggang Li <honli@redhat.com> - 3.3.20-6
- Add support for s309x
* Sat Aug 26 2017 Honggang Li <honli@redhat.com> - 3.3.20-5
- Disable support for ARM32.
- Resolves: bz1484155
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jun 10 2016 Honggang Li <honli@redhat.com> - 3.3.20-1
- Update to latest upstream release
- Resolves: bz1344691
* Wed Mar 16 2016 Doug Ledford <dledford@redhat.com> - 3.3.19-1
- Update to latest upstream release
- Incorporate features from RHEL opensm
- Resolves: bz1124202
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.17-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 29 2014 Michael Schwendt <mschwendt@fedoraproject.org> - 3.3.17-2
- Don't include manual page directories (#1089412).
- Use standard group Development/Libraries in library devel packages.
- Use %%?_isa in base package dependencies.
* Mon Mar 17 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.3.17-1
- Update to 3.3.17
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.15-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Mar 25 2013 Doug Ledford <dledford@redhat.com> - 3.3.15-6
- Oops, forgot to remove the -B option to opensm when starting it
* Mon Mar 25 2013 Doug Ledford <dledford@redhat.com> - 3.3.15-5
- Drop the old sysv init script
- Fix opensm-launch to restart opensm in a loop. This works around the
fact that systemd starts opensm so early that we very well might not have
sync on the link yet. Without the physical link being up, opensm exits
immediately. This way opensm will get restarted every 30 seconds until
sync is active on the link or until the opensm service is stopped.
- Always install the newly generated opensm-%%{version}.conf as opensm.conf
- Make the launch work properly in the event that no GUIDs are set and
there are no numbered config files
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.15-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Dec 05 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-3
- Fix startup on read only root
- Update default config file
- Resolves: bz817591
* Wed Dec 05 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-2
- More tweaks to systemd setup (proper scriptlets now)
- More tweaks to old sysv init script support (fix Requires)
* Tue Nov 27 2012 Doug Ledford <dledford@redhat.com> - 3.3.15-1
- Update to latest upstream release
- Update to systemd startup
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Mar 13 2012 Doug Ledford <dledford@redhat.com> - 3.3.13-2
- Fix the config file comment in the opensm init script
- Resolves: bz802727
* Tue Feb 28 2012 Doug Ledford <dledford@redhat.com> - 3.3.13-1
- Update to latest upstream version
- Fix a minor issue in init scripts that would cause systemd to try and
start/stop things in the wrong order
- Add a patch to allow us to specify the subnet prefix on the command line
* Tue Jan 03 2012 Doug Ledford <dledford@redhat.com> - 3.3.12-1
- Update to latest upstream version
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> - 3.3.9-2
- Rebuilt for rpm bug #728707
* Wed Jul 20 2011 Doug Ledford <dledford@redhat.com> - 3.3.9-1
- Update to latest upstream version
- Add /etc/sysconfig/opensm for use by opensm init script
- Enable the ability to start more than one instance of opensm for multiple
fabric support
- Enable the ability to start opensm with a priority other than default for
support of backup opensm instances
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Mar 08 2010 Doug Ledford <dledford@redhat.com> - 3.3.5-1
- Update to latest upstream release. We need various defines in ib_types.h
for the latest ibutils package to build properly, and the latest ibutils
package is needed because we found licensing problems in the older
tarballs during review.
* Mon Jan 11 2010 Doug Ledford <dledford@redhat.com> - 3.3.3-2
- ExcludeArch s390(x) as there's no hardware support there
* Thu Dec 03 2009 Doug Ledford <dledford@redhat.com> - 3.3.3-1
- Update to latest upstream release
- Minor tweaks to init script for LSB compliance
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Jul 20 2009 Doug Ledford <dledford@redhat.com> - 3.3.2-1
- Update to latest upstream version
* Wed Apr 22 2009 Doug Ledford <dledford@redhat.com> - 3.3.1-1
- Update to latest upstream version
* Fri Mar 06 2009 Caolán McNamara <caolanm@redhat.com> - 3.2.1-3
- fix bare elifs to rebuild
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sun Jun 08 2008 Doug Ledford <dledford@redhat.com> - 3.2.1-1
- Initial package for Fedora review process