Closed elofu17 closed 10 months ago
The homepage for augeas_core (https://forge.puppet.com/modules/puppetlabs/augeas_core/readme) says:
Setup Requirements: The augeas libraries and ruby bindings must be installed in order to use this module. If you are using puppet-agent packages, then those prerequisites are already satisfied for most platforms.
So for Debian 12, that last sentence don't really apply right now.
To make puppet-agent work the way I'm used to, I currently have to run:
apt install puppet-module-puppetlabs-augeas-core
ln -s /usr/share/puppet/modules.available/puppetlabs-augeas-core /usr/share/puppet/vendor_modules/
I guess you should do something like this to solve this issue:
1
In the puppet-agent
.deb package, move puppet-module-puppetlabs-augeas-core
from Suggests to Depends (together with 'ruby-augeas' which is already there).
Ok, now the module is installed, but this is not enough.
Because even though puppet module list
show that it is installed...
root@baz:~# puppet module list
/usr/share/puppet/modules
└── puppetlabs-augeas_core (v1.1.2)
...apparently it is not found since we get the "'Augeas' was not found" message.
2 I assume the module "registration" is done correctly when the above package is installed (it is located here: /usr/share/puppet/modules/augeas_core -> /etc/alternatives/puppet-module-augeas-core -> /usr/share/puppet/modules.available/puppetlabs-augeas-core).
So the bug must be in 'puppet-agent'. It need to be fixed to find and use the installed module somehow.
Hi @elofu17 this is a dup of 9149. We will release support for debian 12 in the future and our packages will include core modules.
No, this is not a dupe of #9149. However, I see I filed the issue in the wrong git repo, so I have now created https://github.com/puppetlabs/puppet-agent/issues/2445 instead.
@elofu17 it's not really a duplicate of #9149, but you're using a package created by Debian developers, which is maintained here: https://tracker.debian.org/pkg/puppet-agent
This repo is for Puppet upstream, and https://github.com/puppetlabs/puppet-agent/ is for the packages created by Puppet Labs (Perforce), which don't exist yet for Debian 12, which is what #9149 is about.
Your bug report should go to https://bugs.debian.org/puppet-agent instead.
Sorry, yeah "dupe" isn't the right term. I was trying to say that the issue you're running into with Debian provided puppet-agent packages (which is already filed as https://github.com/puppetlabs/puppet-agent/issues/2445#issuecomment-1854314861) will be a non-issue once we ship Debian 12 support and you can just use our packages.
The default install of puppet-agent on Debian 12 lacks augeas support.
See bottom of report for my workaround.
Story
When running
puppet agent -t
on a Debian 12 machine, I get the following error:Steps to Reproduce
I have installed a brand new Debian 12 (bookworm) machine (it is an EC2 instance in AWS, based on the official Debian 12 AMI from Debian).
Since the
puppet-agent
.deb package now seem to be located in the official Debian APT repo, I have not added any custom APT source. (comparison: on my Debian 11 machines I have /etc/apt/sources.list.d/puppet7.list : deb http://apt.puppetlabs.com bullseye puppet7)I declare the node baz.foo.bar in nodes.pp and assign a profile. As long as the profile and manifest don't contain any
augeas
calls, everything is working fine:But if I add any augeas call - for example:
...then puppet-agent immediately bail with "Error: Failed to apply catalog: Resource type 'Augeas' was not found". (see example run at the top).
Additional Context
Package: puppet-agent Version: 7.23.0-1
I also tried this:
...but it is still the same.
During my debugging I found that on my Deb11 machines, augeas seem to be installed here:
/opt/puppetlabs/puppet/vendor_modules/augeas_core/
Also I see that no .deb libs or packages are installed:dpkg -l | grep aug
Now, when writing this report, I thought: what if I put a symlink to that augeas_core module in the vendor_modules dir? ``` root@baz:~# cd /usr/share/puppet/vendor_modules root@baz:/usr/share/puppet/vendor_modules# ln -s /usr/share/puppet/modules.available/puppetlabs-augeas-core root@baz:/usr/share/puppet/vendor_modules# puppet agent -t--noop Info: Using environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Applying configuration version '219979d0' --- /etc/default/puppet 2023-02-10 15:54:26.000000000 +0100 +++ /etc/default/puppet.augnew 2023-12-07 15:54:41.901167922 +0100 @@ -2,3 +2,4 @@ # Startup options DAEMON_OPTS="" +START=yes Notice: /Stage[main]/Profiles::Puppetnode/Augeas[/etc/default/puppet: enable puppet daemon]/returns: current_value 'need_to_run', should be 0 (noop) Notice: Applied catalog in 1.94 seconds root@baz:/usr/share/puppet/vendor_modules# ``` Wheee! It worked. I leave it to you to find the correct solution to this, if this is a bug. If not, should I have run some special command to "register" that available module?