puppet 5 package incompatible with ruby 3 / ubuntu 22.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet (Debian) |
Fix Released
|
Unknown
|
|||
puppet (Ubuntu) |
Fix Released
|
Undecided
|
Lucas Kanashiro | ||
Jammy |
Fix Released
|
Undecided
|
Lucas Kanashiro | ||
Kinetic |
Fix Released
|
Undecided
|
Lucas Kanashiro |
Bug Description
[Impact]
puppet crashes if one tries to create/ensure symlinks via a puppet manifest. I believe this is an feature broadly used by our users.
[Test Plan]
$ lxc launch ubuntu-daily:jammy puppet-test
$ lxc shell puppet-test
# apt update && apt install -y puppet
# cat <<EOF > hellopuppet.pp
file { '/tmp/link-
ensure => 'link',
target => '/etc/motd',
}
EOF
# puppet apply hellopuppet.pp
Notice: Compiled catalog for k1.lxd in environment production in 0.01 seconds
Error: Could not set 'link' on ensure: wrong number of arguments (given 3, expected 2) (file: /home/ubuntu/
Error: Could not set 'link' on ensure: wrong number of arguments (given 3, expected 2) (file: /home/ubuntu/
Wrapped exception:
wrong number of arguments (given 3, expected 2)
Error: /Stage[
Notice: Applied catalog in 0.02 seconds
With the proposed fix the crash should not happen and the link created.
[Where problems could occur]
The risk of the patch introduce a bug is quite low, what might happen is some more occurrences of this issue throughout the codebase. I went through upstream git repo and issue tracker and I think this is enough.
[Original description]
Hi,
the puppet package that comes with ubuntu 22.04 is not completely working under ubuntu 22.04, since it is (outdated) puppet 5 which is not compatible with ruby versions above ruby 2.7, where ubuntu 22.04 comes with ruby 3.
The problem seems to be just a minor problem, it can't set logical links :
Could not set 'link' on ensure: wrong number of arguments (given 3, expected 2)
The bug is known and discussed in upstream debian under
https:/
but they do believe that it is not worth wasting time to fix that old version and rather update to puppet 7.
From what they tell, it takes at least puppet 7.8 to run under ruby 3.
So as a workaround, one could use the regular puppet gem (which is not a server anymore, just the client since 6) on the client side (currently 7.16.0) and use the docker image from
https:/
on the server side. Maybe worth considering to turn this into a snap.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: puppet 5.5.22-4 [modified: usr/bin/puppet]
ProcVersionSign
Uname: Linux 5.15.0-25-generic x86_64
ApportVersion: 2.20.11-0ubuntu82
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: LXQt
Date: Fri Apr 22 15:52:08 2022
InstallationDate: Installed on 2022-04-02 (19 days ago)
InstallationMedia: Lubuntu 22.04 LTS "Jammy Jellyfish" - Beta amd64 (20220329.1)
PackageArchitec
SourcePackage: puppet
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Athos Ribeiro (community): Approve
- Canonical Server MOTU reviewers: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 64 lines (+42/-0)3 files modifieddebian/changelog (+10/-0)
debian/patches/0018-Set-file-links-attribute-to-manage-by-default.patch (+31/-0)
debian/patches/series (+1/-0)
- git-ubuntu import: Pending requested
-
Diff: 80 lines (+50/-0) (has conflicts)3 files modifieddebian/changelog (+15/-0)
debian/patches/0018-Set-file-links-attribute-to-manage-by-default.patch (+31/-0)
debian/patches/series (+4/-0)
- Athos Ribeiro (community): Approve
- Canonical Server MOTU reviewers: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 60 lines (+38/-0)3 files modifieddebian/changelog (+6/-0)
debian/patches/0019-Set-file-links-attribute-to-manage-by-default.patch (+31/-0)
debian/patches/series (+1/-0)
- Andreas Hasenack: Approve
- Canonical Server: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 112 lines (+78/-1)4 files modifieddebian/changelog (+7/-0)
debian/control (+2/-1)
debian/patches/0017-PUP-10537-keyword-param-as-last-arg.patch (+68/-0)
debian/patches/series (+1/-0)
- Andreas Hasenack: Approve
- Canonical Server: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 176 lines (+136/-1)5 files modifieddebian/changelog (+10/-0)
debian/control (+2/-1)
debian/patches/0017-PUP-10537-keyword-param-as-last-arg.patch (+68/-0)
debian/patches/0018-PUP-11045-ruby-openssl-now-sets-store_context.error.patch (+54/-0)
debian/patches/series (+2/-0)
tags: | added: server-todo |
Changed in puppet (Ubuntu): | |
assignee: | nobody → Lucas Kanashiro (lucaskanashiro) |
Changed in puppet (Debian): | |
status: | Unknown → New |
description: | updated |
Changed in puppet (Debian): | |
status: | New → Fix Released |
tags: | removed: server-todo |
Status changed to 'Confirmed' because the bug affects multiple users.