
To help people get started running this puppet, let's provide a set of DIB elements and libvirt templates to help set up a mock development environment. Change-Id: Ife8e253ba0429bedb924fde5a12f5be9e23dc163
78 lines
2.1 KiB
ReStructuredText
78 lines
2.1 KiB
ReStructuredText
InfraCloud Development
|
|
======================
|
|
|
|
This example provides a set of DIB elements, libvirt templates, and
|
|
instructions for creating a local development environment that simulates the
|
|
InfraCloud production environment. This means the networking and everything
|
|
ansible sets up in preparation for running puppet apply, including a dummy
|
|
hiera database. It also includes a script to do a short smoke test.
|
|
|
|
Setup
|
|
-----
|
|
|
|
These instructions assume libvirt and disk-image-builder are already installed,
|
|
and that there is a public SSH key in ~/.ssh/id_rsa.pub for the devuser element
|
|
to copy.
|
|
|
|
Create two disk images::
|
|
|
|
export DIB_DEV_USER_PWDLESS_SUDO=yes
|
|
export ELEMENTS_PATH=$HOME/infracloud-development/elements
|
|
DIB_ROLE=controller disk-image-create -u ubuntu devuser system-config puppet \
|
|
motd smoke-test infracloud-static-net vm cloud-init-nocloud \
|
|
-o "/tmp/infracloud-controller.qcow2" --image-size 20 \
|
|
-p git,vim,vlan,bridge-utils
|
|
DIB_ROLE=compute disk-image-create -u ubuntu devuser system-config puppet \
|
|
motd infracloud-static-net vm cloud-init-nocloud \
|
|
-o "/tmp/infracloud-compute.qcow2" --image-size 20 \
|
|
-p git,vim,vlan,bridge-utils
|
|
|
|
These images have static IP addresses and hostnames baked into them. This
|
|
simulates the production environment for most purposes but avoids too much
|
|
complexity setting up local networks.
|
|
|
|
Define the network::
|
|
|
|
virsh net-define definitions/network.xml
|
|
|
|
Start the network::
|
|
|
|
virsh net-start public
|
|
|
|
Define the VMs::
|
|
|
|
virsh define definitions/controller.xml
|
|
virsh define definitions/compute.xml
|
|
|
|
Start the VMs::
|
|
|
|
virsh start controller
|
|
virsh start compute
|
|
|
|
Puppet
|
|
------
|
|
|
|
SSH into the controller::
|
|
|
|
source functions/sshvm
|
|
sshvm controller
|
|
|
|
Apply any puppet changes you're testing to /etc/puppet/modules/infracloud or
|
|
/opt/system-config/production.
|
|
|
|
Run puppet apply::
|
|
|
|
puppet apply /opt/system-config/production/manifests/site.pp
|
|
|
|
Do the same on the compute node once the controller is finished::
|
|
|
|
sshvm compute
|
|
puppet apply /opt/system-config/production/manifests/site.pp
|
|
|
|
Test
|
|
----
|
|
|
|
Run the smoke test script::
|
|
|
|
bash -ex /opt/smoke-test
|