Ask Your Question

Kickstart provisioning with Puppet

asked 2015-05-14 15:03:12 -0500

xaz gravatar image

Hello, I need to develop Puppet code for our node management. I use Kickstart to provisioning a machine or VM. After that, I still need to manually run rpm command & vi command to install and configure Puppet agent, or Puppeter master. Is there a Puppet way to handle all those? But I guess I am not clear what glue is. I am thinking the following sequence: * kickstart * post script of kickstart to handle epel and package install * git pull request Puppet configuration code from git repo, which contains site.pp * run Puppet apply * for Puppet master, create autosigning certificate mechanism

The reason I want to do above is that it's repeatable every time I need a Puppet environment for developing my code and everytime I want to get a consistently fresh environment if I need to re-create them. We could use vagrant just for development purpose but our production node is provisioned using Kickstart. I want to have consistent way of provisioning.

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted

answered 2016-06-13 04:22:58 -0500

mat1010 gravatar image

Hi, you might want to take a look at foreman

edit flag offensive delete link more

answered 2016-06-12 11:23:00 -0500

xaz gravatar image

I'll try to answer this question myself. Certain things can be scripted but needs to be kept small. Small script can be glued into post of kickstart. Use puppet for puppet configuration distribution along with external custom facts the first time. It's very doable.

edit flag offensive delete link more

answered 2016-06-13 10:22:27 -0500

DarylW gravatar image

updated 2016-06-13 10:24:40 -0500


It is a bit of a chicken/egg problem. I recently stumbled onto this repository from Hashicorp.. It may be a good place to get started.

I don't think there is an officially supported way of doing it, as each platform is different. However, with puppet's current AIO (All In One) package, many of the aspects are much easier than they used to be to get started.

We do our bootstrapping in a similar way. We have a common script to get our agent nodes able to find the puppet master, install puppet, set up puppet config values, and connect.

For out puppet master, we have a more complicated script that pulls down a tar of our puppet code (we haven't switched to r10k yet), pulls down any required forge modules and installs them to /etc/puppet/modules (still on 3.7.4), installs any required gems (hiera-eyaml), and puts all of our files in the correct place.

edit flag offensive delete link more

answered 2016-06-13 13:47:01 -0500

cjeffries gravatar image

As mat1010 mentioned, you might want to take a look at Foreman. The kickstart finish template found in this repo is the script that's run after a machine comes up and is able to be SSH'd into. Notice, if "puppetenabled" is true, it will install puppet as well as configure puppet using this snippet

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-05-14 15:03:12 -0500

Seen: 809 times

Last updated: Jun 13 '16