Skip to content

fix: pick the Enroot RPM distro tag from the version being installed - #1402

Open
100milliongold wants to merge 1 commit into
NVIDIA:masterfrom
xiilab:fix/enroot-rpm-distro-tag
Open

fix: pick the Enroot RPM distro tag from the version being installed#1402
100milliongold wants to merge 1 commit into
NVIDIA:masterfrom
xiilab:fix/enroot-rpm-distro-tag

Conversation

@100milliongold

Copy link
Copy Markdown
Contributor

The nvidia.enroot role builds its RPM URLs with a hardcoded el7 tag
(defaults/main.yml:27-28). Enroot moved to el8 artifacts in 3.4.1 and stopped
publishing el7 ones, so raising enroot_version to any release from 3.4.1
onward makes the RPM download 404 on RHEL-family hosts. That is nine versions,
3.4.1 through 4.2.1.

Derive the tag from enroot_version instead. The tag tracks the Enroot release
rather than the host distribution because Enroot ships no el9 artifacts, so
RHEL 9 installs the el8 packages as well.

This goes in all.yml because that is where the Enroot settings already live --
enroot_config, enroot_runtime_path, enroot_cache_path and enroot_data_path are
all defined there. The conditional follows the shape already used for
maas_repo in the same file.

Verified by rendering the URLs and probing them: 3.2.0 resolves to el7,
3.4.1 and 4.2.1 resolve to el8, all six 200. The deb URLs need no equivalent
change; their filenames have not changed across these releases.

3.4.0 stays broken and is out of scope here: it ships
enroot_3.4.0-1_amd64.deb next to enroot-3.4.0-2.el7.x86_64.rpm, and the role
derives both filenames from a single enroot_release, so no value of that
variable satisfies both. It is the only release out of eighteen where the two
disagree, and it predates the el8 switch.

Companion to the docs change that raises the example versions in
docs/deepops/update-deepops.md; that PR documents this override as a manual
step, and this one removes the need for it.

The nvidia.enroot role builds its RPM URLs with a hardcoded el7 tag
(defaults/main.yml:27-28). Enroot moved to el8 artifacts in 3.4.1 and stopped
publishing el7 ones, so raising enroot_version to any release from 3.4.1
onward makes the RPM download 404 on RHEL-family hosts. That is nine versions,
3.4.1 through 4.2.1.

Derive the tag from enroot_version instead. The tag tracks the Enroot release
rather than the host distribution because Enroot ships no el9 artifacts, so
RHEL 9 installs the el8 packages as well.

This goes in all.yml because that is where the Enroot settings already live --
enroot_config, enroot_runtime_path, enroot_cache_path and enroot_data_path are
all defined there. The conditional follows the shape already used for
maas_repo in the same file.

Verified by rendering the URLs and probing them: 3.2.0 resolves to el7,
3.4.1 and 4.2.1 resolve to el8, all six 200. The deb URLs need no equivalent
change; their filenames have not changed across these releases.

3.4.0 stays broken and is out of scope here: it ships
enroot_3.4.0-1_amd64.deb next to enroot-3.4.0-2.el7.x86_64.rpm, and the role
derives both filenames from a single enroot_release, so no value of that
variable satisfies both. It is the only release out of eighteen where the two
disagree, and it predates the el8 switch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants