Optional add-ons for Rackspace Private Cloud
The rpc-openstack repo includes add-ons for the Rackspace Private Cloud product that integrate with the openstack-ansible set of Ansible playbooks and roles. These add-ons extend the 'vanilla' OpenStack environment with value-added features that Rackspace has found useful, but are not core to deploying an OpenStack cloud.
In Juno, the MaaS plugins code is contained in a separate repo, rpc-maas, and the Ansible code to deploy and configure the checks and alarms using these plugins is contained in tree with the openstack-ansible repo with the Juno branch.
As of Kilo, both the Maas plugins, and the Ansible code to deploy and configure the checks and alarms, are contained in the rpc-openstack repo.
The Kilo branch of openstack-ansible does not include any rpc-maas support directly any longer.
Plays:
beaver.yml
- deploys the beaver log shipper on all hostselasticsearch.yml
- deploys an elasticsearch hosthaproxy
- deploys haproxy configurations for elasticsearch and kibanahorizon_extensions.yml
- rebrands the horizon dashboard for Rackspace, as well as adding a Rackspace tab and a Solutions tab, which provides Heat templates for commonly deployed applications.kibana.yml
- Setup Kibana on the Kibana hosts for the logging dashboard.logstash.yml
- deploys a logstash host. If this play is used, be sure to uncomment the related block in user_extra_variables.yml before this play is run and then rerun the appropriate plays in openstack-ansible after this play to ensure that rsyslog ships logs to logstash. See steps 11 - 13 below for more.repo-build.yml
- scans throug the YAML files in the source tree and builds any packages or git sources into wheels and deploys them to the local repo server(s).repo-pip-setup.yml
- updates the pip configuration on all of the containers to include the rpc-openstack source that was created byrepo-build.yml
.rpc-support.yml
- provides holland backup service, support SSH key distribution, custom security group rules, bashrc settings, and other miscellaneous tasks helpful to support personnel.setup-maas.yml
- deploys, sets up, and installs Rackspace MaaS checks for Rackspace Private Clouds.setup-logging.yml
- deploys and configures Beaver, Logstash, Elasticsearch, and Kibana to tag, index, and expose aggregated logs from all hosts and containers in the deployment using the related plays mentioned above.site.yml
- deploys all the above playbooks.
-
Clone the RPC repository:
cd /opt && git clone --recursive https://github.com/rcbops/rpc-openstack
-
Unless doing an AIO build, prepare the openstack-ansible configuration.
-
recursively copy the openstack-ansible-deployment configuration files:
cp -R openstack-ansible/etc/openstack_deploy /etc/openstack_deploy
-
merge /etc/openstack_deploy/user_variables.yml with rpcd/etc/openstack_deploy/user_variables.yml:
scripts/update-yaml.py /etc/openstack_deploy/user_variables.yml rpcd/etc/openstack_deploy/user_variables.yml
-
copy the RPC configuration files:
cp rpcd/etc/openstack_deploy/user_extras_*.yml /etc/openstack_deploy
cp rpcd/etc/openstack_deploy/env.d/* /etc/openstack_deploy/env.d
-
If the ELK stack is not going to be used, remove the container configurations from the environment:
rm -f /etc/openstack_deploy/env.d/{elasticsearch,logstash,kibana}.yml
-
Edit configurations in
/etc/openstack_deploy
for example: 1.openstack_user_variables.yml.example
oropenstack_user_variables.yml.aio
2. There is a tool to generate the inventory for RAX datacenters, otherwise it will need to be coded by hand. -
Run the RPC deploy script:
cd /opt/rpc-openstack && ./scripts/deploy.sh
-
If building AIO, set
DEPLOY_AIO=yes
before running -
If building without the ELK stack, set
DEPLOY_ELK=no
before running -
If you want MaaS working with AIO, do the following:
-
edit
/etc/openstack_deploy/user_extras_variables.yml
to add credentials -
run the MaaS setup plays:
cd /opt/rpc-openstack/rpcd/playbooks && openstack-ansible setup-maas.yml
To run an upgrade of an existing openstack-ansible installation:
- Run
scripts/upgrade.sh
.
Please note the following behaviors that are destructive:
* /etc/rpc_deploy
will be deprecated and the file structure moved to
/etc/openstack_deploy
.