Puppet 7.29.0/8.5.0 breaks our installer

Ohai,

Puppet released 7.29.0 and 8.5.0 recently, and it breaks our installer (via the redis module we’re using):

[ERROR ] [root] [Error: The parameter '$slowlog_log_slower_than' must be a literal type, not a Puppet::Pops::Model::AccessExpression (file: /usr/share/foreman-installer/modules/redis/manifests/init.pp, line: 426, column: 15) on node pipe-up-foreman-nightly-ubuntu2004.example.com

This is tracked as puppet 7.29.0 and 8.5.0 sink my arithmetic battleship! · Issue #9268 · puppetlabs/puppet · GitHub in Puppet and there is a PR that should fix it: Accept UnaryMinusExpression as class parameter type by joshcooper · Pull Request #9269 · puppetlabs/puppet · GitHub.

Until this is fixed, please don’t use 7.29.0/8.5.0 :frowning:

Debian/Ubuntu

To ignore the update on Debian/Ubuntu installations, you can pin the package to a negative priority:

# cat /etc/apt/preferences.d/puppet.pref 
Package: puppet-agent
Pin: version 7.29.0*
Pin-Priority: -10

Enterprise Linux

To ignore the update on EL installations, you can add the package to the excludepkgs field of the repo:

# cat /etc/yum.repos.d/puppet7-release.repo 
[puppet7]
name=Puppet 7 Repository el 8 - $basearch
baseurl=http://yum.puppet.com/puppet7/el/8/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet7-release
enabled=1
gpgcheck=1
excludepkgs=puppet-agent-7.29.0*
8 Likes

Do we have any notion of whether an accelerated release will happen? I don’t think we can wait for the usual monthly cadence for our installer and puppet module testing or developer environments.

There is a 7.29.1 branch that got the fix at Commits · puppetlabs/puppet · GitHub, so I assume it should show up soon.

As more and more threads show up, can we get this one pinned? (@nofaralfasi)

1 Like

Pinned globally for a week.

4 Likes

Hello,

I had this problem when upgrading from foreman/katello 3.6.2 to 3.7.1. my workaround was to run

dnf downgrade puppet-agent

the upgrade functioned properly afterwards.

subsequent upgrades from 3.7-3.8 and 3.8 to 3.9 the dnf update command became:

dnf -y update -x puppet-agent

The frustrating part about this was that I just did a test run up upgrading my foreman server the week before…

–jason

On new install 3.9 on Ubuntu 20.04 I did that:

#cat /etc/apt/preferences.d/puppet.pref
Package: puppet-agent
Pin: version 7.29.0*
Pin-Priority: -10

#cat /etc/apt/preferences.d/puppet-server.pref
Package: puppet
Pin: version 7.16.*
Pin-Priority: -10

Then in the install procedure I’ve replaced

sudo apt-get -y install ca-certificates
cd /tmp && wget https://apt.puppet.com/puppet7-release-focal.deb
sudo apt-get install /tmp/puppet7-release-focal.deb

by

sudo apt-get -y install ca-certificates
cd /tmp && wget https://apt.puppet.com/pool/focal/puppet7/p/puppet7-release/puppet7-release_7.0.0-15focal_all.deb
sudo apt-get install /tmp/puppet7-release_7.0.0-15focal_all.deb

And all works fine !
1 Like

Same issue. We are using puppet 7 so our install looks like
dnf --assumeyes install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm ... ... dnf --assumeyes install puppet-agent-7.28.0-1.el8
Tried doing something similiar for puppet8 but got an error that the 8.4 client is not compatible with appache-module and I didn’t want to track all that down.

7.29.1 and 8.5.1 have been released and are available on yum.puppet.com and apt.puppet.com

1 Like

I can confirm that the dnf updates to puppet puppetdb puppetdb-termini puppetserver on foreman 3.9.1 / katello 4.11.0 / CentOS 8 Stream no longer cause an issue with foreman-installer for me.

3 Likes