An open API service indexing awesome lists of open source software.

https://github.com/mrwulf/vagrant-playground

Add a little abstraction to vagrant to simplify testing puppet and stuff
https://github.com/mrwulf/vagrant-playground

development development-tools devops foreman iterate puppet puppetserver vagrant

Last synced: 4 months ago
JSON representation

Add a little abstraction to vagrant to simplify testing puppet and stuff

Awesome Lists containing this project

README

        

### Installing Foreman and Puppet Agent on Multiple VMs Using Vagrant and VirtualBox
Set up your environment:
1. Install Virtualbox ("tested" with v5.1.18)
1. Install Vagrant ("tested" with v1.9.1)
1. `vagrant plugin install vagrant-hostmanger`
1. `vagrant plugin install vagrant-vbguest`
1. `vagrant plugin install vagrant-triggers`
1. `git clone [email protected]:mrwulf/vagrant-playground.git`
1. `cd vagrant-playground/Workspace`
1. Clone your puppet repository into Workspace/puppet. For example: `hg clone -b production puppet`
1. Clone your hiera repository into Workspace/puppet. For example: `hg clone -b hiera hiera`
1. `cd ..`
1. `vagrant up theforeman.example.com`

### Iterate
1. Stand up the server/cluster you're working on.
* `vagrant up cassandra-01.example.com cassandra-02.example.com cassandra-03.example.com`
1. Make changes to puppet/hiera config.
1. Inspect and run puppet on nodes.
* `vagrant ssh .example.com`
* `sudo puppet agent --test`
1. Profit! (Or start node over with `vagrant destroy .example.com`)

### Where Things Are
* Foreman login:
* https://theforeman.example.com/
* admin/admin
* Foreman node definition: /nodes.js
* Other node definitions: /Workspace/nodes.js
* Hostgroup definitions: /Workspace/nodes.js

### Useful Multi-VM Commands
The use of the specific name is optional in most cases.
* `vagrant halt`
* `vagrant up `
* `vagrant reload `
* `vagrant destroy -f && vagrant up `
* `vagrant status `
* `vagrant ssh `
* `vagrant global-status`