Repository navigation
Conversation
The install task maps AlmaLinux onto the el platform by comparing the platform string returned by the puppetlabs-facts bash.sh task against the literal "Almalinux". puppetlabs-facts 1.8.0 added an explicit almalinux -> AlmaLinux mapping to munge_name() so bash.sh agrees with facter's os.name; before that, munge_name()'s generic fallback only uppercased the first character and produced "Almalinux". test/[ string comparison is case sensitive and install_shell.sh does not set nocasematch, so with facts >= 1.8.0 no branch matches, the platform is never mapped to el, and execution falls through to *) critical "Sorry $platform is not supported yet!" Accept both spellings so the task works against old and new facts. Verified in almalinux:8 and almalinux:9 containers with facts main's bash.sh under $PT__installdir and PT__noop=true: before the change both fail with "Sorry AlmaLinux is not supported yet!"; after it, platform resolves to el and download_url to http://yum.puppet.com/puppet8-release-el-8.noarch.rpm. A stub bash.sh returning the old "Almalinux" spelling still succeeds. Co-Authored-By: Claude <noreply@anthropic.com>
span786
approved these changes
Sep 15, 2026
There was a problem hiding this comment.
🟢 Approval recommended
The focused compatibility fix correctly handles both platform spellings without changing unrelated behavior.
Pull request overview
Updates AlmaLinux platform normalization to support current and legacy puppetlabs-facts casing.
Changes:
- Accepts both
AlmaLinuxandAlmalinux. - Preserves compatibility with facts versions before 1.8.0.
File summaries
| File | Description |
|---|---|
tasks/install_shell.sh |
Maps both AlmaLinux spellings to the el platform. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
amitkarsale
approved these changes
Sep 17, 2026
joshcooper
requested changes
Sep 17, 2026
joshcooper
left a comment
Contributor
There was a problem hiding this comment.
The change in behavior in the facts module should be reverted. The change to upper case L should be done in a new major version of the facts module
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
puppet_agent::installcurrently fails on every AlmaLinux target with:AlmaLinux is supported — this is a platform-string casing mismatch. Note the capital L in the error: that is the value the task received.
Root cause
tasks/install_shell.shmaps AlmaLinux onto theelplatform by comparing the platform string returned by the puppetlabs-factsbash.shtask against the literalAlmalinux:puppetlabs-facts PR #71 (commit
2455367, merged tomain2026-09-10, released as facts v1.8.0 on 2026-09-11) added an explicit mapping tomunge_name()sobash.shagrees with facter'sos.name:Before that,
munge_name()'s generic fallback only uppercased the first character and producedAlmalinux, which is what this task was written against.test/[string comparison is case sensitive, andinstall_shell.shdoes not setshopt -s nocasematch, so with facts >= 1.8.0 no branch matches,$platformis never mapped toel, and execution falls through to:facts is the correct side here (facter reports
os.name => AlmaLinux), so the fix belongs in this module. This change accepts both spellings so the task keeps working against older facts releases too.tasks/install_shell.shis the only place affected — the manifests,metadata.jsonandspec/classes/puppet_agent_osfamily_redhat_spec.rbalready useAlmaLinux.Impact
Fleet-wide across the module repos, since each module's
.fixtures.ymlclones bothfactsandpuppet_agentfrom GitHubmain: all AlmaLinux acceptance jobs went red the day the facts commit landed. Confirmed identical failures in:It also affects any Bolt/PE user running
puppet_agent::installagainst an AlmaLinux node where facts >= 1.8.0 supplies the platform and facter is not present on the target.Verification
Ran the task in
almalinux:8andalmalinux:9containers with factsmain'sbash.shplaced under$PT__installdir/facts/tasks/andPT__noop=true:almalinux:8CRIT: Sorry AlmaLinux is not supported yet!, exit 1platform=el,download_url=http://yum.puppet.com/puppet8-release-el-8.noarch.rpmalmalinux:9CRITbash.shreturning the oldAlmalinuxspellingbash -n tasks/install_shell.shis clean. The beaker task-acceptance suite was not run locally (needs VPN/internal Artifactory; its matrix isubuntu-20.04/rocky-8, so it does not cover this path).Jira: PA-9340