Commit 206c362b authored by Scott Breyer's avatar Scott Breyer

Update to latest from build 10.5.0.0.140 (IFS 10.5.0.0.155)

parent 4cf2934f
......@@ -130,6 +130,7 @@ my @delta_components_rhel70 = (
my @delta_components_sles12_sp2 = (
"opa_stack", # Kernel drivers.
"ibacm",
"intel_hfi", # HFI drivers
"delta_ipoib", # ipoib module.
"mpi_selector",
......@@ -146,6 +147,7 @@ my @delta_components_sles12_sp2 = (
my @delta_components_rhel73 = (
"opa_stack", # Kernel drivers.
"ibacm",
"intel_hfi", # HFI drivers
"delta_ipoib", # ipoib module.
"mpi_selector",
......@@ -197,6 +199,28 @@ my %ibacm_comp_info = (
},
);
my %ibacm_sles12_sp2_comp_info = (
'ibacm' => {
KernelRpms => [ ],
UserRpms => [ ],
DebugRpms => [ ],
Drivers => "", # none
StartupScript => "ibacm",
StartupParams => [ ]
},
);
my %ibacm_rhel73_comp_info = (
'ibacm' => {
KernelRpms => [ ],
UserRpms => [ ],
DebugRpms => [ ],
Drivers => "", # none
StartupScript => "ibacm",
StartupParams => [ ]
},
);
my %intel_hfi_comp_info = (
'intel_hfi' => {
KernelRpms => [ ],
......@@ -671,6 +695,7 @@ my %delta_comp_info_sles12_sp2 = (
%mpiRest_comp_info,
%hfi1_uefi_comp_info,
%delta_debug_comp_info,
%ibacm_sles12_sp2_comp_info,
);
my %delta_comp_info_rhel73 = (
......@@ -688,6 +713,7 @@ my %delta_comp_info_rhel73 = (
%mpiRest_comp_info,
%hfi1_uefi_comp_info,
%delta_debug_comp_info,
%ibacm_rhel73_comp_info,
);
my %delta_comp_info = ( );
......@@ -1888,16 +1914,16 @@ sub build_srpm($$$$$)
if ("$srpm" eq "gasnet") {
$cmd .= " --define '_name gasnet_openmpi_hfi'";
$cmd .= " --define '_prefix /usr/shmem/gcc/gasnet-1.28.0-openmpi-hfi'";
$cmd .= " --define '_prefix /usr/shmem/gcc/gasnet-1.28.2-openmpi-hfi'";
$cmd .= " --define '_name gasnet_gcc_hfi'";
$cmd .= " --define 'spawner mpi'";
$cmd .= " --define 'mpi_prefix /usr/mpi/gcc/openmpi-1.8.5-hfi'";
$cmd .= " --define 'mpi_prefix /usr/mpi/gcc/openmpi-1.10.4-hfi'";
}
if ("$srpm" eq "openshmem") {
$cmd .= " --define '_name openshmem_gcc_hfi'";
$cmd .= " --define '_prefix /usr/shmem/gcc/openshmem-1.3-hfi'";
$cmd .= " --define 'gasnet_prefix /usr/shmem/gcc/gasnet-1.28.0-openmpi-hfi'";
$cmd .= " --define 'gasnet_prefix /usr/shmem/gcc/gasnet-1.28.2-openmpi-hfi'";
$cmd .= " --define 'configargs --with-gasnet-threnv=seq'";
}
......@@ -2874,23 +2900,21 @@ sub install_opa_stack($$)
#override the udev permissions.
install_udev_permissions("$srcdir/config");
#edit_modconf("$srcdir/config");
edit_limitsconf("$srcdir/config");
# setup environment variable so that RPM can configure limits conf
setup_env("OPA_LIMITS_CONF", 1);
# so setting up envirnment to install driver for this component. actual install is done by rpm
setup_env("OPA_INSTALL_CALLER", 1);
# Check $BASE_DIR directory ...exist
check_config_dirs();
check_dir("/usr/lib/opa");
copy_systool_file("$srcdir/comp.pl", "/usr/lib/opa/.comp_ofed_delta.pl");
prompt_opa_conf_param('ARPTABLE_TUNING', 'Adjust kernel ARP table size for large fabrics?', "y", 'OPA_ARPTABLE_TUNING');
prompt_opa_conf_param('SRP_LOAD', 'SRP initiator autoload?', "n", 'OPA_SRP_LOAD');
prompt_opa_conf_param('SRPT_LOAD', 'SRP target autoload?', "n", 'OPA_SRPT_LOAD');
install_delta_comp('opa_stack', $install_list);
prompt_opa_conf_param('ARPTABLE_TUNING', 'Adjust kernel ARP table size for large fabrics?', "y");
prompt_opa_conf_param('SRP_LOAD', 'SRP initiator autoload?', "n");
prompt_opa_conf_param('SRPT_LOAD', 'SRP target autoload?', "n");
copy_data_file("$srcdir/Version", "$BASE_DIR/version_delta");
# prevent distro's open IB from loading
#add_blacklist("ib_mthca");
#add_blacklist("ib_ipath");
......@@ -3094,7 +3118,6 @@ sub install_intel_hfi($$)
my $installing_list = shift(); # what items are being installed/reinstalled
print_install_banner_delta_comp('intel_hfi');
install_delta_comp('intel_hfi', $install_list);
# Adjust irqbalance
if ( -e "/etc/sysconfig/irqbalance" ) {
......@@ -3102,9 +3125,16 @@ sub install_intel_hfi($$)
print "and run using the --hintpolicy=exact option.\n";
$Default_IrqBalance = GetYesNoWithMemory("IrqBalance", 1, "$irq_perm_string", "y");
if ( $Default_IrqBalance == 1 ) {
set_opairqbalance();
}
#set env variable so that RPM can do post install configuration of IRQBALANCE
# if opasystemconfig already exists, set it manually
if ( -f "/sbin/opasystemconfig" ) {
system("/sbin/opasystemconfig --enable Irq_Balance");
} else {
setup_env("OPA_IRQBALANCE", 1);
}
}
}
install_delta_comp('intel_hfi', $install_list);
need_reboot();
$ComponentWasInstalled{'intel_hfi'}=1;
......@@ -3388,20 +3418,11 @@ sub available_delta_ipoib()
sub installed_delta_ipoib()
{
my $driver_subdir=$ComponentInfo{'delta_ipoib'}{'DriverSubdir'};
if ( "$CUR_VENDOR_VER" eq "ES67" ) {
return (( -e "$ROOT$BASE_DIR/version_delta"
&& rpm_is_installed("ifs-kernel-updates", $CUR_OS_VER)));
} elsif ( "$CUR_VENDOR_VER" eq "ES72" || "$CUR_VENDOR_VER" eq "ES73" ) {
return ((-e "$ROOT$BASE_DIR/version_delta"
&& rpm_is_installed("kmod-ifs-kernel-updates", $CUR_OS_VER)));
} elsif ( "$CUR_VENDOR_VER" eq "ES122" ) {
return ((-e "$ROOT$BASE_DIR/version_delta"
&& rpm_is_installed("ifs-kernel-updates-kmp-default", $CUR_OS_VER)));
} else {
return ((-e "$ROOT$BASE_DIR/version_delta"
&& rpm_is_installed("compat-rdma", $CUR_OS_VER)));
return (( -e "$ROOT$BASE_DIR/version_delta"
&& rpm_is_installed("ifs-kernel-updates", $CUR_OS_VER)));
}
return 1;
}
# only called if installed_delta_ipoib is true
......@@ -4341,6 +4362,35 @@ sub check_os_prereqs_ibacm
return rpm_check_os_prereqs("ibacm", "user");
}
# ------------------------------------------------------------------
# # subroutines for rdma-ndd component
# # -----------------------------------------------------------------
sub installed_rdma_ndd()
{
return (rpm_is_installed("infiniband-diags", "user"));
}
sub enable_autostart2_rdma_ndd()
{
system "systemctl enable rdma-ndd >/dev/null 2>&1";
}
sub disable_autostart2_rdma_ndd()
{
system "systemctl disable rdma-ndd >/dev/null 2>&1";
}
sub IsAutostart2_rdma_ndd()
{
my $status = `systemctl is-enabled rdma-ndd`;
if ( $status eq "enabled\n" ){
return 1;
}
else{
return 0;
}
}
# ------------------------------------------------------------------
# subroutines for hfi1_uefi component
# ------------------------------------------------------------------
......
......@@ -46,9 +46,11 @@ my @opa_stack_prereq = (
"systemd",
"glibc",
"libibumad",
"libibumad-devel",
"libibverbs",
"pciutils",
"opensm-libs",
"libibcm",
);
$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq;
......@@ -79,6 +81,7 @@ my @intel_hfi_prereq = (
"libuuid-devel",
"python",
"systemd",
"irqbalance",
);
$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq;
......@@ -97,11 +100,13 @@ my @openmpi_prereq = (
"glibc",
"libgcc",
"libgfortran",
"gcc-gfortran",
"libgomp",
"libibverbs",
"libquadmath",
"librdmacm",
"libstdc++",
"libstdc++-devel",
"opensm-libs",
"papi",
"pkgconfig",
......@@ -141,11 +146,13 @@ my @openmpi_gcc_hfi_prereq = (
"infinipath-psm",
"libgcc",
"libgfortran",
"gcc-gfortran",
"libgomp",
"libibverbs",
"libquadmath",
"librdmacm",
"libstdc++",
"libstdc++-devel",
"opensm-libs",
"papi",
"pkgconfig",
......
......@@ -48,6 +48,9 @@ my @opa_stack_prereq = (
"pciutils",
"opensm-libs",
"libibmad",
"libibcm",
"libibumad",
"libibumad-devel",
);
$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq;
......@@ -69,6 +72,7 @@ my @intel_hfi_prereq = (
"libuuid-devel",
"python",
"systemd",
"irqbalance",
);
$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq;
......@@ -87,11 +91,13 @@ my @openmpi_prereq = (
"glibc",
"libgcc",
"libgfortran",
"gcc-gfortran",
"libgomp",
"libibverbs",
"libquadmath",
"librdmacm",
"libstdc++",
"libstdc++-devel",
"opensm-libs",
"papi",
"pkgconfig",
......@@ -131,11 +137,13 @@ my @openmpi_gcc_hfi_prereq = (
"infinipath-psm",
"libgcc",
"libgfortran",
"gcc-gfortran",
"libgomp",
"libibverbs",
"libquadmath",
"librdmacm",
"libstdc++",
"libstdc++-devel",
"opensm-libs",
"papi",
"pkgconfig",
......
......@@ -48,6 +48,7 @@ my @opa_stack_prereq = (
"libglib-2_0-0",
"libibverbs1",
"libudev1",
"libudev-devel",
"opensm-libs3",
"pciutils",
"perl",
......@@ -55,6 +56,7 @@ my @opa_stack_prereq = (
"rdma",
"systemd",
"kernel-devel",
"libibcm1",
);
$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq;
......@@ -83,6 +85,7 @@ my @intel_hfi_prereq = (
"libuuid-devel",
"python-base",
"udev",
"irqbalance",
);
$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq;
......@@ -105,6 +108,7 @@ my @openmpi_gcc_hfi_prereq = (
"pkg-config",
"libgcc_s1",
"libgfortran3",
"gcc-fortran",
"libgomp1",
"libibverbs1",
"libquadmath0",
......@@ -112,6 +116,7 @@ my @openmpi_gcc_hfi_prereq = (
"libstdc++6",
"libz1",
"opensm-libs3",
"opensm-devel",
"libz1",
);
$comp_prereq_hash{'openmpi_gcc_hfi_prereq'} = \@openmpi_gcc_hfi_prereq;
......@@ -137,6 +142,7 @@ my @openmpi_prereq = (
"pkg-config",
"libgcc_s1",
"libgfortran3",
"gcc-fortran",
"libgomp1",
"libibverbs1",
"libquadmath0",
......@@ -144,6 +150,7 @@ my @openmpi_prereq = (
"libstdc++6",
"libz1",
"opensm-libs3",
"opensm-devel",
);
$comp_prereq_hash{'openmpi_prereq'} = \@openmpi_prereq;
......
......@@ -47,6 +47,9 @@ my @opa_stack_prereq = (
"grep",
"opensm-libs3",
"libibmad5",
"libibcm1",
"libibumad3",
"libibumad-devel",
);
$comp_prereq_hash{'opa_stack_prereq'} = \@opa_stack_prereq;
......@@ -65,9 +68,11 @@ my @intel_hfi_prereq = (
"bash",
"libuuid-devel",
"udev",
"libudev-devel",
"python-base",
"libedit0",
"libncurses5",
"irqbalance",
);
$comp_prereq_hash{'intel_hfi_prereq'} = \@intel_hfi_prereq;
......@@ -90,6 +95,7 @@ my @openmpi_gcc_hfi_prereq = (
"pkg-config",
"libgcc_s1",
"libgfortran3",
"gcc-fortran",
"libgomp1",
"libibverbs1",
"libquadmath0",
......@@ -97,6 +103,7 @@ my @openmpi_gcc_hfi_prereq = (
"libstdc++6",
"libz1",
"opensm-libs3",
"opensm-devel",
);
$comp_prereq_hash{'openmpi_gcc_hfi_prereq'} = \@openmpi_gcc_hfi_prereq;
......@@ -121,6 +128,7 @@ my @openmpi_prereq = (
"pkg-config",
"libgcc_s1",
"libgfortran3",
"gcc-fortran",
"libgomp1",
"libibverbs1",
"libquadmath0",
......@@ -128,6 +136,7 @@ my @openmpi_prereq = (
"libstdc++6",
"libz1",
"opensm-libs3",
"opensm-devel",
);
$comp_prereq_hash{'openmpi_prereq'} = \@openmpi_prereq;
......
......@@ -55,13 +55,8 @@ sub installed_fastfabric
# only called if installed_fastfabric is true
sub installed_version_fastfabric
{
my $version_file="$BASE_DIR/version_ff";
if ( -e "$version_file" ) {
return `cat $ROOT$version_file`;
} else {
return "";
}
my $version = rpm_query_version_release_pkg("opa-fastfabric");
return dot_version("$version");
}
# only called if available_fastfabric is true
......@@ -114,10 +109,6 @@ 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";
check_config_dirs();
if ( -e "$srcdir/comp.pl" ) {
check_dir("/usr/lib/opa");
copy_systool_file("$srcdir/comp.pl", "/usr/lib/opa/.comp_fastfabric.pl");
}
my $rpmfile = rpm_resolve("$srcdir/RPMS/*/", "any", "opa-fastfabric");
rpm_run_install($rpmfile, "any", " -U ");
......@@ -142,8 +133,6 @@ sub install_fastfabric
#remove_conf_file("$ComponentInfo{'fastfabric'}{'Name'}", "$OPA_CONFIG_DIR/iba_stat.conf");
system("rm -rf $ROOT$OPA_CONFIG_DIR/iba_stat.conf"); # old config
install_shmem_apps($srcdir);
$rpmfile = rpm_resolve("$srcdir/RPMS/*/", "any", "opa-mpi-apps");
rpm_run_install($rpmfile, "any", " -U ");
......@@ -171,9 +160,6 @@ sub uninstall_fastfabric
remove_conf_file("$ComponentInfo{'fastfabric'}{'Name'}", "$OPA_CONFIG_DIR/iba_stat.conf");
remove_conf_file("$ComponentInfo{'fastfabric'}{'Name'}", "$FF_TLS_CONF_FILE");
uninstall_shmem_apps;
# remove samples we installed (or user compiled), however do not remove
# any logs or other files the user may have created
remove_installed_files "/usr/share/opa/samples";
......@@ -186,3 +172,79 @@ sub uninstall_fastfabric
$ComponentWasInstalled{'fastfabric'}=0;
}
#############################################################################
##
## OPAMGT SDK
sub available_opamgt_sdk
{
my $srcdir = $ComponentInfo{'opamgt_sdk'}{'SrcDir'};
return ( rpm_exists("$srcdir/RPMS/*/", "any", "opa-libopamgt-devel") &&
rpm_exists("$srcdir/RPMS/*/", "any", "opa-libopamgt"));
}
sub installed_opamgt_sdk
{
return ( rpm_is_installed("opa-libopamgt-devel", "any") &&
rpm_is_installed("opa-libopamgt", "any"));
}
sub installed_version_opamgt_sdk
{
return rpm_query_version_release_pkg("opa-libopamgt-devel");
}
sub media_version_opamgt_sdk
{
my $srcdir = $ComponentInfo{'opamgt_sdk'}{'SrcDir'};
my $rpm = rpm_resolve("$srcdir/RPMS/*/", "any", "opa-libopamgt-devel");
return rpm_query_version_release($rpm);
}
sub build_opamgt_sdk
{
return 0;
}
sub need_reinstall_opamgt_sdk
{
return "no";
}
sub check_os_prereqs_opamgt_sdk
{
rpm_check_os_prereqs("opa-libopamgt", "any");
}
sub preinstall_opamgt_sdk
{
return 0;
}
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/*/", "any", "opa-libopamgt");
rpm_install("$srcdir/RPMS/*/", "any", "opa-libopamgt-devel");
$ComponentWasInstalled{'opamgt_sdk'}=1;
}
sub postinstall_opamgt_sdk
{
}
sub uninstall_opamgt_sdk
{
rpm_uninstall_all_list("any", "verbose", ("opa-libopamgt-devel", "opa-libopamgt") );
$ComponentWasInstalled{'opamgt_sdk'}=0;
}
......@@ -47,6 +47,7 @@ my @oftools_prereq = (
"libibverbs",
"libhfi1",
"libstdc++",
"ibacm",
);
$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq;
......
......@@ -65,6 +65,5 @@ my @fastfabric_prereq = (
"rdma",
"qperf",
"perftest",
);
$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq;
......@@ -48,6 +48,7 @@ my @oftools_prereq = (
"libibverbs1",
"libhfi1verbs-rdmav2 ",
"libstdc++6",
"ibacm",
);
$comp_prereq_hash{'oftools_prereq'} = \@oftools_prereq;
......@@ -69,6 +70,7 @@ my @fastfabric_prereq = (
"libz1",
"bc",
"rdma",
"qperf",
"perftest",
);
$comp_prereq_hash{'fastfabric_prereq'} = \@fastfabric_prereq;
......@@ -2625,9 +2625,12 @@ sub install_opa_stack($$)
#override the udev permissions.
install_udev_permissions("$srcdir/config");
#edit_modconf("$srcdir/config");
edit_limitsconf("$srcdir/config");
# set environment variable for RPM to configure linmits_conf
# edit_limitsconf("$srcdir/config");
setup_env("OPA_LIMITS_CONF", 1);
# We also need to install driver, so setting up envirnment
# to install driver for this component. actual install is done by rpm
setup_env("OPA_INSTALL_DRIVER", 1);
# Check $BASE_DIR directory ...exist
check_config_dirs();
......@@ -2640,7 +2643,7 @@ sub install_opa_stack($$)
# in some recovery situations OFED doesn't properly restore openib.conf
# this makes sure the SMA NodeDesc is properly set so the hostnmae is used
change_openib_conf_param('NODE_DESC', '$(hostname -s)');
prompt_openib_conf_param('RENICE_IB_MAD', 'OFED SMI/GSI renice', "y");
prompt_openib_conf_param('RENICE_IB_MAD', 'OFED SMI/GSI renice', "y", 'OPA_RENICE_IB_MAD');
# QIB driver has replaced IPATH, make sure IPATH disabled
change_openib_conf_param('IPATH_LOAD', 'no');
# MWHEINZ FIXME - disabled because the qib driver is loaded
......@@ -3293,7 +3296,7 @@ sub install_ofed_ipoib($$)
print_install_banner_ofed_comp('ofed_ipoib');
install_ofed_comp('ofed_ipoib', $install_list);
prompt_openib_conf_param('SET_IPOIB_CM', 'IPoIB Connected Mode', "y");
prompt_openib_conf_param('SET_IPOIB_CM', 'IPoIB Connected Mode', "y", 'OPA_SET_IPOIB_CM');
# bonding is more involved, require user to edit to enable that
Config_ifcfg(1,"$ComponentInfo{'ofed_ipoib'}{'Name'}","ib", "$FirstIPoIBInterface",1);
check_network_config;
......@@ -4210,7 +4213,7 @@ sub install_ofed_srp($$)
print_install_banner_ofed_comp('ofed_srp');
install_ofed_comp('ofed_srp', $install_list);
prompt_openib_conf_param('SRPHA_ENABLE', 'OFA SRP High Availability deamon', "n");
prompt_openib_conf_param('SRPHA_ENABLE', 'OFA SRP High Availability deamon', "n", 'OPA_SRPHA_ENABLE');
need_reboot();
$ComponentWasInstalled{'ofed_srp'}=1;
}
......
......@@ -61,11 +61,8 @@ sub installed_oftools
# only called if installed_oftools is true
sub installed_version_oftools
{
if ( -e "$ROOT$BASE_DIR/version_ff" ) {
return `cat $ROOT$BASE_DIR/version_ff`;
} else {
return "";
}
my $version = rpm_query_version_release_pkg("opa-basic-tools");
return dot_version("$version");
}
# only called if available_oftools is true
......@@ -116,10 +113,6 @@ sub install_oftools
# Check $BASE_DIR directory ...exist
check_config_dirs();
if ( -e "$srcdir/comp.pl" ) {
check_dir("/usr/lib/opa");
copy_systool_file("$srcdir/comp.pl", "/usr/lib/opa/.comp_oftools.pl");
}
check_dir("/usr/lib/opa/tools");
check_dir("/usr/share/opa/samples");
......@@ -130,9 +123,6 @@ sub install_oftools
rpm_run_install($rpmfile, "any", " -U ");
check_rpm_config_file("/etc/rdma/dsap.conf");
# we copy version file here for both fastfabric and oftools
copy_data_file("$srcdir/version", "$BASE_DIR/version_ff");
## Install OPA_SA_DB library, headers.
check_dir("/usr/include/infiniband");
copy_shlib("$srcdir/bin/$ARCH/$CUR_DISTRO_VENDOR.$CUR_VENDOR_VER/lib/$DBG_FREE/libopasadb", "$LIB_DIR/libopasadb", "1.0.0");
......