OpenShift Origin Heat Deployment Guide

From DocWiki

Revision as of 23:20, 5 March 2014 by Danehans (Talk | contribs)
Jump to: navigation, search


This document provides users step-by-step instructions for deploying OpenShift Origin (OSO) v3.0 using OpenStack Heat. Heat is the main project in the OpenStack Orchestration program. It implements an orchestration engine to launch multiple composite cloud applications based on templates in the form of text files that can be treated like code. The current OSO Heat template supports deploying one Broker instance and one Node instance. The base OpenStack deployment was accomplished using Cisco's OpenStack Installer (COI) Havana release. However, the Heat deployment should work using any OpenStack distribution that uses Icehouse-2 or later. Although COI supports multiple OpenStack deployment models, the only available model for use with the OSO Heat template is full_ha. This is because full_ha uses Neutron VLAN Provider Networking Extensions which do not require Floating IP address assignment to instances for external network connectivity. Support for additional Neutron networking models are planned for a future date.

Prepare the Images

Images must be created for the Broker and Node instance. The images will be used to deploy running Broker and Node instances using OpenStack Glance, Nova and Heat.

Log into a host that contains the following:

  • OpenStack client packages (i.e. python-novaclient)
  • Network connectivity to OpenStack API endpoints
  • OpenStack credential file. (i.e. openrc). Here is a reference to the contents of an authentication file.

Install git and download Heat Heat templates:

apt-get install -y git
git clone

Perform the following steps in the parent directory of heat-templates to build the images using diskimage-builder:

Download the diskimage-builder software and dependencies:

git clone
apt-get install -y qemu-utils kpartx policycoreutils

Create environmental variables for the Broker image:

mkdir $HOME/tmp
export DIB_RELEASE=19
export ELEMENTS_PATH=heat-templates/openshift-origin/F19/elements
export TMP_DIR=$HOME/tmp

Create the Broker image. Be patient as it takes several minutes to build the image:

diskimage-builder/bin/disk-image-create --no-tmpfs -a amd64 vm fedora openshift-origin-broker -o F19-x86_64-openshift-origin-broker

If you have not done so already, load your credential file.

source /root/openrc

Note: A credential file can be avoided by using the necessary Glance flags to specify the auth URL, username, password, etc..

Add the newly created Broker image to OpenStack Glance:

glance image-create --name F19-x86_64-openshift-origin-broker --is-public true --disk-format qcow2 --container-format bare < F19-x86_64-openshift-origin-broker.qcow2

Change the DIB_IMAGE_SIZE environmental variable for the Node image:

export DIB_IMAGE_SIZE=20

Create the Node image. Be patient as it may take several minutes to build the image:

diskimage-builder/bin/disk-image-create --no-tmpfs -a amd64 vm fedora openshift-origin-node -o F19-x86_64-openshift-origin-node

Add the newly created Node image to OpenStack Glance:

glance image-create --name F19-x86_64-openshift-origin-node --is-public true --disk-format qcow2 --container-format bare < F19-x86_64-openshift-origin-node.qcow2

Verify the Broker and Node images have been installed on Glance and has an active status:

glance image-list
| ID                                   | Name                                     | Disk Format | Container Format | Size       | Status |
| 102d07df-53e9-4499-b04d-32d9e217e2d1 | F19-x86_64-openshift-origin-broker       | qcow2       | bare             | 457444864  | active |
| 5a93c647-98c7-4b46-8461-ac17d3a1aee7 | F19-x86_64-openshift-origin-node         | qcow2       | bare             | 454047232  | active |

Follow the instructions in the SSH Key Injection Section of the Cisco Havana HA Manual Deployment Guide to create a Nova key-pair.

If Neutron networks have yet to be created, create your first tenant network now. Keep in mind this example uses Neutron Provider VLAN Networks which is the only supported networking model for the OSO Heat template. In our example, we use the admin tenant.  Create additional networks as needed. Note: The --tenant_id flag is not specified in the following commands because we previously sourced our credential file.

neutron net-create public223 --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 223

Create your first tenant subnet and associate it to the network you created in the previous step. The example below uses .10-.250 for Instance IP addresses. Modify the allocation-pool and dns_nameservers based on your deployment needs. Create additional networks as needed.

neutron subnet-create --name 223-subnet --allocation-pool start=,end= public223 --dns_nameservers list=true

Rating: 0.0/5 (0 votes cast)

Personal tools