From bd8b24a56fcb09dcf85443a487b832aad42654c2 Mon Sep 17 00:00:00 2001 From: Scott Breyer Date: Thu, 9 Jan 2020 15:04:39 -0500 Subject: [PATCH] Update to latest from build 10.10.1.0.35 (IFS 10.10.1.0.36) --- CommonInstall/Makefile | 9 +- CommonInstall/comp_delta.pl | 19 ++ CommonInstall/comp_delta_prereq_RHEL81.pl | 137 +++++++++++++ CommonInstall/comp_delta_prereq_SLES125.pl | 139 +++++++++++++ CommonInstall/comp_fastfabric.pl | 32 +-- CommonInstall/comp_ff_of_prereq_RHEL81.pl | 87 +++++++++ .../comp_ff_of_prereq_RHEL81.pl.base | 87 +++++++++ CommonInstall/comp_ff_of_prereq_SLES125.pl | 88 +++++++++ .../comp_ff_of_prereq_SLES125.pl.base | 88 +++++++++ CommonInstall/comp_fm_prereq_RHEL81.pl | 52 +++++ CommonInstall/comp_fm_prereq_RHEL81.pl.base | 52 +++++ CommonInstall/comp_fm_prereq_SLES125.pl | 54 +++++ CommonInstall/comp_fm_prereq_SLES125.pl.base | 54 +++++ CommonInstall/comp_oftools.pl | 19 +- CommonInstall/comp_omnipath.pl | 102 +++++++--- CommonInstall/comp_qlgc_fm.pl | 20 +- CommonInstall/do_mvapich2_build.sh | 4 +- CommonInstall/do_openmpi_build.sh | 3 +- CommonInstall/main_omnipathwrap_delta.pl | 137 +++++++++++-- CommonInstall/overrides_delta.pl | 12 ++ CommonInstall/util_components.pl | 184 +++++++++++++++++- CommonInstall/util_rpm.pl | 13 +- Esm/ib/include/ib_sm.h | 3 +- IbaTools/opamon/opamon.conf | 2 +- IbaTools/portdown/opaportconfig.c | 2 +- MpiApps/apps/intelmpi.params | 5 +- MpiApps/apps/mvapich2.params | 2 +- MpiApps/apps/openmpi.params | 2 +- OpenIb_Host/LINUX/Makefile | 6 + OpenIb_Host/build.env | 2 +- OpenIb_Host/build_label | 2 +- opa-ff.spec.in | 16 +- 32 files changed, 1340 insertions(+), 94 deletions(-) create mode 100644 CommonInstall/comp_delta_prereq_RHEL81.pl create mode 100644 CommonInstall/comp_delta_prereq_SLES125.pl create mode 100644 CommonInstall/comp_ff_of_prereq_RHEL81.pl create mode 100644 CommonInstall/comp_ff_of_prereq_RHEL81.pl.base create mode 100644 CommonInstall/comp_ff_of_prereq_SLES125.pl create mode 100644 CommonInstall/comp_ff_of_prereq_SLES125.pl.base create mode 100644 CommonInstall/comp_fm_prereq_RHEL81.pl create mode 100644 CommonInstall/comp_fm_prereq_RHEL81.pl.base create mode 100644 CommonInstall/comp_fm_prereq_SLES125.pl create mode 100644 CommonInstall/comp_fm_prereq_SLES125.pl.base diff --git a/CommonInstall/Makefile b/CommonInstall/Makefile index c4c9ddd..31fb1a3 100644 --- a/CommonInstall/Makefile +++ b/CommonInstall/Makefile @@ -97,10 +97,11 @@ CLEAN_TARGETS_MISC = CLEAN_TARGETS = $(OBJECTS) $(RSCOBJECTS) $(IDL_TARGETS) $(CLEAN_TARGETS_MISC) # other files to remove during clobber phase CLOBBER_TARGETS_MISC= comp_ff_of_prereq_RHEL72.pl comp_ff_of_prereq_RHEL73.pl comp_ff_of_prereq_RHEL74.pl comp_ff_of_prereq_RHEL75.pl comp_ff_of_prereq_RHEL76.pl \ - comp_ff_of_prereq_RHEL77.pl comp_ff_of_prereq_RHEL8.pl \ + comp_ff_of_prereq_RHEL77.pl comp_ff_of_prereq_RHEL8.pl comp_ff_of_prereq_RHEL81.pl \ comp_ff_of_prereq_SLES122.pl comp_ff_of_prereq_SLES123.pl comp_ff_of_prereq_SLES124.pl comp_ff_of_prereq_SLES15.pl comp_ff_of_prereq_SLES151.pl \ comp_fm_prereq_RHEL72.pl comp_fm_prereq_RHEL73.pl comp_fm_prereq_RHEL74.pl comp_fm_prereq_RHEL75.pl comp_fm_prereq_RHEL76.pl comp_fm_prereq_RHEL77.pl \ - comp_fm_prereq_RHEL8.pl comp_fm_prereq_SLES122.pl comp_fm_prereq_SLES123.pl comp_fm_prereq_SLES124.pl comp_fm_prereq_SLES15.pl comp_fm_prereq_SLES151.pl + comp_fm_prereq_RHEL8.pl comp_fm_prereq_RHEL81.pl comp_fm_prereq_SLES122.pl comp_fm_prereq_SLES123.pl comp_fm_prereq_SLES124.pl comp_fm_prereq_SLES15.pl \ + comp_fm_prereq_SLES151.pl # sub-directory to install to within bin BIN_SUBDIR = # sub-directory to install to within include @@ -127,11 +128,11 @@ INCLUDE_SUBDIR = LOCALDEPLIBS = FF_FILES = comp_ff_of_prereq_RHEL72.pl comp_ff_of_prereq_RHEL73.pl comp_ff_of_prereq_RHEL74.pl \ - comp_ff_of_prereq_RHEL75.pl comp_ff_of_prereq_RHEL76.pl comp_ff_of_prereq_RHEL77.pl comp_ff_of_prereq_RHEL8.pl \ + comp_ff_of_prereq_RHEL75.pl comp_ff_of_prereq_RHEL76.pl comp_ff_of_prereq_RHEL77.pl comp_ff_of_prereq_RHEL8.pl comp_ff_of_prereq_RHEL81.pl \ comp_ff_of_prereq_SLES122.pl comp_ff_of_prereq_SLES123.pl comp_ff_of_prereq_SLES124.pl \ comp_ff_of_prereq_SLES15.pl comp_ff_of_prereq_SLES151.pl FM_FILES = comp_fm_prereq_RHEL72.pl comp_fm_prereq_RHEL73.pl comp_fm_prereq_RHEL74.pl \ - comp_fm_prereq_RHEL75.pl comp_fm_prereq_RHEL76.pl comp_fm_prereq_RHEL77.pl comp_fm_prereq_RHEL8.pl \ + comp_fm_prereq_RHEL75.pl comp_fm_prereq_RHEL76.pl comp_fm_prereq_RHEL77.pl comp_fm_prereq_RHEL8.pl comp_fm_prereq_RHEL81.pl \ comp_fm_prereq_SLES122.pl comp_fm_prereq_SLES123.pl comp_fm_prereq_SLES124.pl \ comp_fm_prereq_SLES15.pl comp_fm_prereq_SLES151.pl diff --git a/CommonInstall/comp_delta.pl b/CommonInstall/comp_delta.pl index 46ef566..5e280e8 100755 --- a/CommonInstall/comp_delta.pl +++ b/CommonInstall/comp_delta.pl @@ -73,6 +73,7 @@ my @delta_kernel_srpms_sles12_sp2 = ( 'ifs-kernel-updates-kmp-default' ); my @delta_kernel_srpms_sles12_sp3 = ( 'ifs-kernel-updates-kmp-default' ); my @delta_kernel_srpms_sles12_sp4 = ( 'ifs-kernel-updates-kmp-default' ); +my @delta_kernel_srpms_sles12_sp5 = ( 'ifs-kernel-updates-kmp-default' ); my @delta_kernel_srpms_sles15 = ( 'ifs-kernel-updates-kmp-default' ); my @delta_kernel_srpms_sles15_sp1 = ( 'ifs-kernel-updates-kmp-default' ); my @delta_kernel_srpms_rhel73 = ( 'kmod-ifs-kernel-updates' ); @@ -81,6 +82,7 @@ my @delta_kernel_srpms_rhel76 = ( 'kmod-ifs-kernel-updates' ); my @delta_kernel_srpms_rhel77 = ( 'kmod-ifs-kernel-updates' ); my @delta_kernel_srpms_rhel8 = ( 'kmod-ifs-kernel-updates' ); +my @delta_kernel_srpms_rhel81 = ( 'kmod-ifs-kernel-updates' ); my @delta_kernel_srpms = ( ); # This provides information for all kernel srpms @@ -146,6 +148,9 @@ ($) } elsif ("$CUR_DISTRO_VENDOR" eq 'SuSE' && "$CUR_VENDOR_VER" eq 'ES124') { @delta_kernel_srpms = ( @delta_kernel_srpms_sles12_sp4 ); + } elsif ("$CUR_DISTRO_VENDOR" eq 'SuSE' + && "$CUR_VENDOR_VER" eq 'ES125') { + @delta_kernel_srpms = ( @delta_kernel_srpms_sles12_sp5 ); } elsif ("$CUR_DISTRO_VENDOR" eq 'SuSE' && "$CUR_VENDOR_VER" eq 'ES15') { @delta_kernel_srpms = ( @delta_kernel_srpms_sles15 ); @@ -158,6 +163,8 @@ ($) } else { @delta_kernel_srpms = (@delta_kernel_srpms_rhel74); } + } elsif ( "$CUR_VENDOR_VER" eq "ES81" ) { + @delta_kernel_srpms = ( @delta_kernel_srpms_rhel81 ); } elsif ( "$CUR_VENDOR_VER" eq "ES8" ) { @delta_kernel_srpms = ( @delta_kernel_srpms_rhel8 ); } elsif ( "$CUR_VENDOR_VER" eq "ES77" ) { @@ -789,6 +796,9 @@ () return ( has_version_delta() && rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)); } + } elsif ( "$CUR_VENDOR_VER" eq "ES81" ) { + return ( has_version_delta() + && rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)); } elsif ( "$CUR_VENDOR_VER" eq "ES8" ) { return ( has_version_delta() && rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)); @@ -810,6 +820,9 @@ () } elsif ( "$CUR_VENDOR_VER" eq 'ES124' ) { return ( has_version_delta() && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); + } elsif ( "$CUR_VENDOR_VER" eq 'ES125' ) { + return ( has_version_delta() + && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); } elsif ( "$CUR_VENDOR_VER" eq 'ES15' ) { return ( has_version_delta() && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); @@ -1110,12 +1123,18 @@ () } elsif ( "$CUR_VENDOR_VER" eq "ES8" ) { return (has_version_delta() && rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)); + } elsif ( "$CUR_VENDOR_VER" eq "ES81" ) { + return (has_version_delta() + && rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)); } elsif ( "$CUR_VENDOR_VER" eq "ES123" ) { return (has_version_delta() && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); } elsif ( "$CUR_VENDOR_VER" eq "ES124" ) { return (has_version_delta() && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); + } elsif ( "$CUR_VENDOR_VER" eq "ES125" ) { + return (has_version_delta() + && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); } elsif ( "$CUR_VENDOR_VER" eq "ES15" ) { return (has_version_delta() && rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)); diff --git a/CommonInstall/comp_delta_prereq_RHEL81.pl b/CommonInstall/comp_delta_prereq_RHEL81.pl new file mode 100644 index 0000000..804443d --- /dev/null +++ b/CommonInstall/comp_delta_prereq_RHEL81.pl @@ -0,0 +1,137 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for delta components +my @opa_stack_prereq = ( + "bash", + "kernel", + "kmod", + "rdma-core", + "systemd", + "glibc", + "pciutils", + "opensm-libs", + "libibumad", + "rdma-core-devel", +); +$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq; + +my @mpi_selector_prereq = ( + "bash", + "coreutils", + "perl", + "perl-Getopt-Long", + "tcsh", +); +$comp_prereq_hash{'mpi_selector_prereq'} = \@mpi_selector_prereq; + +my @intel_hfi_prereq = ( + "bash", + "glibc", + "libgcc", + "python2", + "systemd", + "numactl-libs", + "irqbalance", + "libatomic", +); +$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq; + +my @mvapich2_prereq = ( + "bash", + "libibverbs", + "librdmacm", + "glibc", + "zlib", + "sysfsutils", +); +$comp_prereq_hash{'mvapich2_prereq'} = \@mvapich2_prereq; + +my @openmpi_prereq = ( + "bash", + "glibc", + "libgcc", + "libgfortran", + "gcc-gfortran", + "libgomp", + "libibverbs", + "libquadmath", + "librdmacm", + "libstdc++", + "libstdc++-devel", + "opensm-libs", + "pkgconf", + "zlib", +); +$comp_prereq_hash{'openmpi_prereq'} = \@openmpi_prereq; + +my @mvapich2_gcc_hfi_prereq = ( + "bash", + "zlib", + "glibc", +); +$comp_prereq_hash{'mvapich2_gcc_hfi_prereq'} = \@mvapich2_gcc_hfi_prereq; + +my @mvapich2_intel_hfi_prereq = ( + "bash", +); +$comp_prereq_hash{'mvapich2_intel_hfi_prereq'} = \@mvapich2_intel_hfi_prereq; + +my @openmpi_gcc_hfi_prereq = ( + "bash", + "glibc", + "libgcc", + "libgfortran", + "gcc-gfortran", + "libgomp", + "libibverbs", + "libquadmath", + "librdmacm", + "libstdc++", + "libstdc++-devel", + "opensm-libs", + "pkgconf", + "zlib", +); +$comp_prereq_hash{'openmpi_gcc_hfi_prereq'} = \@openmpi_gcc_hfi_prereq; + +my @openmpi_intel_hfi_prereq = ( + "bash", +); +$comp_prereq_hash{'openmpi_intel_hfi_prereq'} = \@openmpi_intel_hfi_prereq; diff --git a/CommonInstall/comp_delta_prereq_SLES125.pl b/CommonInstall/comp_delta_prereq_SLES125.pl new file mode 100644 index 0000000..2577582 --- /dev/null +++ b/CommonInstall/comp_delta_prereq_SLES125.pl @@ -0,0 +1,139 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2018, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for delta components +my @opa_stack_prereq = ( + "bash", + "kmod", + "rdma-core", + "rdma-ndd", + "systemd", + "coreutils", + "grep", + "libopensm8", + "libibmad5", + "libibumad3", + "rdma-core-devel", +); +$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq; + +my @intel_hfi_prereq = ( + "glibc", + "libgcc_s1", + "bash", + "udev", + "libudev-devel", + "python-base", + "libedit0", + "libncurses5", + "libnuma1", + "irqbalance", + "libatomic1", +); +$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq; + +my @mvapich2_gcc_hfi_prereq = ( + "bash", + "glibc", + "libz1", + "mpi-selector", +); +$comp_prereq_hash{'mvapich2_gcc_hfi_prereq'} = \@mvapich2_gcc_hfi_prereq; + +my @mvapich2_intel_hfi_prereq = ( + "bash", + "mpi-selector", +); +$comp_prereq_hash{'mvapich2_intel_hfi_prereq'} = \@mvapich2_intel_hfi_prereq; + +my @openmpi_gcc_hfi_prereq = ( + "glibc", + "bash", + "libpsm_infinipath1", + "pkg-config", + "libgcc_s1", + "libgfortran3", + "gcc-fortran", + "libgomp1", + "libibverbs1", + "libquadmath0", + "librdmacm1", + "libstdc++6", + "libz1", + "libopensm8", + "opensm-devel", + "mpi-selector", +); +$comp_prereq_hash{'openmpi_gcc_hfi_prereq'} = \@openmpi_gcc_hfi_prereq; + +my @openmpi_intel_hfi_prereq = ( + "bash", + "mpi-selector", +); +$comp_prereq_hash{'openmpi_intel_hfi_prereq'} = \@openmpi_intel_hfi_prereq; + +my @mvapich2_prereq = ( + "bash", + "libibverbs1", + "librdmacm1", + "glibc", + "libz1", + "mpi-selector", +); +$comp_prereq_hash{'mvapich2_prereq'} = \@mvapich2_prereq; + +my @openmpi_prereq = ( + "glibc", + "bash", + "libz1", + "pkg-config", + "libgcc_s1", + "libgfortran3", + "gcc-fortran", + "libgomp1", + "libibverbs1", + "libquadmath0", + "librdmacm1", + "libstdc++6", + "libz1", + "libopensm8", + "opensm-devel", + "mpi-selector", +); +$comp_prereq_hash{'openmpi_prereq'} = \@openmpi_prereq; diff --git a/CommonInstall/comp_fastfabric.pl b/CommonInstall/comp_fastfabric.pl index 562c676..1838e53 100755 --- a/CommonInstall/comp_fastfabric.pl +++ b/CommonInstall/comp_fastfabric.pl @@ -40,6 +40,13 @@ my $FF_CONF_FILE = "/usr/lib/opa/tools/opafastfabric.conf"; my $FF_TLS_CONF_FILE = "/etc/opa/opaff.xml"; + +sub get_rpms_dir_fastfabric +{ + my $srcdir=$ComponentInfo{'fastfabric'}{'SrcDir'}; + return "$srcdir/RPMS/*"; +} + sub available_fastfabric { my $srcdir=$ComponentInfo{'fastfabric'}{'SrcDir'}; @@ -104,7 +111,6 @@ sub install_fastfabric my $install_list = $_[0]; # total that will be installed when done my $installing_list = $_[1]; # what items are being installed/reinstalled - my $srcdir=$ComponentInfo{'fastfabric'}{'SrcDir'}; my $depricated_dir = "/etc/sysconfig/opa"; my $version=media_version_fastfabric(); @@ -112,8 +118,7 @@ sub install_fastfabric printf("Installing $ComponentInfo{'fastfabric'}{'Name'} $version $DBG_FREE...\n"); LogPrint "Installing $ComponentInfo{'fastfabric'}{'Name'} $version $DBG_FREE for $CUR_DISTRO_VENDOR $CUR_VENDOR_VER\n"; - my $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-fastfabric", "any"); - rpm_run_install($rpmfile, "any", " -U "); + install_comp_rpms('fastfabric', " -U ", $install_list); # TBD - spec file should do this check_dir("/usr/share/opa/samples"); @@ -135,9 +140,6 @@ sub install_fastfabric # TBD - spec file should remove this system("rm -rf $OPA_CONFIG_DIR/iba_stat.conf"); # old config - $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-mpi-apps", "any"); - rpm_run_install($rpmfile, "any", " -U "); - $ComponentWasInstalled{'fastfabric'}=1; } @@ -152,8 +154,7 @@ sub uninstall_fastfabric my $install_list = $_[0]; # total that will be left installed when done my $uninstalling_list = $_[1]; # what items are being uninstalled - - rpm_uninstall_list("any", "verbose", ("opa-mpi-apps", "opa-fastfabric") ); + uninstall_comp_rpms('fastfabric', '', $install_list, $uninstalling_list, 'verbose'); NormalPrint("Uninstalling $ComponentInfo{'fastfabric'}{'Name'}...\n"); remove_conf_file("$ComponentInfo{'fastfabric'}{'Name'}", "$FF_CONF_FILE"); @@ -177,6 +178,12 @@ sub uninstall_fastfabric ## ## OPAMGT SDK +sub get_rpms_dir_opamgt_sdk +{ + my $srcdir=$ComponentInfo{'opamgt_sdk'}{'SrcDir'}; + return "$srcdir/RPMS/*"; +} + sub available_opamgt_sdk { my $srcdir = $ComponentInfo{'opamgt_sdk'}{'SrcDir'}; @@ -229,14 +236,12 @@ sub install_opamgt_sdk my $install_list = $_[0]; # total that will be installed when done my $installing_list = $_[1]; # what items are being installed/reinstalled - my $srcdir = $ComponentInfo{'opamgt_sdk'}{'SrcDir'}; my $version=media_version_opamgt_sdk(); chomp $version; printf("Installing $ComponentInfo{'opamgt_sdk'}{'Name'} $version $DBG_FREE...\n"); LogPrint "Installing $ComponentInfo{'opamgt_sdk'}{'Name'} $version $DBG_FREE for $CUR_DISTRO_VENDOR $CUR_VENDOR_VER\n"; - rpm_install("$srcdir/RPMS/*/opa-libopamgt", "any"); - rpm_install("$srcdir/RPMS/*/opa-libopamgt-devel", "any"); + install_comp_rpms('opamgt_sdk', "", $install_list); $ComponentWasInstalled{'opamgt_sdk'}=1; } @@ -248,6 +253,9 @@ sub postinstall_opamgt_sdk sub uninstall_opamgt_sdk { - rpm_uninstall_all_list("any", "verbose", ("opa-libopamgt-devel", "opa-libopamgt") ); + my $install_list = $_[0]; # total that will be left installed when done + my $uninstalling_list = $_[1]; # what items are being uninstalled + + uninstall_comp_rpms('opamgt_sdk', '', $install_list, $uninstalling_list, 'verbose'); $ComponentWasInstalled{'opamgt_sdk'}=0; } diff --git a/CommonInstall/comp_ff_of_prereq_RHEL81.pl b/CommonInstall/comp_ff_of_prereq_RHEL81.pl new file mode 100644 index 0000000..ee2fa78 --- /dev/null +++ b/CommonInstall/comp_ff_of_prereq_RHEL81.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for fast fabric +#and of tools component +my @oftools_prereq = ( + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "ibacm", + "rdma-core", +); +$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq; + +my @fastfabric_prereq = ( + "atlas", + "bash", + "bc", + "expat", + "expect", + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "ncurses-libs", + "openssl-libs", + "perl", + "perl-Getopt-Long", + "perl-Socket", + "rdma-core", + "tcl", + "zlib", +); +$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq; + +my @opamgt_sdk_prereq = ( + "bash", + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "openssl", + "openssl-devel", + "openssl-libs", + "rdma-core-devel", +); +$comp_prereq_hash{'opamgt_sdk_prereq'} = \@opamgt_sdk_prereq; diff --git a/CommonInstall/comp_ff_of_prereq_RHEL81.pl.base b/CommonInstall/comp_ff_of_prereq_RHEL81.pl.base new file mode 100644 index 0000000..ee2fa78 --- /dev/null +++ b/CommonInstall/comp_ff_of_prereq_RHEL81.pl.base @@ -0,0 +1,87 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for fast fabric +#and of tools component +my @oftools_prereq = ( + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "ibacm", + "rdma-core", +); +$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq; + +my @fastfabric_prereq = ( + "atlas", + "bash", + "bc", + "expat", + "expect", + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "ncurses-libs", + "openssl-libs", + "perl", + "perl-Getopt-Long", + "perl-Socket", + "rdma-core", + "tcl", + "zlib", +); +$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq; + +my @opamgt_sdk_prereq = ( + "bash", + "glibc", + "libgcc", + "libibumad", + "libibverbs", + "libstdc++", + "openssl", + "openssl-devel", + "openssl-libs", + "rdma-core-devel", +); +$comp_prereq_hash{'opamgt_sdk_prereq'} = \@opamgt_sdk_prereq; diff --git a/CommonInstall/comp_ff_of_prereq_SLES125.pl b/CommonInstall/comp_ff_of_prereq_SLES125.pl new file mode 100644 index 0000000..0291334 --- /dev/null +++ b/CommonInstall/comp_ff_of_prereq_SLES125.pl @@ -0,0 +1,88 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2018, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for fast fabric +#and of tools component + +my @oftools_prereq = ( + "glibc", + "libgcc_s1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libstdc++6", + "ibacm", +); +$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq; + +my @fastfabric_prereq = ( + "glibc", + "bash", + "expect", + "perl-base", + "tcl", + "libexpat1", + "libgcc_s1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libncurses5", + "libopenssl1_0_0", + "libstdc++6", + "libz1", + "bc", + "rdma-core", + "rdma-ndd", +); +$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq; + +my @opamgt_sdk_prereq = ( + "bash", + "glibc", + "libgcc_s1", + "libibumad3", + "libibverbs1", + "libopenssl-devel", + "libopenssl1_0_0", + "libstdc++6", + "openssl", + "rdma-core-devel", + "rdma-ndd", +); +$comp_prereq_hash{'opamgt_sdk_prereq'} = \@opamgt_sdk_prereq; diff --git a/CommonInstall/comp_ff_of_prereq_SLES125.pl.base b/CommonInstall/comp_ff_of_prereq_SLES125.pl.base new file mode 100644 index 0000000..0291334 --- /dev/null +++ b/CommonInstall/comp_ff_of_prereq_SLES125.pl.base @@ -0,0 +1,88 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2018, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for fast fabric +#and of tools component + +my @oftools_prereq = ( + "glibc", + "libgcc_s1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libstdc++6", + "ibacm", +); +$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq; + +my @fastfabric_prereq = ( + "glibc", + "bash", + "expect", + "perl-base", + "tcl", + "libexpat1", + "libgcc_s1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libncurses5", + "libopenssl1_0_0", + "libstdc++6", + "libz1", + "bc", + "rdma-core", + "rdma-ndd", +); +$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq; + +my @opamgt_sdk_prereq = ( + "bash", + "glibc", + "libgcc_s1", + "libibumad3", + "libibverbs1", + "libopenssl-devel", + "libopenssl1_0_0", + "libstdc++6", + "openssl", + "rdma-core-devel", + "rdma-ndd", +); +$comp_prereq_hash{'opamgt_sdk_prereq'} = \@opamgt_sdk_prereq; diff --git a/CommonInstall/comp_fm_prereq_RHEL81.pl b/CommonInstall/comp_fm_prereq_RHEL81.pl new file mode 100644 index 0000000..c16ef21 --- /dev/null +++ b/CommonInstall/comp_fm_prereq_RHEL81.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for opafm +my @opafm_prereq = ( + "bash", + "expat", + "glibc", + "libibumad", + "libibverbs", + "openssl-libs", + "rdma-core", + "systemd", + "zlib", +); +$comp_prereq_hash{'opafm_prereq'} = \@opafm_prereq; diff --git a/CommonInstall/comp_fm_prereq_RHEL81.pl.base b/CommonInstall/comp_fm_prereq_RHEL81.pl.base new file mode 100644 index 0000000..c16ef21 --- /dev/null +++ b/CommonInstall/comp_fm_prereq_RHEL81.pl.base @@ -0,0 +1,52 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2019, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +#Installation Prequisites array for opafm +my @opafm_prereq = ( + "bash", + "expat", + "glibc", + "libibumad", + "libibverbs", + "openssl-libs", + "rdma-core", + "systemd", + "zlib", +); +$comp_prereq_hash{'opafm_prereq'} = \@opafm_prereq; diff --git a/CommonInstall/comp_fm_prereq_SLES125.pl b/CommonInstall/comp_fm_prereq_SLES125.pl new file mode 100644 index 0000000..aa0845d --- /dev/null +++ b/CommonInstall/comp_fm_prereq_SLES125.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2018, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +##Installation Prequisites array for opafm +my @opafm_prereq = ( + "glibc", + "bash", + "rdma-core", + "rdma-ndd", + "systemd", + "libexpat1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libopenssl1_0_0", + "libz1", +); +$comp_prereq_hash{'opafm_prereq'} = \@opafm_prereq; diff --git a/CommonInstall/comp_fm_prereq_SLES125.pl.base b/CommonInstall/comp_fm_prereq_SLES125.pl.base new file mode 100644 index 0000000..aa0845d --- /dev/null +++ b/CommonInstall/comp_fm_prereq_SLES125.pl.base @@ -0,0 +1,54 @@ +#!/usr/bin/perl +## BEGIN_ICS_COPYRIGHT8 **************************************** +# +# Copyright (c) 2015-2018, Intel Corporation +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Intel Corporation nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +## END_ICS_COPYRIGHT8 **************************************** +# +## [ICS VERSION STRING: unknown] +#use strict; +##use Term::ANSIColor; +##use Term::ANSIColor qw(:constants); +##use File::Basename; +##use Math::BigInt; +# +## ========================================================================== +# +##Installation Prequisites array for opafm +my @opafm_prereq = ( + "glibc", + "bash", + "rdma-core", + "rdma-ndd", + "systemd", + "libexpat1", + "libibmad5", + "libibumad3", + "libibverbs1", + "libopenssl1_0_0", + "libz1", +); +$comp_prereq_hash{'opafm_prereq'} = \@opafm_prereq; diff --git a/CommonInstall/comp_oftools.pl b/CommonInstall/comp_oftools.pl index f23cf89..5cb5f59 100755 --- a/CommonInstall/comp_oftools.pl +++ b/CommonInstall/comp_oftools.pl @@ -38,6 +38,12 @@ # ========================================================================== # Fast Fabric Support tools for OFA (oftools) installation +sub get_rpms_dir_oftools +{ + my $srcdir=$ComponentInfo{'oftools'}{'SrcDir'}; + return "$srcdir/RPMS/*"; +} + sub available_oftools { # TBD - could we move the algorithms for many of these functions into @@ -100,8 +106,6 @@ sub install_oftools my $install_list = $_[0]; # total that will be installed when done my $installing_list = $_[1]; # what items are being installed/reinstalled - my $srcdir=$ComponentInfo{'oftools'}{'SrcDir'}; - my $version=media_version_oftools(); chomp $version; printf("Installing $ComponentInfo{'oftools'}{'Name'} $version $DBG_FREE...\n"); @@ -109,13 +113,10 @@ sub install_oftools #LogPrint "Installing $ComponentInfo{'oftools'}{'Name'} $version $DBG_FREE for $CUR_OS_VER\n"; LogPrint "Installing $ComponentInfo{'oftools'}{'Name'} $version $DBG_FREE for $CUR_DISTRO_VENDOR $CUR_VENDOR_VER\n"; - # RHEL7.4 and older in-distro IFS defines opa-address-resolution depends on opa-basic-tools with exact version match - # that will fail our installation because of dependency check. We need to use '-nodeps' to force the installation - my $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-basic-tools", "any"); - rpm_run_install($rpmfile, "any", " -U --nodeps "); + # RHEL7.4 and older in-distro IFS defines opa-address-resolution depends on opa-basic-tools with exact version match + # that will fail our installation because of dependency check. We need to use '-nodeps' to force the installation + install_comp_rpms('oftools', " -U --nodeps ", $install_list); - $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-address-resolution", "any"); - rpm_run_install($rpmfile, "any", " -U --nodeps "); # TBD - could we figure out the list of config files from a query of rpm # and then simply iterate on each config file? check_rpm_config_file("/etc/rdma/dsap.conf"); @@ -136,7 +137,7 @@ sub uninstall_oftools NormalPrint("Uninstalling $ComponentInfo{'oftools'}{'Name'}...\n"); - rpm_uninstall_list("any", "verbose", ("opa-basic-tools", "opa-address-resolution") ); + uninstall_comp_rpms('oftools', '', $install_list, $uninstalling_list, 'verbose'); # remove LSF and Moab related files system("rm -rf /usr/lib/opa/LSF_scripts"); diff --git a/CommonInstall/comp_omnipath.pl b/CommonInstall/comp_omnipath.pl index a36a0c2..3f137c3 100644 --- a/CommonInstall/comp_omnipath.pl +++ b/CommonInstall/comp_omnipath.pl @@ -57,8 +57,7 @@ sub install_generic_mpi printf ("Installing $ComponentInfo{$mpifullname}{'Name'} $version...\n"); LogPrint ("Installing $ComponentInfo{$mpifullname}{'Name'} $version for $CUR_OS_VER\n"); # make sure any old potentially custom built versions of mpi are uninstalled - my @list = ( "$mpifullname", "mpitests_$mpifullname" ); - rpm_uninstall_list2("any", "--nodeps", 'silent', @list); + uninstall_comp_rpms($mpifullname, ' --nodeps ', $install_list, $installing_list, 'silent'); # cleanup from older installs just in case system ("rm -rf /usr/lib/opa/.comp_$mpifullname.pl"); @@ -79,7 +78,7 @@ sub install_generic_mpi # enable this code if mpitests is missing for some compilers or MPIs #my $mpitests_rpmfile = rpm_resolve("$srcdir/OtherMPIs/mpitests_$mpifullname", "any"); #if ( "$mpitests_rpmfile" ne "" && -e "$mpitests_rpmfile" ) { - rpm_install_list_with_options ("$srcdir", "user", " -U --nodeps ", @list); + install_comp_rpms($mpifullname, " -U --nodeps ", $install_list); #} else { # rpm_install("$srcdir/OtherMPIs/$mpifullname", "user"); #} @@ -129,8 +128,7 @@ sub uninstall_generic_mpi } # uninstall tests in case built by do_build - $rc = rpm_uninstall ("mpitests_$mpifullname", "user", "", "verbose"); - $rc = rpm_uninstall ($mpifullname, "user", "", "verbose"); + uninstall_comp_rpms($mpifullname, '', $install_list, $installing_list, 'verbose'); # unfortunately mpi and mpitests can leave empty directories on uninstall # this can confuse IFS MPI tools because correct MPI to use @@ -159,6 +157,11 @@ sub uninstall_generic_mpi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) +sub get_rpms_dir_openmpi_gcc +{ + return $ComponentInfo{'openmpi_gcc'}{'SrcDir'}; +} + sub available_openmpi_gcc { my $srcdir = $ComponentInfo{'openmpi_gcc'}{'SrcDir'}; @@ -267,6 +270,12 @@ sub uninstall_openmpi_gcc # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_mvapich2_gcc +{ + return $ComponentInfo{'mvapich2_gcc'}{'SrcDir'}; +} + sub available_mvapich2_gcc { my $srcdir = $ComponentInfo{'mvapich2_gcc'}{'SrcDir'}; @@ -375,6 +384,12 @@ sub uninstall_mvapich2_gcc # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_openmpi_gcc_hfi +{ + return $ComponentInfo{'openmpi_gcc_hfi'}{'SrcDir'}; +} + sub available_openmpi_gcc_hfi { my $srcdir = $ComponentInfo{'openmpi_gcc_hfi'}{'SrcDir'}; @@ -483,6 +498,12 @@ sub uninstall_openmpi_gcc_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_openmpi_intel_hfi +{ + return $ComponentInfo{'openmpi_intel_hfi'}{'SrcDir'}; +} + sub available_openmpi_intel_hfi { my $srcdir = $ComponentInfo{'openmpi_intel_hfi'}{'SrcDir'}; @@ -591,6 +612,12 @@ sub uninstall_openmpi_intel_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_openmpi_pgi_hfi +{ + return $ComponentInfo{'openmpi_pgi_hfi'}{'SrcDir'}; +} + sub available_openmpi_pgi_hfi { my $srcdir = $ComponentInfo{'openmpi_pgi_hfi'}{'SrcDir'}; @@ -699,6 +726,12 @@ sub uninstall_openmpi_pgi_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_mvapich2_gcc_hfi +{ + return $ComponentInfo{'mvapich2_gcc_hfi'}{'SrcDir'}; +} + sub available_mvapich2_gcc_hfi { my $srcdir = $ComponentInfo{'mvapich2_gcc_hfi'}{'SrcDir'}; @@ -807,6 +840,12 @@ sub uninstall_mvapich2_gcc_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_mvapich2_intel_hfi +{ + return $ComponentInfo{'mvapich2_intel_hfi'}{'SrcDir'}; +} + sub available_mvapich2_intel_hfi { my $srcdir = $ComponentInfo{'mvapich2_intel_hfi'}{'SrcDir'}; @@ -916,6 +955,12 @@ sub uninstall_mvapich2_intel_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_mvapich2_pgi_hfi +{ + return $ComponentInfo{'mvapich2_pgi_hfi'}{'SrcDir'}; +} + sub available_mvapich2_pgi_hfi { my $srcdir = $ComponentInfo{'mvapich2_pgi_hfi'}{'SrcDir'}; @@ -1028,6 +1073,12 @@ sub uninstall_mvapich2_pgi_hfi # is component X available on the install media (use of this # allows for optional components in packaging or limited availability if a # component isn't available on some OS/CPU combos) + +sub get_rpms_dir_openmpi_gcc_cuda_hfi +{ + return $ComponentInfo{'openmpi_gcc_cuda_hfi'}{'SrcDir'}; +} + sub available_openmpi_gcc_cuda_hfi { my $srcdir = $ComponentInfo{'openmpi_gcc_cuda_hfi'}{'SrcDir'}; @@ -1249,23 +1300,30 @@ ($$) my $install_list = shift(); # total that will be left installed when done my $uninstalling_list = shift(); # what items are being uninstalled - NormalPrint ("Uninstalling $ComponentInfo{'mpisrc'}{'Name'}...\n"); - - # remove old versions (.src.rpm and built .rpm files too) - system "rm -rf /usr/src/opa/MPI/.version 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/mvapich2[-_]*.rpm 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/openmpi[-_]*.rpm 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/mpitests[-_]*.rpm 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/make.*.res 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/make.*.err 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/make.*.warn 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/.mpiinfo 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/do_build 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/do_mvapich2_build 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/do_openmpi_build 2>/dev/null"; - system "rm -rf /usr/src/opa/MPI/.mpiinfo 2>/dev/null"; + NormalPrint ("Uninstalling $ComponentInfo{'mpisrc'}{'Name'}...\n"); + + # try to uninstall meta pkg if it exists + if (rpm_is_installed("opameta_mpisrc", "any") || + rpm_is_installed("opameta_mpisrc_userspace", "any")) { + rpm_uninstall_matches("opameta_mpisrc", "opameta_mpisrc", "", ""); + } else { + # remove old versions (.src.rpm and built .rpm files too) + system "rm -rf /usr/src/opa/MPI/.version 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/mvapich2[-_]*.rpm 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/openmpi[-_]*.rpm 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/mpitests[-_]*.rpm 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/make.*.res 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/make.*.err 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/make.*.warn 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/.mpiinfo 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/do_build 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/do_mvapich2_build 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/do_openmpi_build 2>/dev/null"; + system "rm -rf /usr/src/opa/MPI/.mpiinfo 2>/dev/null"; + + system "rmdir /usr/src/opa/MPI 2>/dev/null"; # remove only if empty + system "rmdir /usr/src/opa 2>/dev/null"; # remove only if empty + } - system "rmdir /usr/src/opa/MPI 2>/dev/null"; # remove only if empty - system "rmdir /usr/src/opa 2>/dev/null"; # remove only if empty $ComponentWasInstalled{'mpisrc'}=0; } diff --git a/CommonInstall/comp_qlgc_fm.pl b/CommonInstall/comp_qlgc_fm.pl index 8155063..c7473ab 100755 --- a/CommonInstall/comp_qlgc_fm.pl +++ b/CommonInstall/comp_qlgc_fm.pl @@ -59,6 +59,12 @@ () disable_autostart("opafm"); } +sub get_rpms_dir_opafm +{ + my $srcdir=$ComponentInfo{'opafm'}{'SrcDir'}; + return "$srcdir/RPMS/*"; +} + sub available_opafm { my $srcdir=$ComponentInfo{'opafm'}{'SrcDir'}; @@ -120,11 +126,6 @@ sub install_opafm my $install_list = $_[0]; # total that will be installed when done my $installing_list = $_[1]; # what items are being installed/reinstalled - my $srcdir=$ComponentInfo{'opafm'}{'SrcDir'}; - my $rc; - my $keep; - my $diff_src_dest; - my $version=media_version_opafm(); chomp $version; @@ -136,12 +137,7 @@ sub install_opafm my $fm_start = IsAutostart2_opafm(); # Install the rpm - my $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-fm", "user"); - rpm_run_install($rpmfile, "user", " -U "); - $rpmfile = rpm_resolve("$srcdir/RPMS/*/opa-fm-debuginfo", "user"); - if ($rpmfile) { - rpm_run_install($rpmfile, "user", " -U "); - } + install_comp_rpms('opafm', " -U ", $install_list); check_rpm_config_file("$CONFIG_DIR/opa-fm/opafm.xml", "/etc/sysconfig"); check_rpm_config_file("$CONFIG_DIR/opa-fm/opafm_pp.xml"); @@ -169,7 +165,7 @@ sub uninstall_opafm NormalPrint("Uninstalling $ComponentInfo{'opafm'}{'Name'}...\n"); - rpm_uninstall_list("any", "verbose", ( "opa-fm", "opa-fm-debuginfo") ); + uninstall_comp_rpms('opafm', '', $install_list, $uninstalling_list, 'verbose'); # just in case, newer rpms should clean these up system("rm -rf /usr/lib/opa/.comp_opafm.pl"); system("rmdir -p /opt/iba/fm_tools 2>/dev/null"); # remove only if empty diff --git a/CommonInstall/do_mvapich2_build.sh b/CommonInstall/do_mvapich2_build.sh index ddc5dce..4cc34b1 100755 --- a/CommonInstall/do_mvapich2_build.sh +++ b/CommonInstall/do_mvapich2_build.sh @@ -511,7 +511,7 @@ logfile=make.mvapich2.$interface.$compiler mvapich2_comp_env='CC="gcc -m64" CXX="g++ -m64" F77="gfortran -m64" FC="gfortran -m64"' else mvapich2_comp_env='CC=gcc CXX=g++ F77=gfortran FC=gfortran' - if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID == 8.0" | bc -l) == 1 ) ]]; then + if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID >= 8.0" | bc -l) == 1 ) ]]; then mvapich2_comp_env="$mvapich2_comp_env CFLAGS='-fPIC'" fi fi @@ -521,7 +521,7 @@ logfile=make.mvapich2.$interface.$compiler mvapich2_comp_env='CC="gcc -m64" CXX="g++ -m64" F77="g77 -m64" FC="/bin/false"' else mvapich2_comp_env='CC=gcc CXX=g++ F77=g77 FC=/bin/false' - if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID == 8.0" | bc -l) == 1 ) ]]; then + if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID >= 8.0" | bc -l) == 1 ) ]]; then mvapich2_comp_env="$mvapich2_comp_env CFLAGS='-fPIC'" fi fi diff --git a/CommonInstall/do_openmpi_build.sh b/CommonInstall/do_openmpi_build.sh index 9563d12..fad9e14 100755 --- a/CommonInstall/do_openmpi_build.sh +++ b/CommonInstall/do_openmpi_build.sh @@ -492,7 +492,7 @@ logfile=make.openmpi.$interface.$compiler case "$compiler" in gcc) - if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID == 8.0" | bc -l) == 1 ) ]]; then + if [[ ( "$ID" == "rhel" && $(echo "$VERSION_ID >= 8.0" | bc -l) == 1 ) ]]; then openmpi_comp_env="$openmpi_comp_env CC=gcc CFLAGS="-O3 -fPIC"" else openmpi_comp_env="$openmpi_comp_env CC=gcc CFLAGS=-O3" @@ -684,6 +684,7 @@ logfile=make.openmpi.$interface.$compiler --define 'root_path /' \ --define '_usr $STACK_PREFIX' \ --define 'path_to_mpihome $MPICH_PREFIX' \ + --define 'enable_cuda $Cflag' \ $disable_auto_requires \ $mpitests_srpm" echo "Executing: $cmd" diff --git a/CommonInstall/main_omnipathwrap_delta.pl b/CommonInstall/main_omnipathwrap_delta.pl index 94c7840..90f93a0 100644 --- a/CommonInstall/main_omnipathwrap_delta.pl +++ b/CommonInstall/main_omnipathwrap_delta.pl @@ -70,6 +70,8 @@ @OmniPathAllComponents ); my @Components_sles12_sp4 = ( "opa_stack", @OmniPathAllComponents ); +my @Components_sles12_sp5 = ( "opa_stack", + @OmniPathAllComponents ); my @Components_sles15 = ( "opa_stack", @OmniPathAllComponents ); my @Components_sles15_sp1 = ( "opa_stack", @@ -84,6 +86,8 @@ @OmniPathAllComponents ); my @Components_rhel8 = ( "opa_stack", "mpi_selector", @OmniPathAllComponents ); +my @Components_rhel81 = ( "opa_stack", "mpi_selector", + @OmniPathAllComponents ); @Components = ( ); @@ -200,7 +204,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "opa-basic-tools", "opa-address-resolution" ], DebugRpms => [ ], HasStart => 1, HasFirmware => 0, DefaultStart => 0, StartPreReq => " opa_stack ", # TBD @@ -230,7 +234,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "opa-fastfabric", "opa-mpi-apps" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => " opa_stack ", @@ -261,7 +265,7 @@ Hidden => 1, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "mvapich2_gcc", "mpitests_mvapich2_gcc" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -276,7 +280,7 @@ Hidden => 1, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "openmpi_gcc", "mpitests_openmpi_gcc" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -291,7 +295,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "openmpi_gcc_cuda_hfi", "mpitests_openmpi_gcc_cuda_hfi" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -306,7 +310,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "mvapich2_gcc_hfi", "mpitests_mvapich2_gcc_hfi" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -321,7 +325,7 @@ Hidden => 1, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "mvapich2_intel_hfi", "mpitests_mvapich2_intel_hfi" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -336,7 +340,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "openmpi_gcc_hfi", "mpitests_openmpi_gcc_hfi" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -351,7 +355,7 @@ Hidden => 1, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "openmpi_intel_hfi", "mpitests_openmpi_intel_hfi" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => "", @@ -426,7 +430,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "opa-fm", "opa-fm-debuginfo" ], DebugRpms => [ ], HasStart => 1, HasFirmware => 0, DefaultStart => 0, StartPreReq => " opa_stack ", @@ -442,7 +446,7 @@ Hidden => 0, Disabled => 0, IsOFA => 0, KernelRpms => [ ], FirmwareRpms => [ ], - UserRpms => [ ], + UserRpms => [ "opa-libopamgt", "opa-libopamgt-devel" ], DebugRpms => [ ], HasStart => 0, HasFirmware => 0, DefaultStart => 0, StartPreReq => " opa_stack ", @@ -671,6 +675,26 @@ }, ); +# for SLES12sp5 +my %opa_stack_sles12_sp5_comp_info = ( + "opa_stack" => { Name => "OFA OPA Stack", + DefaultInstall => $State_Install, + SrcDir => file_glob("./IntelOPA-OFA_DELTA.*"), + PreReq => "", CoReq => " oftools ", + Hidden => 0, Disabled => 0, IsOFA => 1, + KernelRpms => [ "ifs-kernel-updates-kmp-default" ], + FirmwareRpms => [ ], + UserRpms => [ "opa-scripts", + ], + DebugRpms => [ ], + HasStart => 1, HasFirmware => 0, DefaultStart => 1, + StartPreReq => "", + StartComponents => [ "opa_stack", "ibacm", "rdma_ndd", "delta_srp", "delta_srpt" ], + StartupScript => "opa", + StartupParams => [ "ARPTABLE_TUNING" ] + }, +); + # for SLES15.x my %opa_stack_sles15_comp_info = ( "opa_stack" => { Name => "OFA OPA Stack", @@ -828,6 +852,36 @@ }, ); +my %intel_hfi_rhel81_comp_info = ( + "intel_hfi" => { Name => "Intel HFI Components", + DefaultInstall => $State_Install, + SrcDir => file_glob("./IntelOPA-OFA_DELTA.*"), + PreReq => " opa_stack ", CoReq => " oftools ", + # TBD - HasFirmware - FW update + Hidden => 0, Disabled => 0, IsOFA => 1, + KernelRpms => [ ], + FirmwareRpms => [ + "hfi1-firmware", "hfi1-firmware_debug" + ], + UserRpms => [ #"libhfi1", "libhfi1-static", + "libpsm2", + "libpsm2-devel", "libpsm2-compat", + "libfabric", "libfabric-devel", + "libfabric-psm2", "libfabric-verbs", + "hfi1-diagtools-sw", "hfidiags", + ], + DebugRpms => [ #"hfi1_debuginfo", + "hfi1-diagtools-sw-debuginfo", + "libpsm2-debuginfo", #"libhfi1-debuginfo" + ], + HasStart => 1, HasFirmware => 0, DefaultStart => 1, + StartPreReq => " opa_stack ", + StartComponents => [ "intel_hfi" ], + StartupScript => "", + StartupParams => [ ] + }, +); + # For SLES12sp3 that has different name for libpsm2 my %intel_hfi_sles123_comp_info = ( "intel_hfi" => { Name => "Intel HFI Components", @@ -888,6 +942,34 @@ }, ); +my %intel_hfi_sles125_comp_info = ( + "intel_hfi" => { Name => "Intel HFI Components", + DefaultInstall => $State_Install, + SrcDir => file_glob("./IntelOPA-OFA_DELTA.*"), + PreReq => " opa_stack ", CoReq => " oftools ", + Hidden => 0, Disabled => 0, IsOFA => 1, + KernelRpms => [ ], + FirmwareRpms => [ + "hfi1-firmware", "hfi1-firmware_debug" + ], + UserRpms => [ "libpsm2-2", + "libpsm2-devel", "libpsm2-compat", + "libfabric", "libfabric-devel", + "libfabric-psm", + "libfabric-psm2", "libfabric-verbs", + "hfi1-diagtools-sw", "hfidiags", + ], + DebugRpms => [ "hfi1-diagtools-sw-debuginfo", + "libpsm2-debuginfo", + ], + HasStart => 1, HasFirmware => 0, DefaultStart => 1, + StartPreReq => " opa_stack ", + StartComponents => [ "intel_hfi" ], + StartupScript => "", + StartupParams => [ ] + }, +); + # For SLES15.x that has different name for libpsm2 my %intel_hfi_sles15_comp_info = ( "intel_hfi" => { Name => "Intel HFI Components", @@ -1090,6 +1172,14 @@ sub init_components %opa_stack_dev_comp_info, %opa_stack_sles12_sp4_comp_info, ); + } elsif ( "$CUR_VENDOR_VER" eq "ES125" ) { + @Components = ( @Components_sles12_sp5 ); + @SubComponents = ( @SubComponents_newer ); + %ComponentInfo = ( %ComponentInfo, %ibacm_comp_info, + %intel_hfi_sles125_comp_info, + %opa_stack_dev_comp_info, + %opa_stack_sles12_sp5_comp_info, + ); } elsif ( "$CUR_VENDOR_VER" eq "ES74" ) { @SubComponents = ( @SubComponents_newer ); @Components = ( @Components_rhel74 ); @@ -1138,6 +1228,14 @@ sub init_components %opa_stack_dev_comp_info, %opa_stack_rhel_comp_info, ); + } elsif ( "$CUR_VENDOR_VER" eq "ES81" ) { + @Components = ( @Components_rhel81 ); + @SubComponents = ( @SubComponents_newer ); + %ComponentInfo = ( %ComponentInfo, %ibacm_comp_info, + %intel_hfi_rhel81_comp_info, + %opa_stack_dev_comp_info, + %opa_stack_rhel_comp_info, + ); } elsif ( "$CUR_VENDOR_VER" eq "ES15" ) { @Components = ( @Components_sles15 ); @SubComponents = ( @SubComponents_newer ); @@ -1231,6 +1329,9 @@ sub install_opaconfig my $srcdir=$ComponentInfo{'opaconfig'}{'SrcDir'}; NormalPrint("Installing $ComponentInfo{'opaconfig'}{'Name'}...\n"); + # all meta pkgs depend on opaconfig. We may directly upgrade opaconfig, so we remove them first. + rpm_uninstall_matches("opameta_", "opameta_", "", ""); + # New Install Code my $rpmfile = rpm_resolve("$srcdir/RPMS/*/opaconfig", "any"); rpm_run_install($rpmfile, "any", " -U "); @@ -1263,6 +1364,9 @@ sub uninstall_opaconfig NormalPrint("Uninstalling $ComponentInfo{'opaconfig'}{'Name'}...\n"); + # all meta pkgs depend on opaconfig. Remove them first. + rpm_uninstall_matches("opameta_", "opameta_", "", ""); + # New Uninstall Code rpm_uninstall_list("any", "verbose", ("opaconfig") ); # New Uninstall Code @@ -1354,6 +1458,8 @@ sub Usage printf STDERR " -v - verbose logging\n"; printf STDERR " -vv - very verbose debug logging\n"; printf STDERR " -C - output list of supported components\n"; +# Hidden feature for internal use +# printf STDERR " -c comp - output component information in JSON format\n"; printf STDERR " -V - output Version\n"; printf STDERR " --user_queries - permit non-root users to query the fabric. (default)\n"; @@ -1589,6 +1695,10 @@ sub process_args } elsif ( "$arg" eq "-C" ) { ShowComponents; exit(0); + } elsif ( "$arg" eq "-c" ) { + # undocumented option to output detailed information on a component + $Default_ShowCompInfo=1; + $setcomp=1; } elsif ( "$arg" eq "-V" ) { printf "$VERSION\n"; exit(0); @@ -1777,6 +1887,11 @@ sub show_menu process_args; check_root_user; +if ( $Default_ShowCompInfo ) +{ + ShowCompInfo(); + exit(0); +} if ( ! $Default_Build ) { open_log(""); } else { diff --git a/CommonInstall/overrides_delta.pl b/CommonInstall/overrides_delta.pl index e7c6ceb..4426c0f 100644 --- a/CommonInstall/overrides_delta.pl +++ b/CommonInstall/overrides_delta.pl @@ -58,6 +58,10 @@ "opa_stack_dev", "delta_ipoib", "delta_debug", ); +my @delta_Components_sles12_sp5 = ( "opa_stack", "intel_hfi", + "opa_stack_dev", + "delta_ipoib", + "delta_debug", ); my @delta_Components_rhel74 = ( "opa_stack", "mpi_selector", "intel_hfi", "opa_stack_dev", "delta_ipoib", @@ -78,6 +82,10 @@ "opa_stack_dev", "delta_ipoib", "delta_debug", ); +my @delta_Components_rhel81 = ( "opa_stack", "mpi_selector", "intel_hfi", + "opa_stack_dev", + "delta_ipoib", + "delta_debug", ); my @delta_Components_sles15 = ( "opa_stack", "intel_hfi", "opa_stack_dev", "delta_ipoib", @@ -108,6 +116,8 @@ () @Components = ( @delta_Components_sles12_sp3 ); } elsif ( "$CUR_VENDOR_VER" eq "ES124" ) { @Components = ( @delta_Components_sles12_sp4 ); + } elsif ( "$CUR_VENDOR_VER" eq "ES125" ) { + @Components = ( @delta_Components_sles12_sp5 ); } elsif ( "$CUR_VENDOR_VER" eq "ES74" ) { @Components = ( @delta_Components_rhel74 ); } elsif ( "$CUR_VENDOR_VER" eq "ES75" ) { @@ -118,6 +128,8 @@ () @Components = ( @delta_Components_rhel77 ); } elsif ( "$CUR_VENDOR_VER" eq "ES8" ) { @Components = ( @delta_Components_rhel8 ); + } elsif ( "$CUR_VENDOR_VER" eq "ES81" ) { + @Components = ( @delta_Components_rhel81 ); } elsif ( "$CUR_VENDOR_VER" eq "ES15" ) { @Components = ( @delta_Components_sles15 ); } elsif ( "$CUR_VENDOR_VER" eq "ES151" ) { diff --git a/CommonInstall/util_components.pl b/CommonInstall/util_components.pl index f19e822..d0da409 100755 --- a/CommonInstall/util_components.pl +++ b/CommonInstall/util_components.pl @@ -231,6 +231,7 @@ ($$$$$$) my %Default_DisabledComponents = (); # components selected by -D my $Default_EnableAutostart=0; # -E option used to select default enabling of autostart for Default_EnabledComponents my %Default_EnabledComponents = (); # components selected by -E +my $Default_ShowCompInfo=0; # -c option used to select default component information display of Default_Components # Names of supported install components # must be listed in depdency order such that prereqs appear 1st @@ -345,7 +346,178 @@ (;$) print $print_param " $comp"; } } - print "\n"; + print $print_param "\n"; +} + +sub ShowCompInfo(;$) +{ + my $print_param = shift || \*STDOUT; #STDOUT as default parameter + print $print_param "[\n"; + my $first_comp = 1; + my $first_item = 1; + foreach my $comp ( @Components ) + { + if ( $Default_Components{$comp} ) { + if ($first_comp == 1) { + $first_comp = 0; + print $print_param " {\n"; + } else { + print $print_param ",\n {\n"; + } + print $print_param " \"id\": \"$comp\",\n"; + my $description = $ComponentInfo{$comp}{'Name'}; + print $print_param " \"description\": \"$description\",\n"; + if ( $comp eq "delta_debug" ) { + print $print_param " \"error\": \"Not apply. We ship debug rpms in meta pkg _debuginfo.\"\n"; + print $print_param " },\n"; + next; + } + if (comp_is_available($comp)) { + print $print_param " \"available\": \"yes\",\n"; + } else { + print $print_param " \"available\": \"no\",\n"; + } + my $full_ver = comp_media_version($comp); + my ($version, $release) = GetVerRel($full_ver); + print $print_param " \"version\": \"$version\",\n"; + print $print_param " \"release\": \"$release\",\n"; + print $print_param " \"prereqs\": [\n"; + $first_item = 1; + my @reqs = split(/ /, $ComponentInfo{$comp}{'PreReq'}); + foreach my $req (@reqs) { + # ignore req that is not a component. This is for the case we do not + # have mpi_selector for SLES + if ( $req ne '' && grep( /^$req$/, @Components) ) { + my $reqver = comp_media_version($req); + my ($version, $release) = GetVerRel($reqver); + $reqver = "$version-$release"; + if ($first_item == 1) { + $first_item = 0; + print $print_param " {\"id\": \"$req\", \"version\": \"$reqver\"}"; + } else { + print $print_param ",\n {\"id\": \"$req\", \"version\": \"$reqver\"}"; + } + } + } + print $print_param "\n ],\n"; + @reqs = split(/ /, $ComponentInfo{$comp}{'CoReq'}); + print $print_param " \"coreqs\": [\n"; + $first_item = 1; + foreach my $req (@reqs) { + # ignore req that is not a component. This is for the case we do not + # have mpi_selector for SLES + if ( $req ne '' && grep( /^$req$/, @Components) ) { + my $reqver = comp_media_version($req); + my ($version, $release) = GetVerRel($reqver); + $reqver = "$version-$release"; + if ($first_item == 1) { + $first_item = 0; + print $print_param " {\"id\": \"$req\", \"version\": \"$reqver\"}"; + } else { + print $print_param ",\n {\"id\": \"$req\", \"version\": \"$reqver\"}"; + } + } + } + print $print_param "\n ],\n"; + if ( $comp eq "mpisrc" ) { + print $print_param " \"srcrpms\": {\n"; + print $print_param " \"dest\": \"/usr/src/opa/MPI/\",\n"; + my $srcdir=$ComponentInfo{'mpisrc'}{'SrcDir'}; + print $print_param " \"source\": \"$srcdir\",\n"; + print $print_param " \"resources\": [\n"; + $first_item = 1; + foreach my $srpm ( "mvapich2", "openmpi", "mpitests" ) { + my $srpmfile = file_glob("$srcdir/${srpm}-*.src.rpm"); + if ( "$srpmfile" ne "" ) { + my $file = my_basename($srpmfile); + if ($first_item == 1) { + $first_item = 0; + print $print_param " \"$file\""; + } else { + print $print_param ",\n \"$file\""; + } + } + } + print $print_param "\n ]\n"; + print $print_param " },\n"; + print $print_param " \"tools\": {\n"; + print $print_param " \"dest\": \"/usr/src/opa/MPI/\",\n"; + print $print_param " \"source\": \"$srcdir\",\n"; + print $print_param " \"resources\": [\n"; + print $print_param " \"do_build\",\n"; + print $print_param " \"do_mvapich2_build\",\n"; + print $print_param " \"do_openmpi_build\"\n"; + print $print_param " ]\n"; + print $print_param " },\n"; + print $print_param " \"misc\": [\n"; + print $print_param " {\"dest\": \"/usr/src/opa/MPI/.version\", \"source\": \"$srcdir\", \"resource\": \"version\"}\n"; + print $print_param " ]\n"; + } else { + print $print_param " \"userrpms\": [\n"; + ShowRpmList($print_param, " ", "user", @{$ComponentInfo{$comp}{'UserRpms'}}); + print $print_param "\n ],\n"; + print $print_param " \"kernelrpms\": [\n"; + ShowRpmList($print_param, " ", $CUR_OS_VER, @{$ComponentInfo{$comp}{'KernelRpms'}}); + print $print_param "\n ],\n"; + print $print_param " \"firmwarerpms\": [\n"; + ShowRpmList($print_param, " ", "firmware", @{$ComponentInfo{$comp}{'FirmwareRpms'}}); + print $print_param "\n ],\n"; + print $print_param " \"debugrpms\": [\n"; + ShowRpmList($print_param, " ", "any", @{$ComponentInfo{$comp}{'DebugRpms'}}); + print $print_param "\n ]\n"; + } + + print $print_param " }"; + } + } + print $print_param "\n]\n"; +} + +sub GetVerRel($) +{ + my $full_ver = shift(); + my ($version, $release) = split('-', $full_ver, 2); + if ("$release" eq "") { + # assume the version is in expected format, and it shall be. + my @segs = split('\.', $version); + my $last = scalar(@segs)-1; + $version = join('.', @segs[0..3]); + $release = join('.', @segs[4..$last]); + } + return ($version, $release); +} + +sub ShowRpmList($$$$@) +{ + my $print_param = shift(); + my $prefix = shift(); + my $mode = shift(); + my @rpms = @_; + my $rpmsdir = ""; + my $first_item = 1; + foreach my $rpm (@rpms) { + if ( $GPU_Install && -d file_glob("./repos/OPA_PKGS_CUDA") ) { + $rpmsdir=file_glob("./repos/OPA_PKGS_CUDA/RPMS"); + } else { + $rpmsdir=file_glob("./repos/OPA_PKGS/RPMS"); + } + my $rpm_file = rpm_resolve("$rpmsdir/$rpm", $mode); + if ( $rpm_file ne '' ) { + my $version = rpm_query_version_release($rpm_file); + my $epoch = rpm_query_attr($rpm_file, "EPOCH"); + if ("$epoch" ne "") { + $version = "$epoch:$version"; + } + if ($first_item == 1) { + $first_item = 0; + print $print_param "$prefix\{\"id\": \"$rpm\", \"version\": \"$version\"}"; + } else { + print $print_param ",\n$prefix\{\"id\": \"$rpm\", \"version\": \"$version\"}"; + } + } else { + DebugPrint "Not found $rpm"; + } + } } # return 1 if $comp has a prereq of $prereq, 0 otherwise @@ -823,6 +995,10 @@ ($$$$$) my $uninstalling_list = shift(); my $verbosity = shift(); + # try to uninstall meta pkg if it exists + my $metapkg = "opameta_$comp"; + rpm_uninstall_matches($metapkg, $metapkg, '', ""); + rpm_uninstall_list2("any", "$option", $verbosity, @{ $ComponentInfo{$comp}{'DebugRpms'}}); rpm_uninstall_list2("any", "$option", $verbosity, @@ -1359,6 +1535,9 @@ ($) } } + # remove any alias pkgs if it exists. Meta pkgs will be handled in comp uninstall. + rpm_uninstall_matches("opanode_", "opanode_", "", ""); + # first uninstall what will be removed, do this in reverse order # so dependency issues are avoided foreach $comp ( reverse(@Components) ) { @@ -1784,6 +1963,9 @@ ($) } } + # remove any alias pkgs if it exists. Meta pkgs will be handled in comp uninstall. + rpm_uninstall_matches("opanode_", "opanode_", "", ""); + # perform the uninstall, work backwards through list foreach $comp ( reverse(@Components) ) { diff --git a/CommonInstall/util_rpm.pl b/CommonInstall/util_rpm.pl index 05d5746..9851bd4 100755 --- a/CommonInstall/util_rpm.pl +++ b/CommonInstall/util_rpm.pl @@ -727,7 +727,7 @@ ($$) } else { my $osver = rpm_tr_os_version("$mode"); # OS version # we expect 1 match, ignore all other filenames returned - if ( "$CUR_VENDOR_VER" eq 'ES122' || "$CUR_VENDOR_VER" eq 'ES123' || "$CUR_VENDOR_VER" eq 'ES124' || "$CUR_VENDOR_VER" eq 'ES15' || "$CUR_VENDOR_VER" eq 'ES151') { + if ( "$CUR_VENDOR_VER" eq 'ES122' || "$CUR_VENDOR_VER" eq 'ES123' || "$CUR_VENDOR_VER" eq 'ES124' || "$CUR_VENDOR_VER" eq 'ES125' ||"$CUR_VENDOR_VER" eq 'ES15' || "$CUR_VENDOR_VER" eq 'ES151') { DebugPrint("Checking for Kernel Rpm: ${rpmpath}-${osver}_k*.${cpu}.rpm\n"); $rpmfile = file_glob("${rpmpath}-${osver}_k*.${cpu}.rpm"); } else { @@ -1000,6 +1000,17 @@ ($) NormalPrint("rpm-build ($last_checked) is required to build $srpm\n"); $err++; } + # RHEL 8 and later + if (substr("$CUR_VENDOR_VER", 0, 3) eq "ES8") { + if (! rpm_is_installed("kernel-rpm-macros", "any") ) { + NormalPrint("kernel-rpm-macros ($last_checked) is required to build $srpm\n"); + $err++; + } + if (! rpm_is_installed("kernel-abi-whitelists", "any") ) { + NormalPrint("kernel-abi-whitelist ($last_checked) is required to build $srpm\n"); + $err++; + } + } } if ( "$CUR_DISTRO_VENDOR" ne "SuSE" && rpm_will_build_debuginfo()) { if (! rpm_is_installed("redhat-rpm-config", "any")) { diff --git a/Esm/ib/include/ib_sm.h b/Esm/ib/include/ib_sm.h index e84b630..f86491c 100644 --- a/Esm/ib/include/ib_sm.h +++ b/Esm/ib/include/ib_sm.h @@ -280,7 +280,8 @@ typedef SMDBSync_t *SMDBSyncp; /* SM DBSYNC pointer type */ // version 10 - 10.8 release // version 11 - 10.9 release // version 12 - 10.9.3 release -#define FM_PROTOCOL_VERSION 12 +// version 13 - 10.10.1 release +#define FM_PROTOCOL_VERSION 13 typedef struct { diff --git a/IbaTools/opamon/opamon.conf b/IbaTools/opamon/opamon.conf index f86682e..a86e10d 100644 --- a/IbaTools/opamon/opamon.conf +++ b/IbaTools/opamon/opamon.conf @@ -55,7 +55,7 @@ XmitDiscards 0 # superset of CongDiscards # Congestion # ---------- -CongDiscards 100 +CongDiscards 0 RcvFECN 0 RcvBECN 0 MarkFECN 0 diff --git a/IbaTools/portdown/opaportconfig.c b/IbaTools/portdown/opaportconfig.c index b5ab9af..a906c4f 100644 --- a/IbaTools/portdown/opaportconfig.c +++ b/IbaTools/portdown/opaportconfig.c @@ -671,7 +671,7 @@ static void initialize_opamgt(uint8_t hfi, uint8_t port, int *port_in_hfi, struct omgt_params params = {.debug_file = g_verbose > 2 ? stderr : NULL}; if ((status = omgt_open_port_by_num (&g_omgt_port, hfi, port, ¶ms)) != 0) { - fprintf(stderr, "failed to open port hfi %d:%d: %s\n", hfi, port, strerror(status)); + fprintf(stderr, "failed to open port hfi %d:%d: %s\n", hfi, port, omgt_status_totext(status)); exit(1); } diff --git a/MpiApps/apps/intelmpi.params b/MpiApps/apps/intelmpi.params index ef370ed..a8a5548 100644 --- a/MpiApps/apps/intelmpi.params +++ b/MpiApps/apps/intelmpi.params @@ -104,10 +104,7 @@ export I_MPI_OFI_PROVIDER=psm2 # However, if desired, the fabric interface settings can be overridden for # the given job. #export PSM2_DISABLE_CCA=0 -#export PSM2_CCTI_INCREMENT=1 -#export PSM2_CCTI_TIMER=1 -#export PSM2_CCTI_TABLE_SIZE=128 -#export MPI_CMD_ARGS="$MPI_CMD_ARGS -genv PSM2_DISABLE_CCA $PSM2_DISABLE_CCA -genv PSM2_CCTI_INCREMENT $PSM2_CCTI_INCREMENT -genv PSM2_CCTI_TIMER $PSM2_CCTI_TIMER -genv PSM2_CCTI_TABLE_SIZE $PSM2_CCTI_TABLE_SIZE" +#export MPI_CMD_ARGS="$MPI_CMD_ARGS -genv PSM2_DISABLE_CCA $PSM2_DISABLE_CCA" # These values can enable and control PSM Multi-Rail # In most cases the default automatic selections will be sufficient diff --git a/MpiApps/apps/mvapich2.params b/MpiApps/apps/mvapich2.params index c612586..43cbe1c 100644 --- a/MpiApps/apps/mvapich2.params +++ b/MpiApps/apps/mvapich2.params @@ -100,7 +100,7 @@ export MPI_CMD_ARGS= # Normally Congestion Control is completely configured in the SM config file. # However, if desired, the fabric interface settings can be overridden for # the given job. -#export MPI_CMD_ARGS="$MPI_CMD_ARGS -genv PSM2_DISABLE_CCA 0 -genv PSM2_CCTI_INCREMENT 1 -genv PSM2_CCTI_TIMER 1 -genv PSM2_CCTI_TABLE_SIZE 128" +#export MPI_CMD_ARGS="$MPI_CMD_ARGS -genv PSM2_DISABLE_CCA 0" # These values can enable and control PSM Multi-Rail # In most cases the default automatic selections will be sufficient. diff --git a/MpiApps/apps/openmpi.params b/MpiApps/apps/openmpi.params index 971aa82..a868737 100644 --- a/MpiApps/apps/openmpi.params +++ b/MpiApps/apps/openmpi.params @@ -111,7 +111,7 @@ export MPI_CMD_ARGS= # Normally Congestion Control is completely configured in the SM config file. # However, if desired, the fabric interface settings can be overridden for # the given job. -#export MPI_CMD_ARGS="$MPI_CMD_ARGS -x PSM2_DISABLE_CCA=0 -x PSM2_CCTI_INCREMENT=1 -x PSM2_CCTI_TIMER=1 -x PSM2_CCTI_TABLE_SIZE=128" +#export MPI_CMD_ARGS="$MPI_CMD_ARGS -x PSM2_DISABLE_CCA=0" # These values can enable and control PSM Multi-Rail # In most cases the default automatic selections will be sufficient. diff --git a/OpenIb_Host/LINUX/Makefile b/OpenIb_Host/LINUX/Makefile index 8350487..482917d 100644 --- a/OpenIb_Host/LINUX/Makefile +++ b/OpenIb_Host/LINUX/Makefile @@ -111,6 +111,9 @@ endif ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES8" PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_RHEL8.pl endif +ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES81" + PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_RHEL81.pl +endif ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES122" PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_SLES122.pl endif @@ -120,6 +123,9 @@ endif ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES124" PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_SLES124.pl endif +ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES125" + PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_SLES125.pl +endif ifeq "$(BUILD_TARGET_OS_VENDOR_VERSION)" "ES15" PREREQ_SOURCE= $(TL_DIR)/CommonInstall/comp_ff_of_prereq_SLES15.pl endif diff --git a/OpenIb_Host/build.env b/OpenIb_Host/build.env index acd12ac..999040f 100644 --- a/OpenIb_Host/build.env +++ b/OpenIb_Host/build.env @@ -1,6 +1,6 @@ # Adjust the environment variables if necessary export PRODUCT=OPENIB_FF -export RELEASE_TAG=10_10_0_0_445 +export RELEASE_TAG=10_10_1_0_35 export BUILD_CONFIG=${BUILD_CONFIG:-"release"} export BUILD_WITH_STACK=OPENIB export LDENVFS= diff --git a/OpenIb_Host/build_label b/OpenIb_Host/build_label index 27a01b9..faf816d 100644 --- a/OpenIb_Host/build_label +++ b/OpenIb_Host/build_label @@ -1 +1 @@ -Build of OPENIB_FF 10/16/19 23:49 Tag: OPENIB_FF_LINUX_opa-10_10_10_10_0_0_445 +Build of OPENIB_FF 12/26/19 23:51 Tag: OPENIB_FF_LINUX_opa-10_10_10_10_1_0_35 diff --git a/opa-ff.spec.in b/opa-ff.spec.in index 3be4061..381b9e0 100644 --- a/opa-ff.spec.in +++ b/opa-ff.spec.in @@ -1,6 +1,6 @@ Name: opa -Version: 10.10.0.0 -Release: 445%{?dist} +Version: 10.10.1.0 +Release: 35%{?dist} Summary: Intel Omni-Path basic tools and libraries for fabric managment. Group: System Environment/Libraries @@ -18,7 +18,7 @@ __RPM_DEBUG_PKG %description This package contains the tools necessary to manage an Intel(R) Omni-Path Architecture fabric. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %package basic-tools Summary: Managment level tools and scripts. @@ -35,7 +35,7 @@ Epoch: 1 %description basic-tools Contains basic tools for fabric managment necessary on all compute nodes. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %package fastfabric Summary: Management level tools and scripts. @@ -48,7 +48,7 @@ Epoch: 1 %description fastfabric Contains tools for managing fabric on a managment node. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %package address-resolution Summary: Contains Address Resolution manager @@ -62,7 +62,7 @@ Epoch: 1 %description address-resolution This package contains the ibacm distributed SA provider (dsap) for name and address resolution on OPA platform. It also contains the library and tools to access the shared memory database exported by dsap. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %package libopamgt Summary: Omni-Path management API library @@ -71,7 +71,7 @@ Requires: __RPM_REQ_OPAMGT %description libopamgt This package contains the library necessary to build applications that interface with an Omni-Path FM. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %package libopamgt-devel @@ -81,7 +81,7 @@ Requires: __RPM_REQ_OPAMGT_DEV %description libopamgt-devel This package contains the necessary headers for opamgt development. -IFSComponent: Tools_FF 10.10.0.0.445%{?dist} +IFSComponent: Tools_FF 10.10.1.0.35%{?dist} %prep #rm -rf %{_builddir}/*