aboutsummaryrefslogtreecommitdiff
path: root/compose/genenv.sh
diff options
context:
space:
mode:
authorIan Main <imain@redhat.com>2015-03-12 13:22:47 -0700
committerIan Main <imain@redhat.com>2015-03-16 12:26:20 -0700
commitdcb607d3690f78209afdf5868dc3158f2a5f4722 (patch)
tree3c7e24e38b33861f746f3feff5fd9ea418a65b2a /compose/genenv.sh
parent4f622797aee1ebc2b09e8fbc67ccc4454c568d16 (diff)
downloadkolla-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-xcompose/genenv.sh106
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