I have a node with Debian 9 and system Puppet 4.8.2 which has following hierarchy:
operatingsystem: Debian
operatingsystemmajrelease: '9'
operatingsystemrelease: '9.1'
os:
name: Debian
family: Debian
release:
major: '9'
minor: '1'
full: '9.1'
lsb:
distcodename: stretch
distid: Debian
distdescription: Debian GNU/Linux 9.1 (stretch)
distrelease: '9.1'
majdistrelease: '9'
minordistrelease: '1'
osfamily: Debian
but another node with Puppet 4.10.6 (from Puppetlabs apt repo) has this facts hierarchy:
os:
architecture: amd64
distro:
codename: jessie
description: Debian GNU/Linux 8.9 (jessie)
id: Debian
release:
full: "8.9"
major: "8"
minor: "9"
family: Debian
hardware: x86_64
name: Debian
release:
full: "8.9"
major: "8"
minor: "9"
The question is what is the reasoning for introducing new facts hierarchies when EVEN TWO minor Puppet releases for the same OS have different facts hierarchies?
How am I supposed to get variable that used to have name `$::lsbdistcodename` when on one machine it is `$facts['os']['distro']['codename']` and on the other `$facts['os']['lsb']['distcodename']`? Why even bother with introducing something completely new which makes things much more complicated than before?
↧