diff options
| author | Ian Main <imain@redhat.com> | 2015-03-12 13:22:47 -0700 |
|---|---|---|
| committer | Ian Main <imain@redhat.com> | 2015-03-16 12:26:20 -0700 |
| commit | dcb607d3690f78209afdf5868dc3158f2a5f4722 (patch) | |
| tree | 3c7e24e38b33861f746f3feff5fd9ea418a65b2a /compose/genenv.sh | |
| parent | 4f622797aee1ebc2b09e8fbc67ccc4454c568d16 (diff) | |
| download | kolla-dcb607d3690f78209afdf5868dc3158f2a5f4722.tar.gz kolla-dcb607d3690f78209afdf5868dc3158f2a5f4722.zip | |
Complete docker compose setup.
This change proposes a minimal openstack deployment stood up using
docker-compose. Included is a script to generate the necessary
environment variables for use by the containers as well as an
'openrc'. There is also a script which demonstrates starting the
included services.
We have this working locally using patched containers and can start
instances with networking etc. However, there are several changes
required to various containers that will need to be made to get this
working. We are also using Steven Dake's patches to docker-compose to
allow the use of pid=host. I propose we either merge this change or
build changes on top of this to get a functioning installation.
Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I5e6051054d31edf9840c3a22502d4a7963893f29
Diffstat (limited to 'compose/genenv.sh')
| -rwxr-xr-x | compose/genenv.sh | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/compose/genenv.sh b/compose/genenv.sh new file mode 100755 index 000000000..76582bddc --- /dev/null +++ b/compose/genenv.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# +# This script generates a minimal set of environment variables to allow +# the openstack containers to operate. It is creating a configuration +# suitable for an all-in-one installation of openstack. +# +# It also creates a suitable 'openrc' for use with the installed system. + +MY_IP=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | + awk '$4 == "src" {print $5}') + +MY_DEV=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | + awk '$4 == "src" {print $3}') + +echo MY_IP=$MY_IP +echo MY_DEV=$MY_DEV + +# Database +HOST_IP=$MY_IP +MYSQL_ROOT_PASSWORD=kolla +PASSWORD=12345 + +# Host +ADMIN_TENANT_NAME=admin +PUBLIC_IP=$HOST_IP + +# RabbitMQ +RABBITMQ_SERVICE_HOST=$HOST_IP +RABBIT_USER=guest +RABBIT_PASSWORD=guest + +# Keystone +KEYSTONE_ADMIN_TOKEN=$PASSWORD +KEYSTONE_DB_PASSWORD=kolla +KEYSTONE_ADMIN_PASSWORD=$PASSWORD +KEYSTONE_PUBLIC_SERVICE_HOST=$HOST_IP +KEYSTONE_ADMIN_SERVICE_HOST=$HOST_IP +KEYSTONE_AUTH_PROTOCOL=http + +# Glance +GLANCE_DB_NAME=glance +GLANCE_DB_USER=glance +GLANCE_DB_PASSWORD=kolla +GLANCE_KEYSTONE_USER=glance +GLANCE_KEYSTONE_PASSWORD=glance +GLANCE_API_SERVICE_HOST=$HOST_IP +GLANCE_REGISTRY_SERVICE_HOST=$HOST_IP + +# Nova +NOVA_DB_PASSWORD=nova +NOVA_DB_NAME=nova +NOVA_DB_USER=nova +NOVA_KEYSTONE_USER=nova +NOVA_KEYSTONE_PASSWORD=nova +NOVA_API_SERVICE_HOST=$HOST_IP +NOVA_EC2_SERVICE_HOST=$HOST_IP +NOVA_PUBLIC_INTERFACE=$MY_DEV +NOVA_FLAT_INTERFACE=$MY_DEV +CONFIG_NETWORK=True + +cat > openrc <<EOF +export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_SERVICE_HOST}:5000/v2.0" +export OS_USERNAME=$ADMIN_TENANT_NAME +export OS_PASSWORD=$PASSWORD +export OS_TENANT_NAME=$ADMIN_TENANT_NAME +EOF + +cat > openstack.env <<EOF +ADMIN_TENANT_NAME=$ADMIN_TENANT_NAME +CONFIG_NETWORK=$CONFIG_NETWORK +DB_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD +FLAT_INTERFACE=$NOVA_FLAT_INTERFACE +GLANCE_API_SERVICE_HOST=$GLANCE_API_SERVICE_HOST +GLANCE_DB_NAME=$GLANCE_DB_NAME +GLANCE_DB_PASSWORD=$GLANCE_DB_PASSWORD +GLANCE_DB_USER=$GLANCE_DB_USER +GLANCE_KEYSTONE_PASSWORD=$GLANCE_KEYSTONE_PASSWORD +GLANCE_KEYSTONE_USER=$GLANCE_KEYSTONE_USER +GLANCE_REGISTRY_SERVICE_HOST=$GLANCE_REGISTRY_SERVICE_HOST +KEYSTONE_ADMIN_PASSWORD=$KEYSTONE_ADMIN_PASSWORD +KEYSTONE_ADMIN_SERVICE_HOST=$KEYSTONE_ADMIN_SERVICE_HOST +KEYSTONE_ADMIN_SERVICE_PORT=5000 +KEYSTONE_ADMIN_TOKEN=$KEYSTONE_ADMIN_TOKEN +KEYSTONE_AUTH_PROTOCOL=$KEYSTONE_AUTH_PROTOCOL +KEYSTONE_DB_PASSWORD=$KEYSTONE_DB_PASSWORD +KEYSTONE_PUBLIC_SERVICE_HOST=$KEYSTONE_PUBLIC_SERVICE_HOST +MARIADB_SERVICE_HOST=$HOST_IP +MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD +NETWORK_MANAGER=nova +NOVA_API_SERVICE_HOST=$NOVA_API_SERVICE_HOST +NOVA_DB_NAME=$NOVA_DB_NAME +NOVA_DB_PASSWORD=$NOVA_DB_PASSWORD +NOVA_DB_USER=$NOVA_DB_USER +NOVA_EC2_API_SERVICE_HOST=$NOVA_EC2_SERVICE_HOST +NOVA_EC2_SERVICE_HOST=$NOVA_EC2_SERVICE_HOST +NOVA_KEYSTONE_PASSWORD=$NOVA_KEYSTONE_PASSWORD +NOVA_KEYSTONE_USER=$NOVA_KEYSTONE_USER +PUBLIC_INTERFACE=$NOVA_PUBLIC_INTERFACE +PUBLIC_IP=$HOST_IP +PUBLIC_IP=$PUBLIC_IP +RABBITMQ_PASS=$RABBIT_PASSWORD +RABBITMQ_SERVICE_HOST=$RABBITMQ_SERVICE_HOST +RABBITMQ_USER=$RABBIT_USER +RABBIT_PASSWORD=$RABBIT_PASSWORD +RABBIT_USERID=$RABBIT_USER +EOF |
