-
Notifications
You must be signed in to change notification settings - Fork 352
DAOS-18609 test: Resolving slurm issue for el9 #18294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
d7aef2e
3f6561e
eabcdb9
b3b45ca
8ca40a7
281778b
c488fa9
61d79c0
5227ca5
2d7e809
6bec61f
5918daa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,6 +5,7 @@ | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | ||
| """ | ||
| # pylint: disable=too-many-lines | ||
| # pylint: disable=too-many-locals | ||
|
|
||
| import getpass | ||
| import os | ||
|
|
@@ -1482,8 +1483,30 @@ def create_app_cmdline(self, job_spec, pool, ppn, nodesperjob): | |
| # ${DAOS_TEST_APP_SRC}/suse => apps built with suse and gnu-mpich | ||
| # pylint: disable-next=wrong-spelling-in-comment,fixme | ||
| # ${DAOS_TEST_APP_SRC}/suse/intelmpi => apps built with suse and intelmpi | ||
| if "suse" in detect().name.lower() and os.environ.get("DAOS_TEST_MODE") is None: | ||
| os.environ["DAOS_TEST_APP_DIR"] += os.path.join(os.sep, "suse") | ||
| os_info = detect() | ||
| os_name = (os_info.name or "").lower() | ||
| os_version = str(os_info.version or "").strip() | ||
|
|
||
| # Fallback for cases where avocado detect() returns unknown/0. | ||
| if (not os_name or os_name == "unknown" or not os_version or os_version == "0") \ | ||
| and os.path.exists("/etc/os-release"): | ||
| os_release = {} | ||
| with open("/etc/os-release", "r", encoding="utf-8") as fd: | ||
| for line in fd: | ||
| if "=" not in line: | ||
| continue | ||
| key, value = line.rstrip().split("=", 1) | ||
| os_release[key] = value.strip().strip('"') | ||
| os_name = (os_release.get("NAME") or os_release.get("ID") or os_name).lower() | ||
| os_version = (os_release.get("VERSION_ID") or os_version).strip() | ||
|
|
||
| if os.environ.get("DAOS_TEST_MODE") is None: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This may be a bit out of scope for this PR, but it seems all |
||
| if "suse" in os_name: | ||
| os.environ["DAOS_TEST_APP_DIR"] += os.path.join(os.sep, "suse") | ||
| elif os_version == "9": | ||
| os.environ["DAOS_TEST_APP_DIR"] += os.path.join(os.sep, "el9") | ||
| elif os_version == "8": | ||
| os.environ["DAOS_TEST_APP_DIR"] += os.path.join(os.sep, "el8") | ||
| if "mpi/latest" in mpi_module and os.environ.get("DAOS_TEST_MODE") is None: | ||
| os.environ["DAOS_TEST_APP_DIR"] += os.path.join(os.sep, "intelmpi") | ||
| os.environ["I_MPI_OFI_LIBRARY_INTERNAL"] = "0" | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where are we running into cases where avocado detect() returns unknown/0? We use
detect()in every CI test in https://github.com/daos-stack/daos/blob/master/src/tests/ftest/util/apricot/apricot/test.py#L156 and it works with all of the distros we run on.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Discard results for Build#9 as wrong slurm_setup.py was accidentally pushed.
Regarding detect(), as noticed for the results of build#8, it was not able to detect the correct os version for el9 hence was not able to copy the correct lammps build hence lammps jobs failed. So I am just trying to bullet proof that in scenarios where it is failing to detect is especially in case of el9. Not sure what exactly is detect() used for in other tests, but here I need the version number as well.