Github Action to Build Golden Images with HashiCorp Packer
In previous posts we have already shown multiple ways to use HashiCorp Packer to build Golden Images. In this post we will show how to automate the process with
In a joint effort Jannis Rake-Revelant, Jürgen Brüder, and myself Edmund Haselwanter had a look at several what we call "Openstack Lifecycle Management tools".
This time Jannis Rake-Revelant did most of the work, so thanks for sharing your findings :-)
Rackspace Private Cloud(RPC) is available as an automated deployment system for multiple hosts and as a virtual appliance. The main difference is that the appliance is outdated (based on Openstack Havana, Rackspace Private Cloud 4.2) while the
To use the appliance a registration is required. After the registration, download links for VMware and VirtualBox are provided.
For our setup we choose the OVA for VMware Fusion (can also be deployed in other VMware environments).
After the download the "import" function of can be used to open the OVA:
It is advisable to update the virtual machine before launch:
After a lengthy startup process we are presented with an option to log into the VM with the credentials root:Passw0rd
:
Your Rackspace Private Cloud Sandbox is now ready to use.
# ============================================================================
Horizon URL is : https://192.168.3.154:443
Horizon User Name : admin
Horizon Password : Passw0rd
Sandbox User Name : root
Sandbox Password : Passw0rd
Chef Server URL is : https://192.168.3.154:4000
Chef User Name : admin
Chef Password : Passw0rd
# ============================================================================
root@RPC:~#
Using the Horizon URL we can easily login into the dashboard:
After the creation of a first instance (a cirros image is preinstalled) we are presented with an error concerning the floating IP pool:
The reason being, that there is no floating IP pool. This can be remedied by logging into the VM (console or ssh from the host machine). A nova list
shows us that the credentials are preloaded:
root@RPC:~# nova list
+--------------------------------------+--------------+--------+------------+-------------+-------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------------+--------+------------+-------------+-------------------+
| f1da02eb-a9ba-4aa5-813f-ade77fb6a282 | initial-test | ACTIVE | None | Running | public=172.16.0.2 |
+--------------------------------------+--------------+--------+------------+-------------+-------------------+
We set up a small floating ip pool in the range of our VM:
root@RPC:~# nova-manage floating create 192.168.3.64/28
root@RPC:~# nova-manage floating list
None 192.168.3.65 None nova br0
None 192.168.3.66 None nova br0
None 192.168.3.67 None nova br0
None 192.168.3.68 None nova br0
None 192.168.3.69 None nova br0
None 192.168.3.70 None nova br0
None 192.168.3.71 None nova br0
None 192.168.3.72 None nova br0
None 192.168.3.73 None nova br0
None 192.168.3.74 None nova br0
None 192.168.3.75 None nova br0
None 192.168.3.76 None nova br0
None 192.168.3.77 None nova br0
None 192.168.3.78 None nova br0
Afterwards we can create and allocate a floating IP in the dashboard:
and are able to reach the VM:
ping 192.168.3.66
PING 192.168.3.66 (192.168.3.66): 56 data bytes
64 bytes from 192.168.3.66: icmp_seq=0 ttl=63 time=2.393 ms
64 bytes from 192.168.3.66: icmp_seq=1 ttl=63 time=1.017 ms
An excellent article on the appliance can be found in the Rackspace Blog.
The current version that can be used for setting up a Rackspace Private Cloud is 9.0.0 with automation based on Ansible. Instruction can be found here.
The multi-host setup deployment machine can be kickstarted easily by using Vagrant and the Vagrant Cloud. The prerequisite of Ubuntu 14.04 can be satisfied by:
vagrant init chef/ubuntu-14.04
vagrant up
vagrant ssh
Install additional packages:
apt-get update
apt-get install aptitude build-essential git ntp ntpdate openssh-server python-dev sudo curl
Install sources and dependencies:
cd /opt
git clone -b 9.0.0 https://github.com/rcbops/ansible-lxc-rpc.git
Install pip:
curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install -r /opt/ansible-lxc-rpc/requirements.txt
Generate ssh keypair
ssh-keygen -t rsa
At this point in the documentation it becomes clear that considerable effort is needed to deploy RPC since the change to ansible.
You are interested in our courses or you simply have a question that needs answering? You can contact us at anytime! We will do our best to answer all your questions.
Contact us