diff --git a/compose/README.md b/compose/README.md new file mode 100644 index 0000000000..ba0ce74e57 --- /dev/null +++ b/compose/README.md @@ -0,0 +1,25 @@ +Docker compose +============== + +These scripts and docker compose files can be used to stand up a simple +installation of openstack. Running the 'genenv.sh' script creates an +'openstack.env' suitable for running on a single host system as well as an +'openrc' to allow access to the installation. + +Once you have run that you can either manually start the containers using the +'docker-compose' command or try the 'start.sh' script which tries to start them +all in a reasonable order, waiting at key points for services to become +available. Once stood up you can issue the typical openstack commands to use +the installation: + +``` +# source openrc +# nova network-create vmnet --fixed-range-v4=10.0.0.0/24 --bridge=br100 --multi-host=T +# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 +# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 +# +# nova keypair-add mykey > mykey.pem +# chmod 600 mykey.pem +# nova boot --flavor m1.medium --key_name mykey --image puffy_clouds instance_name +# ssh -i mykey.pem cirros@ +``` diff --git a/compose/genenv.sh b/compose/genenv.sh new file mode 100755 index 0000000000..76582bddcc --- /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 < openstack.env < mykey.pem +# chmod 600 mykey.pem +# nova boot --flavor m1.medium --key_name mykey --image puffy_clouds newInstanceName