Jamie Duncan [email protected]
The goal of this project is to provide a collection of 'stackable' ansible playbooks to quickly and easily deploy complex demo and workshop environments.
In addition to that, it will hopefully provide corresponding asciidoc-formatted workshop guides.
I am working to make all of the variables that need to be configured live in the playbooks themselves. These are typically locations of downloaded files (like database dumps or VM images that are used to build out the systems).
In the base directory, you will need to use ansible vault to create an encryped variables file. This needs to include the following variables.
- rhn_user : your RHN user account
- rhn_pass : your RHN account password
This will build out a 3-node Atomic Host cluster with kubernetes configured. kube0
is the controller node, with kube1
and kube2
acting as the worker nodes.
The atomic-demo role also deploys a sample web application and builds out gluster server containers on the 2 Atomic hosts. These are not controlled through kubernetes. This is intentional, to illustrate how things can be done out-of-band and to illustrate how Ansible can deploy container workloads.
If desired, this can be built out using a replication controller. I just haven't done it yet.
To deploy:
ansible-playbook atomic-host-cluster.yml -i hosts --ask-vault-pass
This deploys a Cloudforms system and loads in the Raleigh sample database. It is based on the vagrant process other people built out over the day.
To deploy:
ansible-playbook cfme-demo.yml -i hosts --ask-vault-pass
This builds out a 2 node gluster setup that is ready to act as persistent storage.
To deploy:
ansible-playbook guster-2-node.yml -i hosts --ask-vault-pass
This builds out a 2-node packstack demo using nested virtualization. It pulls from the latest stable RDO version of OpenStack. The packstack-demo role also uploads several images and artifacts into the OpenStack instance to seed it for a customer-facing demo.
There is a variable called ssh_key
in the playbook. This is the ssh key you want packstack to use to deploy itself. it will be associated with root
all of the packstack nodes. It can be any sort of ssh key you like. Just make sure it's not password protected or anything like that.
To deploy:
ansible-playbook packstack-demo.yml -i hosts --ask-vault-pass
This will build out a RHEV-M VM and a RHEL 7 system for it to control.
This is currently not finished
To deploy:
ansible-playbook rhev-demo.yml -i hosts --ask-vault-pass
Believe it or not, you CAN have VM sprawl on a single laptop. This helps stop that. You feed it the group name (from the hosts
file) and it will clear out all of the artifacts from that demo installation.
- VM configs
- VM disks
- SSH Key Entries
To deploy:
ansible-playbook -i hosts --extra-vars "group=<group-name>" demo-cleanup.yml
Example: to clean up at atomic cluster demo:
ansible-playbook -i hosts --extra-vars "group=atomic" demo-cleanup.yml
- start the documentation side of the tool