I use Puppet to set up VMs from time to time. Sometimes I run Linux Mint on these VMs. I have a lot of Puppet modules I like to use, but when they check the LSB facts they recoil from the strange Linux Mint version.
For instance, I'm using the official Puppet Labs Java module to install the JDK and such. The params.pp file looks like this (I've cut out much of it):
class java::params {
case $::osfamily {
'RedHat': {...}
'Debian': {
case $::lsbdistcodename {
default: { fail("unsupported release ${::lsbdistcodename}") }
'lenny', 'squeeze', 'lucid', 'natty': {
$java = {
'jdk' => {
'package' => 'openjdk-6-jdk'...
},
'jre' => {
'package' => 'openjdk-6-jre-headless...
},
}
}
'wheezy', 'jessie', 'precise','quantal','raring','saucy', 'trusty', 'utopic': {
...I could add 'rebecca' to the above list, and that would probably do it
$java = {
'jdk' => {
'package' => 'openjdk-7-jdk'...
},
'jre' => {
'package' => 'openjdk-7-jre-headless'
},
'oracle-jre' => {...},
'oracle-jdk' => {...},
}
}
}
}
...
default: { fail("unsupported platform ${::osfamily}") }
}
when I run the agent on the Mint instance, I eventually get:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: unsupported release rebecca at /etc/puppet/modules/java/manifests/params.pp:50 on node some.host.com
rebecca is the version of Linux Mint I'm dealing with at the moment, which corresponds to Ubuntu Trusty.
But each Mint version is based on a Ubuntu version, and that ought to work fine. (Fine enough to try, at least.) I'd really like to tell facter to return the equivalent Ubuntu lsb information, rather than modifying the module, and all the other modules like it. Although that might be a service to the community...
Has someone tried to solve this problem? Ideas?