Install
Just do a basic install using ubuntu-18.04.3-live-server-amd64.iso
Prevent Floppy Errors
If your server does not have a floppy, Ubuntu will report errors. This can be prevented by preventing the loading of a floppy driver on the clients:
echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf sudo rmmod floppy sudo update-initramfs -u
Enable Netowrking
The first time I built my VM, networking didn't install correctly. If this happens, create a netplan in /etc/netplans (note that because it's YAML, indentation is important)
network: version: 2 renderer: networkd ethernets: ens160: dhcp4: true
Apply the netplan
sudo netplan apply
Verify that it worked
ifconfig
Host Name Setup
Ensure the Hostname is Set Correctly
sudo hostnamectl set-hostname puppet.bpopp.net
Modify the /etc/hosts file:
127.0.0.1 localhost 192.168.1.42 puppet.bpopp.net # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Install Foreman
Install Puppet
sudo apt-get -y install ca-certificates cd /tmp && wget https://apt.puppet.com/puppet6-release-bionic.deb sudo dpkg -i /tmp/puppet6-release-bionic.deb
There appear to be issues with puppet 6 and newer versions of foreman. Puppet 5 may work better:
wget https://apt.puppetlabs.com/puppet5-release-xenial.deb sudo dpkg -i puppet5-release-xenial.deb sudo apt update
Enable Foreman
echo "deb http://deb.theforeman.org/ bionic 1.22" | sudo tee /etc/apt/sources.list.d/foreman.list echo "deb http://deb.theforeman.org/ plugins 1.22" | sudo tee -a /etc/apt/sources.list.d/foreman.list sudo apt-get -y install ca-certificates wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -
Install
sudo apt-get update && sudo apt-get -y install foreman-installer
Run
sudo foreman-installer \ --enable-foreman-proxy \ --foreman-proxy-tftp=true \ --foreman-proxy-tftp-servername=192.168.1.42 \ --foreman-proxy-dhcp=true \ --foreman-proxy-dhcp-gateway=192.168.1.1 \ --foreman-proxy-dhcp-nameservers="192.168.1.1" \ --foreman-proxy-dhcp-range="192.168.1.150 192.168.1.175" \
Add the Puppetmaster as Host
Seems to be helpful to restart the puppetmaster after installing. To add the puppetmaster as a host, run this from the master:
sudo /opt/puppetlabs/bin/puppet agent --test
Now add our first module:
sudo /opt/puppetlabs/bin/puppet module install puppetlabs/ntp