This task is in place so we can track the tasks required to prepare are systems for a move to puppet version 6. It is not envisaged that we will move to puppet6 untill at least bullseye is releases however we should try to get our code base to a level where the transition should be simple
Blockers To an upgrade
- update the current infrastructure to the latest 5.5 version T265139
- update the puppet compiler T236373
- migrate any scripts away from deprecated CA functions and certificate authority api and subcommands
- ensure manifests use the correct name space PUP-4242
- Check if we prefer the chatty tidy behaviour PUP-8667
- drop the pluginsync config PUP-8532
- upgrade puppetdb servers
- migrate puppet master away from webrick to clojure app PUP-8591
- migrate puppet CA (likley the same work as moving to clojure) PUP-8912
- update puppet agents
- update CI jobs to have a minimum ruby version of 2.3. This implies no jessie agents
- Remove any features or functions deprecated in puppet 5.5 (including hiera version3 and hiera_* functions)
puppet forge core type
when puppet version 6 was released a bunch of core resource types where removed from the puppet code base and spun of as external forge modules. We should be aware of any resource we are using which fall into this catagory and either migrate to a different module/type or add the core modules to our code base when we upgrade
- migrate all cron types to systemd::timer::job
- if still using nagios migrate to puppetlabs/nagios_core as nagios types are no longer core puppet
- Check if which other native types need to be migrated
Benefits to explore (some of theses benefits have be realized by updating to the latest 5.5 branch)
- explore rich_data type T236481
- deferred functions
- puppet ssl command
- A sane API for custom type/providers
- Check if we still need to systemd reload-daemon our self PUP-3483
- group_by/partition_by
- ECC keys PUP-2606
- Scriptable external_trusted_facts PUP-9994
- resubmit_facts could be usefull for cumin? PUP-5934
- can makr packages as manule PUP-6631 T195981
- use a stubbed facter implementation https://github.com/ekohl/voxpupuli-test/commit/5d5bd4791d212ae72c0e295bae25818381bbd8cd