Using puppet 7 and foreman 3.7. The aim is to create foreman smart proxies, managed by puppet. Initially I am only planning to use these for TFTP (for pxeboot), pointed to by the DHCP already set up on our routers, but perhaps I will later enable more smart proxy features.
Right now, though, I tried the simple approach of adding to my Puppetfile:
mod 'theforeman-foreman_proxy', '25.1.0'
And updating the role applicable to my new foreman proxies like so:
class role::foreman_proxy {
include profile::base
class { '::foreman_proxy':
tftp => true,
# Disable everything else
puppet => false,
puppetca => false,
dhcp => false,
dns => false,
bmc => false,
realm => false,
}
}
However, this gives errors:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Unknown function: 'extlib::random_password'. (file: /etc/puppetlabs/code/environments/production/modules/foreman_proxy/manifests/params.pp, line: 175, column: 91) on node myforemanproxy.example.com
I’m using r10k to manage environments, and to manage puppetfile modules.
I found a “.fixtures” file in the foreman proxy repo: https://github.com/theforeman/puppet-foreman_proxy/blob/master/.fixtures.yml which mentions extlib among other things, apparently modules? I’m not familiar with .fixtures; is this similar to a puppetfile in function?
How can I get my installation to work?
(And side question, is the double colon before foreman_proxy
necessary? Other examples in the documentation omit it (GitHub - theforeman/puppet-foreman_proxy: Puppet module for Foreman Smart Proxy) so I wasn’t sure.)