forked from pool/slurm
Accepting request 1031255 from network:cluster
- Test Suite fixes: * Update README_Testsuite.md. * Clean up left over files when de-installing test suite. * Adjustment to test suite package: for SLE mark the openmpi4 devel package and slurm-hdf5 optional. * Add -ffat-lto-objects to the build flags when LTO is set to make sure the object files we ship with the test suite still work correctly. * Improve setup-testsuite.sh: copy ssh fingerprints from all nodes. - set environment variable SUSE_ZNOW to 0 in %build to avoid module load failures due to unresolved symbols as module take advantage of lazy bindings (bsc#1200030). OBS-URL: https://build.opensuse.org/request/show/1031255 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/slurm?expand=0&rev=80
This commit is contained in:
commit
30dd030610
@ -22,12 +22,8 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
|
||||
## Install and set up the Base System
|
||||
|
||||
1. Prepare image with a minimal minimal text mode installation.
|
||||
2. Add NFS kernel server support:
|
||||
```
|
||||
# zypper install nfs-kernel-server
|
||||
```
|
||||
3. Install, enable and start sshd and make sure root is able to log in
|
||||
1. Prepare image with a minimal text mode installation.
|
||||
2. Install, enable and start sshd and make sure root is able to log in
|
||||
without password across all nodes.
|
||||
```
|
||||
# zypper install openssh-server openssh-clients
|
||||
@ -35,18 +31,18 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
# ssh-keygen -t rsa -f .ssh/id_rsa -N
|
||||
# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
|
||||
```
|
||||
4. Create a test user 'auser' allow ssh from/to root:
|
||||
3. Create a test user 'auser' allow ssh from/to root:
|
||||
```
|
||||
# useradd -m auser
|
||||
# cp -r /root/.ssh /home/auser
|
||||
```
|
||||
5. Set up a persistent network if to obtain the network address and
|
||||
4. Set up a persistent network if to obtain the network address and
|
||||
hostname thru DHCP:
|
||||
```
|
||||
# echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", '\
|
||||
'ATTR{address}=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1",'\
|
||||
' KERNEL=="?*", NAME="lan0"
|
||||
# cat > root/etc/sysconfig/network/ifcfg-lan0 <<EOF
|
||||
' KERNEL=="?*", NAME="lan0" >> /etc/udev/rules.d/70-persistent-net.rules
|
||||
# cat > /etc/sysconfig/network/ifcfg-lan0 <<EOF
|
||||
BOOTPROTO='dhcp'
|
||||
MTU=''
|
||||
REMOTE_IPADDR=''
|
||||
@ -59,21 +55,20 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
## Install and set up the Slurm specific Environment
|
||||
|
||||
1. Install package slurm-testsuite.
|
||||
2. Set up, enable mariadb, add slurm accounting database:
|
||||
2. Set up, enable & start mariadb, add slurm accounting database:
|
||||
|
||||
```
|
||||
# sed -i -e "/^bind-address/s@\(^.*$\)@# \1@" /etc/my.cnf
|
||||
# systemctl start maridb
|
||||
# systemctl start mariadb
|
||||
# mysql -uroot -e "create user 'slurm'@'node01' identified by 'linux';"
|
||||
# mysql -uroot -e "create database slurm_acct_db;"
|
||||
# mysql -uroot -e "grant all on slurm_acct_db.* TO 'slurm'@'node01';"
|
||||
```
|
||||
3. Set up shared home, testsuite and slurm config directories, enable
|
||||
NFS server:
|
||||
3. Set up shared home, testsuite and slurm config directories, install and
|
||||
enable NFS kernel server.
|
||||
```
|
||||
# mkdir -p /srv/home
|
||||
# mv /home/auser /srv/home
|
||||
# mkdir /home/slurm-testsuite
|
||||
# chown slurm:slurm /home/slurm-testsuite
|
||||
# cat >> /etc/exports <<EOF
|
||||
/srv/home *(rw,no_subtree_check,sync,no_root_squash)
|
||||
/srv/slurm-testsuite *(rw,no_subtree_check,sync,no_root_squash)
|
||||
@ -85,9 +80,16 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
node01:/srv/slurm-testsuite/config /etc/slurm nfs sync,hard,rw 0 0
|
||||
node01:/srv/slurm-testsuite/shared /var/lib/slurm/shared nfs sync,hard,rw 0 0
|
||||
node01:/srv/slurm-testsuite /home/slurm-testsuite nfs sync,hard,rw 0 0
|
||||
EOF
|
||||
# zypper install nfs-kernel-server
|
||||
# systemctl enable nfs-server
|
||||
|
||||
```
|
||||
4. Enable munge and slurmd:
|
||||
```
|
||||
# systemctl enable munge
|
||||
# systemctl enable slurmd
|
||||
```
|
||||
|
||||
# Clone Nodes and bring up Test System
|
||||
|
||||
1. Now halt the system and duplicate it 3 times.
|
||||
@ -95,13 +97,8 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
2. Set up the dhcp server and make sure the nodes receive the hostnames
|
||||
``node01```,..., ```node04```.
|
||||
|
||||
3. Enable munge and slurmd:
|
||||
```
|
||||
# systemctl enable munge
|
||||
# systemctl enable slurmd
|
||||
```
|
||||
|
||||
4. Boot all 4 nodes (start with ```node01```).
|
||||
|
||||
5. On ```node01```, log in as ```root``` and run ```setup-testsuite.sh```:
|
||||
```
|
||||
# ./setup-testsuite.sh
|
||||
@ -110,7 +107,7 @@ For tests involving MPI this test suite currently uses OpenMPI version 4.
|
||||
```
|
||||
# sudo -s -u slurm
|
||||
$ module load gnu openmpi
|
||||
$ cd /home/test/home/slurm-testsuite/testsuite/expect
|
||||
$ cd /home/slurm-testsuite/testsuite/expect
|
||||
$ ./regression.py
|
||||
```
|
||||
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 21 15:14:30 UTC 2022 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Test Suite fixes:
|
||||
* Update README_Testsuite.md.
|
||||
* Clean up left over files when de-installing test suite.
|
||||
* Adjustment to test suite package: for SLE mark the openmpi4
|
||||
devel package and slurm-hdf5 optional.
|
||||
* Add -ffat-lto-objects to the build flags when LTO is set to
|
||||
make sure the object files we ship with the test suite still
|
||||
work correctly.
|
||||
* Improve setup-testsuite.sh: copy ssh fingerprints from all nodes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 14 08:49:24 UTC 2022 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
@ -106,6 +119,9 @@ Tue May 31 12:56:05 UTC 2022 - Christian Goll <cgoll@suse.com>
|
||||
"bf_licenses" option in SchedulerParameters.
|
||||
- removed file slurm-2.4.4-init.patch as sysvinit is now realy deprecated
|
||||
- removed file load-pmix-major-version.patch as fixed upstream
|
||||
- set environment variable SUSE_ZNOW to 0 in %build to avoid module load
|
||||
failures due to unresolved symbols as module take advantage of lazy
|
||||
bindings (bsc#1200030).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 10 10:26:02 UTC 2022 - Egbert Eich <eich@suse.com>
|
||||
|
20
slurm.spec
20
slurm.spec
@ -576,6 +576,9 @@ Group: Productivity/Clustering/Computing
|
||||
Plugins for specific cray hardware, includes power and knl node management.
|
||||
Contains also cray specific documentation.
|
||||
|
||||
# Certain packages are not shipped with SLE.
|
||||
%define ts_depends %{?sle_version:Recommends}%{!?sle_version:Requires}
|
||||
|
||||
%package testsuite
|
||||
Summary: Regression tests from Slurm sources
|
||||
Group: Productivity/Clustering/Computing
|
||||
@ -583,7 +586,7 @@ Requires: %{name} = %version
|
||||
Requires: %{name}-auth-none = %version
|
||||
Requires: %{name}-cray = %version
|
||||
Requires: %{name}-devel = %version
|
||||
Requires: %{name}-hdf5 = %version
|
||||
%{?have_hdf5:%ts_depends: %{name}-hdf5 = %version}
|
||||
Requires: %{name}-lua = %version
|
||||
Requires: %{name}-munge = %version
|
||||
Requires: %{name}-node = %version
|
||||
@ -596,11 +599,12 @@ Requires: %{name}-sql = %version
|
||||
Requires: %{name}-torque = %version
|
||||
Requires: mariadb
|
||||
%{?with_pmix:Requires: pmix-devel}
|
||||
Requires: bind-utils
|
||||
Requires: bzip2
|
||||
Requires: expect
|
||||
Requires: gcc-c++
|
||||
Requires: libnuma-devel
|
||||
Requires: openmpi4-gnu-hpc-devel
|
||||
%ts_depends: openmpi4-gnu-hpc-devel
|
||||
Requires: pdsh
|
||||
Requires: perl-%{name} = %version
|
||||
Requires: sudo
|
||||
@ -641,6 +645,14 @@ mkdir -p mybin; ln -s /usr/bin/python2 mybin/python3
|
||||
# needed as slurm works that way bsc#1200030
|
||||
export SUSE_ZNOW=0
|
||||
|
||||
# To make stripped object files work which we ship in the
|
||||
# testsuite package we need to build with -ffat-lto-objects.
|
||||
# This should not affect anything as we do not ship static
|
||||
# libraries and object files - except for the testsuite.
|
||||
%if "%{?_lto_cflags}" != ""
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
%endif
|
||||
|
||||
autoreconf
|
||||
[ -e $(pwd)/mybin ] && PATH=$(pwd)/mybin:$PATH
|
||||
%configure --enable-shared \
|
||||
@ -1055,7 +1067,9 @@ rm -rf /srv/slurm-testsuite/src /srv/slurm-testsuite/testsuite /srv/slurm-testsu
|
||||
runuser -u %slurm_u -- tar --same-owner -C /srv/slurm-testsuite -xjf %{_datadir}/%{name}/slurmtest.tar.bz2
|
||||
|
||||
%preun testsuite
|
||||
rm -rf /srv/slurm-testsuite/src /srv/slurm-testsuite/testsuite /srv/slurm-testsuite/config.h
|
||||
rm -rf /srv/slurm-testsuite/src /srv/slurm-testsuite/testsuite \
|
||||
/srv/slurm-testsuite/slurm /srv/slurm-testsuite/shared \
|
||||
/srv/slurm-testsuite/config.h
|
||||
|
||||
%{!?nil:
|
||||
# On update the %%postun code of the old package restarts the
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:981cd56a0203f88f65ff762b6ab09655d7f529bc383e5ffc7f5d0a034001a9ea
|
||||
size 3104
|
||||
oid sha256:ecf47b27b894b01e983e0fc5ad1b782f475d6dcd51408c47aea1b491186289ec
|
||||
size 3136
|
||||
|
Loading…
Reference in New Issue
Block a user