[Pkg-puppet-devel] Notes from the Puppet BoF @ DebConf18
Apollon Oikonomopoulos
apoikos at debian.org
Sat Aug 4 06:30:55 BST 2018
[ CC'ing everyone I think is not a member of p-p-d ]
Hi all,
This is a summary of what was said in the ad-hoc Puppet BoF we held
yesterday at DebConf18 (with minor edits/corrections).
The BoF's aim was to bring together people using Puppet on Debian
systems with members of the Puppet maintainers team and discuss the
current status and the future of Puppet packages.
Current status
--------------
As of today, the latest stable upstream releases (puppet 5.5.3, facter
3.11) are available in sid/buster (but not stretch-backports). We still
use the "old" Ruby master code via rack, together with a rack middleware
that offers 3.x agent compatibility. Note that upstream has moved away
from Ruby puppet-masters since 4.x in favor of Puppet Server, but the
Ruby puppet-master has been working fine for a bunch of us.
PuppetDB 4.4 has been in unstable since DebConf17, but never migrated to
testing for reasons detailed below.
Puppet Server has not been packaged yet and there are no concrete plans
to do so in the near future, although it should not be too hard after
PuppetDB has migrated to testing. The only real question is the
availability and support of the required JRuby versions in Debian.
PuppetDB packaging
------------------
PuppetDB was packaged mostly during last year's DebCamp, in a sprint
that resulted in ~70 new packages. The package is known to work (or at
least have worked), but never migrated to testing, at least due to the
following RC bugs:
- https://bugs.debian.org/878193
- https://bugs.debian.org/884186
- https://bugs.debian.org/825501
- https://bugs.debian.org/850798
- https://bugs.debian.org/875365
- https://bugs.debian.org/880320
- https://bugs.debian.org/880351
- https://bugs.debian.org/889125
- https://bugs.debian.org/896991
Also, most of the Clojure dependencies have been packaged prior to the
inclusion of leiningen in the archive and should be converted to use
leiningen for building. To that end, we need to coordinate with the
Clojure and Java teams, primarily to integrate leiningen with dh.
Towards the freeze
------------------
The Puppet 6 timeline is not concrete yet. According to [1], release is
expected this fall, which should give us enough time before freeze. No
major DSL changes are expected; however, upstream says that they will
try to split built-in puppet types (e.g. like Nagios) into separate
modules. So far the following types seem to have been removed from
master and split out to standalone modules:
- mount (https://github.com/puppetlabs/puppetlabs-mount_core)
- zfs (https://github.com/puppetlabs/puppetlabs-zfs_core)
- selinux (https://github.com/puppetlabs/puppetlabs-selinux_core)
- augeas (https://github.com/puppetlabs/puppetlabs-augeas_core)
- nagios (https://github.com/puppetlabs/puppetlabs-nagios_core)
- sshkeys (https://github.com/puppetlabs/puppetlabs-sshkeys_core)
- cron (https://github.com/puppetlabs/puppetlabs-cron_core)
- host (https://github.com/puppetlabs/puppetlabs-host_core)
According to [1], these modules will be included in puppet-agent at
packaging time; it remains to be seen if this includes the official
tarballs as well, and if not, whether we'll bundle them in the puppet
package or use individual packages.
Finally, extrapolating from [1], Puppet 5.x should have a good couple of
years until EOL, so it could still be chosen for Buster, in case Puppet
6 turns out to be impossible.
[1] https://groups.google.com/forum/#!topic/puppet-dev/uNoCQu6rcFU
As far as Puppet Server is concerned, it is not required to run a puppet
master. Upstream says the Ruby master code is deprecated and supports
only Puppet Server, but for the time being the rack master code works
fine. Future development might lead to features being available only on
Puppet Server, so we should keep an eye open. However, for the time
being, our energy should really be spent on PuppetDB.
While PuppetDB is not a strict requirement, it is still necessary for
using exported resources, and also acts as a convenient centralized
information store, which makes it an essential part of every non-trivial
deployment. Thus we should try to have PuppetDB in buster if possible.
Short-term actions
------------------
A number of people offered to help with some of the tasks outlined
above:
olasd, along with georg, will handle puppet and facter backports to
stretch.
rbalint offered to reduce the delta with Ubuntu.
olasd and myself will take a look at PuppetDBs clojure dependencies and
the RC bugs currently blocking puppetdb.
zigo offered to set up #debian-puppet on OFTC
We also got offers from pollo and intrigeri for early testing of new
Puppet packages.
Finally, I'll update the wiki page [2] both for end-users and packagers.
[2] https://wiki.debian.org/Puppet
If anybody reading these lines would like to help with any of the issues
above, suggest something else, or just comment, please feel free to
reply to this e-mail.
/A
More information about the Pkg-puppet-devel
mailing list