heat stack-create -t 240 \
-f templates/rpc-*.yml \
-e environments/rpc-*.yml \
[-e environments/user-maas-credentials.yml] \
<stack-name>
or
rack orchestration stack create --name <stack-name> \
--template-file templates/rpc-<template-name>.yml \
--environment-file environments/rpc-<environment-name>.yml \
--timeout 240
Deployment | Release | Patched Builds * | Unpatched Builds * |
---|---|---|---|
RPC v12.0 Full + Ceph + External Network + MaaS | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net MaaS - Latest Tag - Unpatched) |
RPC v12.0 Full + Ceph + External Network | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net - Latest Tag - Unpatched) |
RPC v12.0 Full + External Network + MaaS | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net MaaS - Latest Tag - Unpatched) |
RPC v12.0 Full + External Network | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net - Latest Tag - Unpatched) |
RPC v12.0 Stand-Alone Object + MaaS | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object MaaS - Latest Tag - Unpatched) |
RPC v12.0 Stand-Alone Object | r12.0.0rc2 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object - Latest Tag - Unpatched) |
RPC v11.1 Full + Ceph + External Network + MaaS | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net MaaS - Latest Tag - Unpatched) |
RPC v11.1 Full + Ceph + External Network | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net - Latest Tag - Unpatched) |
RPC v11.1 Full + External Network + MaaS | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net MaaS - Latest Tag - Unpatched) |
RPC v11.1 Full + External Network | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net - Latest Tag - Unpatched) |
RPC v11.1 Stand-Alone Object + MaaS | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object MaaS - Latest Tag - Unpatched) |
RPC v11.1 Stand-Alone Object | r11.1.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object - Latest Tag - Unpatched) |
RPC v11.0 Full + External Network + MaaS | r11.0.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Full Net MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Full Net MaaS - Latest Tag - Unpatched) |
RPC v11.0 Full + External Network | r11.0.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Full Net - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Full Net - Latest Tag - Unpatched) |
RPC v11.0 Stand-Alone Object + MaaS | r11.0.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Object MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Object MaaS - Latest Tag - Unpatched) |
RPC v11.0 Stand-Alone Object | r11.0.4 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Object - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.0 - Object - Latest Tag - Unpatched) |
RPC v10.1 Full + MaaS | 10.1.18 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full MaaS - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full MaaS - Latest Tag - Unpatched) |
RPC v10.1 Full | 10.1.18 | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full - Latest Tag) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full - Latest Tag - Unpatched) |
RPC v12.0 Full + Ceph + External Network + MaaS | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net MaaS - Head - Unpatched) |
RPC v12.0 Full + Ceph + External Network | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Ceph Net - Head - Unpatched) |
RPC v12.0 Full + External Network + MaaS | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net MaaS - Head - Unpatched) |
RPC v12.0 Full + External Network | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Full Net - Head - Unpatched) |
RPC v12.0 Stand-Alone Object + MaaS | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object MaaS - Head - Unpatched) |
RPC v12.0 Stand-Alone Object | Liberty-12.0 Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v12.0 - Object - Head - Unpatched) |
RPC v11.1 Full + Ceph + External Network + MaaS | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net MaaS - Head - Unpatched) |
RPC v11.1 Full + Ceph + External Network | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Ceph Net - Head - Unpatched) |
RPC v11.1 Full + External Network + MaaS | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net MaaS - Head - Unpatched) |
RPC v11.1 Full + External Network | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Full Net - Head - Unpatched) |
RPC v11.1 Stand-Alone Object + MaaS | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object MaaS - Head - Unpatched) |
RPC v11.1 Stand-Alone Object | Kilo Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v11.1 - Object - Head - Unpatched) |
RPC v10.1 Full + MaaS | Juno Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full MaaS - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full MaaS - Head - Unpatched) |
RPC v10.1 Full | Juno Head | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full - Head) | ![Build Status](http://jenkins.cloudtrain.me:8080/buildStatus/icon?job=RPC v10.1 - Full - Head - Unpatched) |
* This repo maintains a set of patches that will be applied by default in order to create a working environment. Unpatched builds are also tracked for validation purposes. Be aware that unpatched builds may be passing, but MaaS checks and alarms could be broken. If you would like an unpatched build, you can pass the override apply_patches=False
when creating your stack. See Environment Overrides below for more details.
Templates define the cloud resources necessary for the environment. These can be found in the templates
directory.
rpc-full-ceph.yml
- Infra, Logger, Compute, Block, Object, Cephrpc-full.yml
- Infra, Logger, Compute, Block, Objectrpc-object.yml
- Infra, Logger, Object (x3)rpc-ha-full-ceph.yml
- Infra (x3), Logger, Compute (x2), Block, Object, Cephrpc-ha-full.yml
- Infra (x3), Logger, Compute (x2), Block, Objectrpc-ha-object.yml
- Infra (x3), Logger, Object (x3)
Template parameters may be passed in through the use of an environment file. There are several environments that have been provided for various types of deployments. These can be found in the environments
directory.
rpc-12.0-full-ceph-net-maas.yml
- Compute, Block, Object, Ceph, External Network, MaaSrpc-12.0-full-ceph-maas.yml
- Compute, Block, Object, Ceph, MaaSrpc-12.0-full-ceph-net.yml
- Compute, Block, Object, Ceph, External Networkrpc-12.0-full-ceph.yml
- Compute, Block, Object, Cephrpc-12.0-full-net-maas.yml
- Compute, Block, Object, External Network, MaaSrpc-12.0-full-maas.yml
- Compute, Block, Object, Maasrpc-12.0-full-net.yml
- Compute, Block, Object, External Networkrpc-12.0-full.yml
- Compute, Block, Objectrpc-12.0-object-maas.yml
- Stand-Alone Object, MaaSrpc-12.0-object.yml
- Stand-Alone Object
rpc-11.1-full-ceph-net-maas.yml
- Compute, Block, Object, Ceph, External Network, MaaSrpc-11.1-full-ceph-maas.yml
- Compute, Block, Object, Ceph, MaaSrpc-11.1-full-ceph-net.yml
- Compute, Block, Object, Ceph, External Networkrpc-11.1-full-ceph.yml
- Compute, Block, Object, Cephrpc-11.1-full-net-maas.yml
- Compute, Block, Object, External Network, MaaSrpc-11.1-full-maas.yml
- Compute, Block, Object, Maasrpc-11.1-full-net.yml
- Compute, Block, Object, External Networkrpc-11.1-full.yml
- Compute, Block, Objectrpc-11.1-object-maas.yml
- Stand-Alone Object, MaaSrpc-11.1-object.yml
- Stand-Alone Object
rpc-11.0-full-net-maas.yml
- Compute, Block, Object, External Network, MaaSrpc-11.0-full-maas.yml
- Compute, Block, Object, Maasrpc-11.0-full-net.yml
- Compute, Block, Object, External Networkrpc-11.0-full.yml
- Compute, Block, Objectrpc-11.0-object-maas.yml
- Stand-Alone Object, MaaSrpc-11.0-object.yml
- Stand-Alone Object
rpc-10.1-full-maas.yml
- Compute, Block, Object, MaaSrpc-10.1-full.yml
- Compute, Block, Object
In addition to choosing one of the above, if you are planning to install MaaS, you will need to provide your Rackspace Cloud credentials in a separate environment file.
Below is an example of a MaaS credentials environment file.
environments/user-maas-credentials.yml
parameters:
rackspace_cloud_auth_url: 'https://identity.api.rackspacecloud.com/v2.0'
rackspace_cloud_tenant_id: SomeTenantID
rackspace_cloud_username: SomeUserName
rackspace_cloud_password: SomeUsersPassword
rackspace_cloud_api_key: SomeAPIKey
maas_notification_email_address: you@example.com
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-12.0-full-ceph-net-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-12.0-full-ceph-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-12.0-full-ceph-net.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-12.0-full-ceph.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-12.0-full-net-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-12.0-full-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-12.0-full-net.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-12.0-full.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-12.0-object-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-12.0-object.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-11.1-full-ceph-net-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-11.1-full-ceph-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-11.1-full-ceph-net.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full-ceph.yml \
-e environments/rpc-11.1-full-ceph.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.1-full-net-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.1-full-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.1-full-net.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.1-full.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-11.1-object-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-11.1-object.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.0-full-net-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.0-full-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.0-full-net.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-11.0-full.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-11.0-object-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-object.yml \
-e environments/rpc-11.0-object.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-10.1-full-maas.yml \
-e environments/user-maas-credentials.yml \
<stack-name>
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-10.1-full.yml \
<stack-name>
If you would like to to override certain parameters of an environment, you can do so by passing one or more -P
parameter flags.
Below is an example of overriding the rpc_release
parameter to deploy from the HEAD of the Juno branch.
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-10.1-full.yml \
-P rpc_release=juno \
<stack-name>
Below is an example of overriding the rpc_heat_ansible_repo
and rpc_heat_ansible_release
parameters, useful when deploying from a different fork and / or branch of this repo.
heat stack-create -t 240 \
-f templates/rpc-full.yml \
-e environments/rpc-10.1-full.yml \
-P rpc_heat_ansible_repo=https://github.com/my_fork/rpc-heat-ansible.git \
-P rpc_heat_ansible_release=my_branch \
<stack-name>
Unless explicitly specified via an environment file or as an override, the following defaults will be used.
Parameter | Default |
---|---|
ansible_tags |
prepare |
rpc_release |
r11.1.4 |
rpc_heat_ansible_release |
master |
rpc_heat_ansible_repo |
https://github.com/cloud-training/rpc-heat-ansible.git |
maas_notification_email_address |
rpc-maas-alerts@mg.cloudtrain.me |
apply_patches |
True |
deploy_retries |
2 |
infra_flavor |
8 GB Performance |
logger_flavor |
4 GB Performance |
compute_flavor |
4 GB Performance |
block_flavor |
4 GB Performance |
object_flavor |
2 GB Performance |
ceph_flavor |
8 GB Performance |
The build process is spawned inside a tmux session, which allows you to attach and follow along, or to troubleshoot or resume a failed build. There are also tmux windows tailing the various log files that are produced.
# tmux list-sessions
rpc-heat-ansible: 3 windows (created Fri Jan 29 23:17:33 2016) [159x44]
# tmux attach-session -t rpc-heat-ansible
The default window 0:runcmd-bash
is the spawned build process. There is nothing much to see here. You can switch to one of the other windows 1:runcmd-bash-logs
or 2:deploy-sh-logs
, which both are tailing various logs. To switch windows, press ctrl+b
then 1
or 2
, depending on which window you want to switch to.