From 957a3130d586f7da8cd2643dce3de059649bcdbf Mon Sep 17 00:00:00 2001 From: Tomas Sedovic Date: Tue, 19 Sep 2017 17:35:45 +0200 Subject: Docker ansible host (#742) * Document using a Docker image for Ansible host * Fix the markdown url syntax * Mention keystonerc as well --- playbooks/provisioning/openstack/README.md | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'playbooks') diff --git a/playbooks/provisioning/openstack/README.md b/playbooks/provisioning/openstack/README.md index ab1513a73..c6633df06 100644 --- a/playbooks/provisioning/openstack/README.md +++ b/playbooks/provisioning/openstack/README.md @@ -14,6 +14,9 @@ etc.). The result is an environment ready for openshift-ansible. * python-dns / [dnspython](https://pypi.python.org/pypi/dnspython) * Become (sudo) is not required. +**NOTE**: You can use a Docker image with all dependencies set up. +Find more in the [Deployment section](#deployment). + ### Optional Dependencies for localhost **Note**: When using rhel images, `rhel-7-server-openstack-10-rpms` repository is required in order to install these packages. @@ -444,6 +447,35 @@ the dynamic inventory file in your ansible commands , like `-i openstack.py`. ## Deployment +### Using Docker on the Ansible host + +If you don't want to worry about the dependencies, you can use the +[OpenStack Control Host image][control-host-image]. + +[control-host-image]: https://hub.docker.com/r/redhatcop/control-host-openstack/ + +It has all the dependencies installed, but you'll need to map your +code and credentials to it. Assuming your SSH keys live in `~/.ssh` +and everything else is in your current directory (i.e. `ansible.cfg`, +`keystonerc`, `inventory`, `openshift-ansible`, +`openshift-ansible-contrib`), this is how you run the deployment: + + sudo docker run -it -v ~/.ssh:/mnt/.ssh:Z \ + -v $PWD:/root/openshift:Z \ + -v $PWD/keystonerc:/root/.config/openstack/keystonerc.sh:Z \ + redhatcop/control-host-openstack bash + +(feel free to replace `$PWD` with an actual path to your inventory and +checkouts, but note that relative paths don't work) + +The first run may take a few minutes while the image is being +downloaded. After that, you'll be inside the container and you can run +the playbooks: + + cd openshift + ansible-playbook openshift-ansible-contrib/playbooks/provisioning/openstack/provision.yaml + + ### Run the playbook Assuming your OpenStack (Keystone) credentials are in the `keystonerc` -- cgit v1.2.1