group_vars | ||
meta | ||
roles | ||
.gitignore | ||
ansible.cfg | ||
cassandra.yml | ||
cinder-controller.yml | ||
cinder-storage.yml | ||
common.yml | ||
dockerregistry.yml | ||
gcc-post-install.yml | ||
gcc-site.yml | ||
generate_secrets.py | ||
glance-controller.yml | ||
heat.yml | ||
horizon.yml | ||
hosts | ||
hosts-openstack03 | ||
keystone.yml | ||
mariadb.yml | ||
memcached.yml | ||
merlin | ||
merlinsdn | ||
neutron-controller.yml | ||
nova-compute.yml | ||
nova-controller.yml | ||
nuke.yml | ||
openstack03 | ||
os-test | ||
post-install.yml | ||
rabbitmq.yml | ||
README.md | ||
secrets.yml | ||
secrets.yml.topol | ||
set_ceph_secrets.yml | ||
settings.yml | ||
site.yml | ||
test_hosts | ||
ubuntucloudrepo.yml |
hpc-cloud
This repository contains playbooks to bring up openstack components inside docker containers. It makes use of ansible roles for the openstack components and the supporting infrastructure. The following roles are installed.
Openstack components.
- keystone
- glance-controller
- horizon
- neutron-controller
- nova-controller
- nova-compute
- cinder-controller
- cinder-storage
Auxilary components:
- database (mariadb)
- rabbitmq (cluster of three nodes)
- memcached
Getting started:
Prerequisites:
- A cluster of servers to install the components on.
- The machines running nova-compute and neutron-controller need a separate interface for neutron to use.
- ubuntu 16.04 with python installed (usually already present).
- Access to the webhost12.service.rug.nl docker repository.
Settings:
Passwords need be added to secrets.yml.topol
and it needs to be saved as secrets.yml
.
This can be done by running ./generate_secrets.py
.
Optionally, one can encrypt the secrtets by running ansible-vault encrypt secrets.yml
.
Secrets:
The roles can be set in the inventory file (hosts)
To bring up one role, for instance keystone, use:
$ ansible-playbook keystone.yml
To bring up all roles, use
$ ansible-playbook site.yml