From 1c147e4def0605e64a41916b71a9f2e675a0cbcf Mon Sep 17 00:00:00 2001
From: Swapnil Kulkarni <me@coolsvap.net>
Date: Mon, 20 Jul 2015 11:05:18 +0000
Subject: [PATCH] Update service helper scripts for variable changes

- Updated the required variables to be sorted so
  that they are better visible one on each line

- Removed variable defaults from each service scripts
  and added them to tools/genenv file which holds
  all default values

Change-Id: Ia7b1b08ba3f963b46b81434ce84f476d56890a93
Closes-Bug: #1476494
Closes-Bug: #1467652
---
 docker/common/barbican/config-internal.sh     |   6 +-
 .../ceilometer-api/config-internal.sh         |  19 +-
 .../ceilometer-base/config-ceilometer.sh      |  14 +-
 .../ceilometer-central/config-internal.sh     |   6 +-
 .../ceilometer-compute/config-internal.sh     |   4 +-
 .../cinder-app/cinder-api/config-internal.sh  |  16 +-
 .../cinder-backup/config-internal.sh          |   6 +-
 .../cinder-app/cinder-base/config-cinder.sh   |  26 +-
 .../cinder-scheduler/config-internal.sh       |   9 +-
 .../cinder-volume/config-internal.sh          |  12 +-
 .../designate-api/config-internal.sh          |  14 +-
 .../config-internal.sh                        |   6 +-
 .../designate-base/config-designate.sh        |  25 +-
 .../designate-central/config-internal.sh      |   8 +-
 .../designate-mdns/config-internal.sh         |   3 +-
 .../designate-poolmanager/config-internal.sh  |  12 +-
 .../designate-sink/config-internal.sh         |   3 +-
 docker/common/galera/config-internal.sh       |   9 +-
 .../glance/glance-api/config-internal.sh      |  15 +-
 .../glance/glance-base/config-glance.sh       |  19 +-
 .../glance/glance-registry/config-internal.sh |   6 +-
 .../heat/heat-api-cfn/config-internal.sh      |  14 +-
 .../common/heat/heat-api/config-internal.sh   |  12 +-
 docker/common/heat/heat-base/config-heat.sh   |  24 +-
 .../heat/heat-engine/config-internal.sh       |   7 +-
 docker/common/horizon/config-internal.sh      |   2 -
 docker/common/keepalived/start.sh             |   4 +-
 docker/common/keystone/config-internal.sh     |  42 +-
 .../magnum/magnum-api/config-internal.sh      |  14 +-
 .../magnum/magnum-base/config-magnum.sh       |  18 +-
 .../magnum-conductor/config-internal.sh       |   5 +-
 .../neutron/neutron-base/config-neutron.sh    |  32 +-
 .../neutron-dhcp-agent/config-internal.sh     |  17 +-
 .../neutron-l3-agent/config-internal.sh       |   4 +-
 .../config-internal.sh                        |   8 +-
 .../neutron-metadata-agent/config-internal.sh |  19 +-
 .../config-internal.sh                        |   8 +-
 .../neutron/neutron-server/config-internal.sh |  25 +-
 .../common/nova/nova-api/config-internal.sh   |  13 +-
 docker/common/nova/nova-base/config-nova.sh   |  27 +-
 .../nova/nova-conductor/config-internal.sh    |   6 +-
 .../nova/nova-novncproxy/config-internal.sh   |   9 +-
 docker/common/rabbitmq/config-internal.sh     |   3 +-
 docker/common/rabbitmq/config-rabbit.sh       |   3 +-
 .../swift/swift-account/config-internal.sh    |   9 +-
 .../swift/swift-container/config-internal.sh  |   9 +-
 .../swift/swift-object/config-internal.sh     |   9 +-
 docker/common/zaqar/config-internal.sh        |  12 +-
 docs/minimal-environment-vars.md              |   1 -
 tools/genenv                                  | 632 ++++++++++--------
 50 files changed, 656 insertions(+), 570 deletions(-)

diff --git a/docker/common/barbican/config-internal.sh b/docker/common/barbican/config-internal.sh
index 1ca4bd1be1..da5f306a26 100755
--- a/docker/common/barbican/config-internal.sh
+++ b/docker/common/barbican/config-internal.sh
@@ -7,8 +7,10 @@ if ! [ "$BARBICAN_DB_PASSWORD" ]; then
         export BARBICAN_DB_PASSWORD
 fi
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    KEYSTONE_ADMIN_SERVICE_PORT BARBICAN_ADMIN_PASSWORD
+check_required_vars BARBICAN_ADMIN_PASSWORD \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN
 fail_unless_db
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/ceilometer/ceilometer-api/config-internal.sh b/docker/common/ceilometer/ceilometer-api/config-internal.sh
index f081c9f84d..fb34a468f6 100755
--- a/docker/common/ceilometer/ceilometer-api/config-internal.sh
+++ b/docker/common/ceilometer/ceilometer-api/config-internal.sh
@@ -5,12 +5,19 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-ceilometer.sh
 
-check_required_vars CEILOMETER_DB_USER CEILOMETER_DB_NAME \
-                    CEILOMETER_DB_PASSWORD KEYSTONE_ADMIN_TOKEN \
-                    KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_HOST \
-                    KEYSTONE_ADMIN_SERVICE_PORT ADMIN_TENANT_NAME \
-                    CEILOMETER_KEYSTONE_USER CEILOMETER_ADMIN_PASSWORD \
-                    CEILOMETER_API_SERVICE_HOST PUBLIC_IP
+check_required_vars ADMIN_TENANT_NAME \
+                    CEILOMETER_ADMIN_PASSWORD \
+                    CEILOMETER_API_SERVICE_HOST \
+                    CEILOMETER_DB_NAME \
+                    CEILOMETER_DB_PASSWORD \
+                    CEILOMETER_DB_USER \
+                    CEILOMETER_KEYSTONE_USER \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    PUBLIC_IP
+
 
 fail_unless_os_service_running keystone
 fail_unless_db
diff --git a/docker/common/ceilometer/ceilometer-base/config-ceilometer.sh b/docker/common/ceilometer/ceilometer-base/config-ceilometer.sh
index 4161e48df6..e01ebccc24 100644
--- a/docker/common/ceilometer/ceilometer-base/config-ceilometer.sh
+++ b/docker/common/ceilometer/ceilometer-base/config-ceilometer.sh
@@ -3,17 +3,11 @@
 set -e
 . /opt/kolla/kolla-common.sh
 
-: ${CEILOMETER_DB_USER:=ceilometer}
-: ${CEILOMETER_DB_NAME:=ceilometer}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${CEILOMETER_KEYSTONE_USER:=admin}
-: ${CEILOMETER_ADMIN_PASSWORD:=kolla}
-: ${ADMIN_TENANT_NAME:=admin}
-: ${METERING_SECRET:=ceilometer}
-: ${RABBIT_PASSWORD:=guest}
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_PUBLIC_SERVICE_HOST
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_PUBLIC_SERVICE_HOST
 dump_vars
 
 cat > /openrc <<EOF
diff --git a/docker/common/ceilometer/ceilometer-central/config-internal.sh b/docker/common/ceilometer/ceilometer-central/config-internal.sh
index 76f9a1fc2c..1cc8d46cf6 100755
--- a/docker/common/ceilometer/ceilometer-central/config-internal.sh
+++ b/docker/common/ceilometer/ceilometer-central/config-internal.sh
@@ -3,8 +3,10 @@
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-ceilometer.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_AUTH_PROTOCOL \
-                    KEYSTONE_ADMIN_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_ADMIN_TOKEN
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/ceilometer/ceilometer-compute/config-internal.sh b/docker/common/ceilometer/ceilometer-compute/config-internal.sh
index f4fc30baee..633fa6183a 100755
--- a/docker/common/ceilometer/ceilometer-compute/config-internal.sh
+++ b/docker/common/ceilometer/ceilometer-compute/config-internal.sh
@@ -4,7 +4,9 @@
 . /opt/kolla/config-ceilometer.sh
 
 
-check_required_vars KEYSTONE_ADMIN_TOKEN RABBITMQ_SERVICE_HOST RABBIT_PASSWORD
+check_required_vars KEYSTONE_ADMIN_TOKEN \
+                    RABBITMQ_SERVICE_HOST \
+                    RABBIT_PASSWORD
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/cinder-app/cinder-api/config-internal.sh b/docker/common/cinder-app/cinder-api/config-internal.sh
index 832d4f78a1..158d1efe13 100755
--- a/docker/common/cinder-app/cinder-api/config-internal.sh
+++ b/docker/common/cinder-app/cinder-api/config-internal.sh
@@ -4,11 +4,17 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-cinder.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    ADMIN_TENANT_NAME PUBLIC_IP CINDER_API_SERVICE_HOST \
-                    KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_PORT \
-                    CINDER_KEYSTONE_USER CINDER_KEYSTONE_PASSWORD \
-                    CINDER_API_SERVICE_LISTEN CINDER_API_SERVICE_PORT
+check_required_vars ADMIN_TENANT_NAME \
+                    CINDER_API_SERVICE_HOST \
+                    CINDER_API_SERVICE_LISTEN \
+                    CINDER_API_SERVICE_PORT \
+                    CINDER_KEYSTONE_PASSWORD \
+                    CINDER_KEYSTONE_USER \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_ADMIN_TOKEN \
+                    PUBLIC_IP
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/cinder-app/cinder-backup/config-internal.sh b/docker/common/cinder-app/cinder-backup/config-internal.sh
index 3227ddab29..bd1dda9fa9 100755
--- a/docker/common/cinder-app/cinder-backup/config-internal.sh
+++ b/docker/common/cinder-app/cinder-backup/config-internal.sh
@@ -5,8 +5,10 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-cinder.sh
 
-check_required_vars CINDER_BACKUP_DRIVER CINDER_BACKUP_MANAGER \
-                    CINDER_BACKUP_API_CLASS CINDER_BACKUP_NAME_TEMPLATE
+check_required_vars CINDER_BACKUP_API_CLASS \
+                    CINDER_BACKUP_MANAGER \
+                    CINDER_BACKUP_NAME_TEMPLATE \
+                    CINDER_BACKUP_DRIVER
 
 cfg=/etc/cinder/cinder.conf
 
diff --git a/docker/common/cinder-app/cinder-base/config-cinder.sh b/docker/common/cinder-app/cinder-base/config-cinder.sh
index 5de11a9931..a49b17f07a 100755
--- a/docker/common/cinder-app/cinder-base/config-cinder.sh
+++ b/docker/common/cinder-app/cinder-base/config-cinder.sh
@@ -4,14 +4,24 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-check_required_vars CINDER_DB_PASSWORD CINDER_KEYSTONE_PASSWORD \
-                    KEYSTONE_PUBLIC_SERVICE_HOST RABBITMQ_SERVICE_HOST \
-                    GLANCE_API_SERVICE_HOST MARIADB_SERVICE_HOST \
-                    RABBITMQ_SERVICE_HOST RABBITMQ_SERVICE_PORT \
-                    RABBIT_USERID RABBIT_PASSWORD GLANCE_API_SERVICE_HOST \
-                    GLANCE_API_SERVICE_PORT ADMIN_TENANT_NAME \
-                    CINDER_DB_NAME CINDER_DB_USER CINDER_KEYSTONE_USER \
-                    PUBLIC_IP KEYSTONE_AUTH_PROTOCOL CINDER_API_VERSION
+check_required_vars ADMIN_TENANT_NAME \
+                    CINDER_API_VERSION \
+                    CINDER_DB_NAME \
+                    CINDER_DB_PASSWORD \
+                    CINDER_DB_USER \
+                    CINDER_KEYSTONE_PASSWORD \
+                    CINDER_KEYSTONE_USER \
+                    GLANCE_API_SERVICE_HOST \
+                    GLANCE_API_SERVICE_PORT \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    MARIADB_SERVICE_HOST \
+                    PUBLIC_IP \
+                    RABBITMQ_SERVICE_HOST \
+                    RABBITMQ_SERVICE_HOST \
+                    RABBITMQ_SERVICE_PORT \
+                    RABBIT_PASSWORD \
+                    RABBIT_USERID
 
 dump_vars
 
diff --git a/docker/common/cinder-app/cinder-scheduler/config-internal.sh b/docker/common/cinder-app/cinder-scheduler/config-internal.sh
index 54df779834..e39d152985 100755
--- a/docker/common/cinder-app/cinder-scheduler/config-internal.sh
+++ b/docker/common/cinder-app/cinder-scheduler/config-internal.sh
@@ -7,9 +7,12 @@ set -e
 
 fail_unless_db
 
-check_required_vars MARIADB_SERVICE_HOST DB_ROOT_PASSWORD \
-                    CINDER_DB_NAME CINDER_DB_USER CINDER_DB_PASSWORD \
-                    INIT_CINDER_DB
+check_required_vars CINDER_DB_NAME \
+                    CINDER_DB_PASSWORD \
+                    CINDER_DB_USER \
+                    DB_ROOT_PASSWORD \
+                    INIT_CINDER_DB \
+                    MARIADB_SERVICE_HOST
 
 cfg=/etc/cinder/cinder.conf
 
diff --git a/docker/common/cinder-app/cinder-volume/config-internal.sh b/docker/common/cinder-app/cinder-volume/config-internal.sh
index 0b0d9b95cf..79a813e9c8 100755
--- a/docker/common/cinder-app/cinder-volume/config-internal.sh
+++ b/docker/common/cinder-app/cinder-volume/config-internal.sh
@@ -6,10 +6,14 @@ set -e
 . /opt/kolla/config-cinder.sh
 . /opt/kolla/volume-group-create.sh
 
-check_required_vars CINDER_VOLUME_API_LISTEN ISCSI_HELPER ISCSI_IP_ADDRESS \
-                    CINDER_VOLUME_GROUP CINDER_LVM_LO_VOLUME_SIZE \
-                    CINDER_VOLUME_BACKEND_NAME CINDER_VOLUME_DRIVER \
-                    CINDER_ENABLED_BACKEND
+check_required_vars CINDER_ENABLED_BACKEND \
+                    CINDER_LVM_LO_VOLUME_SIZE \
+                    CINDER_VOLUME_API_LISTEN \
+                    CINDER_VOLUME_BACKEND_NAME \
+                    CINDER_VOLUME_DRIVER \
+                    CINDER_VOLUME_GROUP \
+                    ISCSI_HELPER \
+                    ISCSI_IP_ADDRESS
 
 cfg=/etc/cinder/cinder.conf
 
diff --git a/docker/common/designate/designate-api/config-internal.sh b/docker/common/designate/designate-api/config-internal.sh
index aae50ea8f1..c7eb42c165 100755
--- a/docker/common/designate/designate-api/config-internal.sh
+++ b/docker/common/designate/designate-api/config-internal.sh
@@ -6,11 +6,15 @@ set -e
 
 CONF=/etc/designate/designate.conf
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    DESIGNATE_KEYSTONE_USER DESIGNATE_KEYSTONE_PASSWORD \
-                    KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \
-                    DESIGNATE_API_SERVICE_HOST DESIGNATE_API_SERVICE_PORT \
-                    KEYSTONE_ADMIN_SERVICE_PORT
+check_required_vars ADMIN_TENANT_NAME \
+                    DESIGNATE_API_SERVICE_HOST \
+                    DESIGNATE_API_SERVICE_PORT \
+                    DESIGNATE_KEYSTONE_PASSWORD \
+                    DESIGNATE_KEYSTONE_USER \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_ADMIN_TOKEN
 
 export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
 export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
diff --git a/docker/common/designate/designate-backend-bind9/config-internal.sh b/docker/common/designate/designate-backend-bind9/config-internal.sh
index 90d2de676b..45a127fdd8 100755
--- a/docker/common/designate/designate-backend-bind9/config-internal.sh
+++ b/docker/common/designate/designate-backend-bind9/config-internal.sh
@@ -3,8 +3,10 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-check_required_vars DESIGNATE_MASTERNS DESIGNATE_SLAVENS DESIGNATE_BIND9_RNDC_KEY \
-                    DESIGNATE_ALLOW_RECURSION
+check_required_vars DESIGNATE_ALLOW_RECURSION \
+                    DESIGNATE_BIND9_RNDC_KEY \
+                    DESIGNATE_MASTERNS \
+                    DESIGNATE_SLAVENS
 
 NAMEDCFG=/etc/named.conf
 
diff --git a/docker/common/designate/designate-base/config-designate.sh b/docker/common/designate/designate-base/config-designate.sh
index 6edfd1bd24..8d433b0111 100755
--- a/docker/common/designate/designate-base/config-designate.sh
+++ b/docker/common/designate/designate-base/config-designate.sh
@@ -21,14 +21,23 @@ get_or_create_domain() {
     echo $DOMAIN_ID
 }
 
-check_required_vars DESIGNATE_DB_PASSWORD DESIGNATE_KEYSTONE_PASSWORD \
-                    KEYSTONE_PUBLIC_SERVICE_HOST RABBITMQ_SERVICE_HOST \
-                    DESIGNATE_BIND9_RNDC_KEY DESIGNATE_BACKEND \
-                    KEYSTONE_PUBLIC_SERVICE_PORT DESIGNATE_KEYSTONE_USER \
-                    RABBIT_USERID RABBIT_PASSWORD DESIGNATE_DB_USER \
-                    DESIGNATE_DB_NAME KEYSTONE_AUTH_PROTOCOL \
-                    KEYSTONE_ADMIN_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \
-                    DEBUG_LOGGING DESIGNATE_POOLMAN_POOLID
+check_required_vars DEBUG_LOGGING \
+                    DESIGNATE_BACKEND \
+                    DESIGNATE_BIND9_RNDC_KEY \
+                    DESIGNATE_DB_NAME \
+                    DESIGNATE_DB_PASSWORD \
+                    DESIGNATE_DB_USER \
+                    DESIGNATE_KEYSTONE_PASSWORD \
+                    DESIGNATE_KEYSTONE_USER \
+                    DESIGNATE_POOLMAN_POOLID \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    KEYSTONE_PUBLIC_SERVICE_PORT \
+                    RABBITMQ_SERVICE_HOST \
+                    RABBIT_PASSWORD \
+                    RABBIT_USERID
 
 fail_unless_db
 dump_vars
diff --git a/docker/common/designate/designate-central/config-internal.sh b/docker/common/designate/designate-central/config-internal.sh
index 44cf89130b..1f91b06e10 100755
--- a/docker/common/designate/designate-central/config-internal.sh
+++ b/docker/common/designate/designate-central/config-internal.sh
@@ -4,8 +4,12 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-designate.sh
 
-check_required_vars MARIADB_SERVICE_HOST DB_ROOT_PASSWORD DESIGNATE_DB_NAME \
-                    DESIGNATE_DB_USER DESIGNATE_DB_PASSWORD INIT_DESIGNATE_DB
+check_required_vars DB_ROOT_PASSWORD \
+                    DESIGNATE_DB_NAME \
+                    DESIGNATE_DB_PASSWORD \
+                    DESIGNATE_DB_USER \
+                    INIT_DESIGNATE_DB \
+                    MARIADB_SERVICE_HOST
 
 fail_unless_db
 
diff --git a/docker/common/designate/designate-mdns/config-internal.sh b/docker/common/designate/designate-mdns/config-internal.sh
index a3e5df2747..cd3383b0d4 100755
--- a/docker/common/designate/designate-mdns/config-internal.sh
+++ b/docker/common/designate/designate-mdns/config-internal.sh
@@ -4,7 +4,8 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-designate.sh
 
-check_required_vars DESIGNATE_MASTERNS DESIGNATE_MDNS_PORT
+check_required_vars DESIGNATE_MASTERNS \
+                    DESIGNATE_MDNS_PORT
 
 CONF=/etc/designate/designate.conf
 
diff --git a/docker/common/designate/designate-poolmanager/config-internal.sh b/docker/common/designate/designate-poolmanager/config-internal.sh
index f5222b3f46..c20a09676b 100755
--- a/docker/common/designate/designate-poolmanager/config-internal.sh
+++ b/docker/common/designate/designate-poolmanager/config-internal.sh
@@ -4,10 +4,14 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-designate.sh
 
-check_required_vars DESIGNATE_MASTERNS DESIGNATE_BACKEND DESIGNATE_SLAVENS \
-                    DESIGNATE_MDNS_PORT DESIGNATE_DNS_PORT DESIGNATE_POOLMAN_POOLID \
-                    DESIGNATE_POOLMAN_TARGETS DESIGNATE_POOLMAN_NSS \
-                    DESIGNATE_POOLMAN_POOLID
+check_required_vars DESIGNATE_BACKEND \
+                    DESIGNATE_DNS_PORT \
+                    DESIGNATE_MASTERNS \
+                    DESIGNATE_MDNS_PORT \
+                    DESIGNATE_POOLMAN_NSS \
+                    DESIGNATE_POOLMAN_POOLID \
+                    DESIGNATE_POOLMAN_TARGETS \
+                    DESIGNATE_SLAVENS
 
 CONF=/etc/designate/designate.conf
 
diff --git a/docker/common/designate/designate-sink/config-internal.sh b/docker/common/designate/designate-sink/config-internal.sh
index a6a3a4bacb..e32111fb3e 100755
--- a/docker/common/designate/designate-sink/config-internal.sh
+++ b/docker/common/designate/designate-sink/config-internal.sh
@@ -30,7 +30,8 @@ configure_neutron_handler() {
     done
 }
 
-check_required_vars DESIGNATE_API_SERVICE_HOST DESIGNATE_API_SERVICE_PORT \
+check_required_vars DESIGNATE_API_SERVICE_HOST \
+                    DESIGNATE_API_SERVICE_PORT \
                     DESIGNATE_DEFAULT_POOL_NS_RECORD
 
 check_for_os_service_endpoint designate DESIGNATE_API_SERVICE_HOST DESIGNATE_API_SERVICE_PORT || exit $?
diff --git a/docker/common/galera/config-internal.sh b/docker/common/galera/config-internal.sh
index 5e55dcde44..d92414a6f5 100755
--- a/docker/common/galera/config-internal.sh
+++ b/docker/common/galera/config-internal.sh
@@ -3,8 +3,12 @@
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-galera.sh
 
-check_required_vars DB_CLUSTER_BIND_ADDRESS DB_CLUSTER_NAME DB_CLUSTER_NODES \
-                    DB_ROOT_PASSWORD DB_CLUSTER_WSREP_METHOD DB_CLUSTER_INIT_DB
+check_required_vars DB_CLUSTER_BIND_ADDRESS \
+                    DB_CLUSTER_INIT_DB \
+                    DB_CLUSTER_NAME \
+                    DB_CLUSTER_NODES \
+                    DB_CLUSTER_WSREP_METHOD \
+                    DB_ROOT_PASSWORD
 
 CFG=/etc/my.cnf.d/server.cnf
 DB_CLUSTER_INIT_SQL=/tmp/mysql-first-time.sql
@@ -17,4 +21,3 @@ if [[ "${DB_CLUSTER_INIT_DB}" == "true" ]] && ! [[ -a /var/lib/mysql/cluster.exi
 fi
 
 mysqld_safe --init-file=$DB_CLUSTER_INIT_SQL $DB_CLUSTER_IS_MASTER_NODE
-
diff --git a/docker/common/glance/glance-api/config-internal.sh b/docker/common/glance/glance-api/config-internal.sh
index 9140afbf19..45af8d7ec4 100755
--- a/docker/common/glance/glance-api/config-internal.sh
+++ b/docker/common/glance/glance-api/config-internal.sh
@@ -5,11 +5,16 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-glance.sh
 
-check_required_vars ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \
-                    GLANCE_KEYSTONE_PASSWORD GLANCE_KEYSTONE_USER \
-                    GLANCE_REGISTRY_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \
-                    KEYSTONE_ADMIN_SERVICE_PORT KEYSTONE_ADMIN_TOKEN \
-                    KEYSTONE_AUTH_PROTOCOL PUBLIC_IP \
+check_required_vars ADMIN_TENANT_NAME \
+                    GLANCE_API_SERVICE_HOST \
+                    GLANCE_KEYSTONE_PASSWORD \
+                    GLANCE_KEYSTONE_USER \
+                    GLANCE_REGISTRY_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    PUBLIC_IP \
                     RABBITMQ_SERVICE_HOST
 
 fail_unless_os_service_running keystone
diff --git a/docker/common/glance/glance-base/config-glance.sh b/docker/common/glance/glance-base/config-glance.sh
index 51bb56667d..2823af3143 100644
--- a/docker/common/glance/glance-base/config-glance.sh
+++ b/docker/common/glance/glance-base/config-glance.sh
@@ -4,17 +4,13 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-: ${ADMIN_TENANT_NAME:=admin}
-: ${GLANCE_DB_NAME:=glance}
-: ${GLANCE_DB_USER:=glance}
-: ${GLANCE_KEYSTONE_USER:=glance}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${PUBLIC_IP:=$GLANCE_API_PORT_9292_TCP_ADDR}
-
-
-check_required_vars ADMIN_TENANT_NAME GLANCE_DB_NAME GLANCE_DB_PASSWORD \
-                    GLANCE_DB_USER GLANCE_KEYSTONE_PASSWORD \
-                    GLANCE_KEYSTONE_USER KEYSTONE_PUBLIC_SERVICE_HOST \
+check_required_vars ADMIN_TENANT_NAME \
+                    GLANCE_DB_NAME \
+                    GLANCE_DB_PASSWORD \
+                    GLANCE_DB_USER \
+                    GLANCE_KEYSTONE_PASSWORD \
+                    GLANCE_KEYSTONE_USER \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
                     MARIADB_SERVICE_HOST
 dump_vars
 
@@ -64,4 +60,3 @@ for cfg in /etc/glance/glance-api.conf /etc/glance/glance-registry.conf; do
         connection \
         "mysql://${GLANCE_DB_USER}:${GLANCE_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${GLANCE_DB_NAME}"
 done
-
diff --git a/docker/common/glance/glance-registry/config-internal.sh b/docker/common/glance/glance-registry/config-internal.sh
index ec646eb70d..c0ce4df5cc 100755
--- a/docker/common/glance/glance-registry/config-internal.sh
+++ b/docker/common/glance/glance-registry/config-internal.sh
@@ -6,8 +6,10 @@ set -e
 . /opt/kolla/config-glance.sh
 
 
-check_required_vars DB_ROOT_PASSWORD GLANCE_DB_NAME \
-                    GLANCE_DB_PASSWORD GLANCE_DB_USER \
+check_required_vars DB_ROOT_PASSWORD \
+                    GLANCE_DB_NAME \
+                    GLANCE_DB_PASSWORD \
+                    GLANCE_DB_USER \
                     MARIADB_SERVICE_HOST
 # lets wait for the DB to be available
 wait_for 25 1 check_for_db
diff --git a/docker/common/heat/heat-api-cfn/config-internal.sh b/docker/common/heat/heat-api-cfn/config-internal.sh
index bcd72250b4..4fce4079c3 100755
--- a/docker/common/heat/heat-api-cfn/config-internal.sh
+++ b/docker/common/heat/heat-api-cfn/config-internal.sh
@@ -4,11 +4,15 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-heat.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    HEAT_CFN_KEYSTONE_USER HEAT_CFN_KEYSTONE_PASSWORD \
-                    KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_PORT \
-                    ADMIN_TENANT_NAME HEAT_API_CFN_SERVICE_HOST \
-                    HEAT_API_CFN_SERVICE_PORT
+check_required_vars ADMIN_TENANT_NAME \
+                    HEAT_API_CFN_SERVICE_HOST \
+                    HEAT_API_CFN_SERVICE_PORT \
+                    HEAT_CFN_KEYSTONE_PASSWORD \
+                    HEAT_CFN_KEYSTONE_USER \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/heat/heat-api/config-internal.sh b/docker/common/heat/heat-api/config-internal.sh
index b57aaa710b..39acca5153 100755
--- a/docker/common/heat/heat-api/config-internal.sh
+++ b/docker/common/heat/heat-api/config-internal.sh
@@ -4,10 +4,14 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-heat.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    HEAT_KEYSTONE_USER HEAT_KEYSTONE_PASSWORD \
-                    KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \
-                    HEAT_API_SERVICE_HOST PUBLIC_IP
+check_required_vars ADMIN_TENANT_NAME \
+                    HEAT_API_SERVICE_HOST \
+                    HEAT_KEYSTONE_PASSWORD \
+                    HEAT_KEYSTONE_USER \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    PUBLIC_IP
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/heat/heat-base/config-heat.sh b/docker/common/heat/heat-base/config-heat.sh
index 843221ccdd..9b71654aa5 100755
--- a/docker/common/heat/heat-base/config-heat.sh
+++ b/docker/common/heat/heat-base/config-heat.sh
@@ -4,21 +4,15 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-: ${ADMIN_TENANT_NAME:=admin}
-: ${HEAT_DB_NAME:=heat}
-: ${HEAT_DB_USER:=heat}
-: ${HEAT_KEYSTONE_USER:=heat}
-: ${HEAT_CFN_KEYSTONE_USER:=heat_cfn}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${PUBLIC_IP:=$HEAT_API_PORT_8004_TCP_ADDR}
-: ${RABBIT_USER:=guest}
-: ${RABBIT_PASSWORD:=guest}
-
-check_required_vars HEAT_DB_PASSWORD HEAT_KEYSTONE_PASSWORD \
-                    HEAT_API_CFN_URL_HOST HEAT_API_CFN_SERVICE_PORT \
-                    KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_PORT \
-                    KEYSTONE_PUBLIC_SERVICE_PORT RABBITMQ_SERVICE_HOST \
-                    MARIADB_SERVICE_HOST HEAT_DOMAIN_PASS
+check_required_vars HEAT_API_CFN_SERVICE_PORT \
+                    HEAT_API_CFN_URL_HOST \
+                    HEAT_DB_PASSWORD \
+                    HEAT_DOMAIN_PASS \
+                    HEAT_KEYSTONE_PASSWORD \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    KEYSTONE_PUBLIC_SERVICE_PORT \
+                    MARIADB_SERVICE_HOST \
+                    RABBITMQ_SERVICE_HOST
 
 fail_unless_db
 dump_vars
diff --git a/docker/common/heat/heat-engine/config-internal.sh b/docker/common/heat/heat-engine/config-internal.sh
index 0cafbc480c..90fdfb8d0b 100755
--- a/docker/common/heat/heat-engine/config-internal.sh
+++ b/docker/common/heat/heat-engine/config-internal.sh
@@ -4,8 +4,11 @@
 . /opt/kolla/config-heat.sh
 . /openrc
 
-check_required_vars HEAT_DB_NAME HEAT_DB_USER HEAT_DB_PASSWORD \
-                    INIT_HEAT_DB HEAT_DOMAIN_PASS
+check_required_vars HEAT_DB_NAME \
+                    HEAT_DB_PASSWORD \
+                    HEAT_DB_USER \
+                    HEAT_DOMAIN_PASS \
+                    INIT_HEAT_DB
 fail_unless_db
 
 if [ "${INIT_HEAT_DB}" == "true" ]; then
diff --git a/docker/common/horizon/config-internal.sh b/docker/common/horizon/config-internal.sh
index 4e720bb879..0e53e2738f 100755
--- a/docker/common/horizon/config-internal.sh
+++ b/docker/common/horizon/config-internal.sh
@@ -1,8 +1,6 @@
 #!/bin/bash
 set -e
 
-: ${HORIZON_KEYSTONE_USER:=horizon}
-
 . /opt/kolla/kolla-common.sh
 
 fail_unless_os_service_running keystone
diff --git a/docker/common/keepalived/start.sh b/docker/common/keepalived/start.sh
index 7f582b2180..3d182f6355 100755
--- a/docker/common/keepalived/start.sh
+++ b/docker/common/keepalived/start.sh
@@ -2,7 +2,9 @@
 
 . /opt/kolla/kolla-common.sh
 
-check_required_vars KEEPALIVED_HOST_PRIORITIES PUBLIC_IP PUBLIC_INTERFACE
+check_required_vars KEEPALIVED_HOST_PRIORITIES \
+                    PUBLIC_INTERFACE \
+                    PUBLIC_IP
 
 MY_HOSTNAME=`hostname`
 
diff --git a/docker/common/keystone/config-internal.sh b/docker/common/keystone/config-internal.sh
index 2d522b699a..d2e9596557 100755
--- a/docker/common/keystone/config-internal.sh
+++ b/docker/common/keystone/config-internal.sh
@@ -6,43 +6,19 @@ set -e
 echo "Running the kolla-common script"
 . /opt/kolla/kolla-common.sh
 
-# Credentials, token, etc..
-: ${ADMIN_USER:=admin}
-: ${ADMIN_USER_PASSWORD:=password}
-: ${ADMIN_TENANT_NAME:=admin}
-: ${KEYSTONE_USER:=keystone}
-: ${KEYSTONE_ADMIN_PASSWORD:=password}
-: ${KEYSTONE_ADMIN_TOKEN:=changeme}
-# DB Settings
-: ${INIT_KEYSTONE_DB:=true}
-: ${KEYSTONE_DB_NAME:=keystone}
-: ${KEYSTONE_DB_USER:=keystone}
-: ${DB_ROOT_PASSWORD:=password}
-: ${MARIADB_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_DB_PASSWORD:=password}
-# Service Addresses/Ports/Version
-: ${KEYSTONE_PUBLIC_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_ADMIN_SERVICE_HOST:=$PUBLIC_IP}
-: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000}
-: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357}
-: ${KEYSTONE_API_VERSION:=2.0}
-# Logging
-: ${LOG_FILE:=/var/log/keystone/keystone.log}
-: ${VERBOSE_LOGGING:=true}
-: ${DEBUG_LOGGING:=false}
-: ${USE_STDERR:=false}
-# Token provider, driver, etc..
-: ${TOKEN_PROVIDER:=uuid}
-: ${TOKEN_DRIVER:=sql}
-
 ## Check DB connectivity and required variables
 echo "Checking connectivity to the DB"
 fail_unless_db
 echo "Checking for required variables"
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_DB_PASSWORD \
-                    KEYSTONE_ADMIN_PASSWORD ADMIN_TENANT_NAME \
-                    KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_HOST \
-                    PUBLIC_IP INIT_KEYSTONE_DB
+check_required_vars ADMIN_TENANT_NAME \
+                    INIT_KEYSTONE_DB \
+                    KEYSTONE_ADMIN_PASSWORD \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_DB_PASSWORD \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    PUBLIC_IP
+
 dump_vars
 
 # Setup the Keystone DB
diff --git a/docker/common/magnum/magnum-api/config-internal.sh b/docker/common/magnum/magnum-api/config-internal.sh
index 00a51b3cdf..1267c3e55f 100755
--- a/docker/common/magnum/magnum-api/config-internal.sh
+++ b/docker/common/magnum/magnum-api/config-internal.sh
@@ -4,11 +4,15 @@ set -e
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-magnum.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    MAGNUM_KEYSTONE_USER MAGNUM_KEYSTONE_PASSWORD \
-                    KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \
-                    MAGNUM_API_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \
-                    MAGNUM_API_SERVICE_PORT
+check_required_vars ADMIN_TENANT_NAME \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_SERVICE_PORT \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    MAGNUM_API_SERVICE_HOST \
+                    MAGNUM_API_SERVICE_PORT \
+                    MAGNUM_KEYSTONE_PASSWORD \
+                    MAGNUM_KEYSTONE_USER
 
 fail_unless_os_service_running keystone
 
diff --git a/docker/common/magnum/magnum-base/config-magnum.sh b/docker/common/magnum/magnum-base/config-magnum.sh
index 03599d359e..279bd11536 100755
--- a/docker/common/magnum/magnum-base/config-magnum.sh
+++ b/docker/common/magnum/magnum-base/config-magnum.sh
@@ -4,12 +4,18 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-check_required_vars MAGNUM_DB_PASSWORD MAGNUM_KEYSTONE_PASSWORD \
-                    KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_PORT \
-                    MAGNUM_KEYSTONE_USER ADMIN_TENANT_NAME \
-                    MAGNUM_DB_USER MAGNUM_DB_NAME KEYSTONE_AUTH_PROTOCOL \
-                    KEYSTONE_PUBLIC_SERVICE_PORT RABBITMQ_SERVICE_HOST \
-                    VERBOSE_LOGGING DEBUG_LOGGING
+check_required_vars ADMIN_TENANT_NAME \
+                    DEBUG_LOGGING \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    KEYSTONE_PUBLIC_SERVICE_PORT \
+                    MAGNUM_DB_NAME \
+                    MAGNUM_DB_PASSWORD \
+                    MAGNUM_DB_USER \
+                    MAGNUM_KEYSTONE_PASSWORD \
+                    MAGNUM_KEYSTONE_USER \
+                    RABBITMQ_SERVICE_HOST \
+                    VERBOSE_LOGGING
 
 fail_unless_db
 dump_vars
diff --git a/docker/common/magnum/magnum-conductor/config-internal.sh b/docker/common/magnum/magnum-conductor/config-internal.sh
index 4cf1291a39..8a35b0bbd1 100755
--- a/docker/common/magnum/magnum-conductor/config-internal.sh
+++ b/docker/common/magnum/magnum-conductor/config-internal.sh
@@ -3,7 +3,10 @@
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-magnum.sh
 
-check_required_vars MAGNUM_DB_NAME MAGNUM_DB_USER MAGNUM_DB_PASSWORD
+check_required_vars MAGNUM_DB_NAME \
+                    MAGNUM_DB_PASSWORD \
+                    MAGNUM_DB_USER
+
 fail_unless_db
 
 mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
diff --git a/docker/common/neutron/neutron-base/config-neutron.sh b/docker/common/neutron/neutron-base/config-neutron.sh
index 0155651052..e36886c0d1 100644
--- a/docker/common/neutron/neutron-base/config-neutron.sh
+++ b/docker/common/neutron/neutron-base/config-neutron.sh
@@ -4,34 +4,10 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-# Database
-: ${NEUTRON_DB_NAME:=neutron}
-: ${NEUTRON_DB_USER:=neutron}
-: ${NEUTRON_DB_PASSWORD:=password}
-# Keystone
-: ${ADMIN_TENANT_NAME:=admin}
-: ${NEUTRON_KEYSTONE_USER:=neutron}
-: ${NEUTRON_KEYSTONE_PASSWORD:=password}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${KEYSTONE_ADMIN_SERVICE_HOST:=127.0.0.1}
-: ${KEYSTONE_PUBLIC_SERVICE_HOST:=127.0.0.1}
-: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357}
-: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000}
-: ${KEYSTONE_REGION:=RegionOne}
-# RabbitMQ
-: ${RABBIT_HOST:=$RABBITMQ_SERVICE_HOST}
-: ${RABBIT_USER:=guest}
-: ${RABBIT_PASSWORD:=guest}
-# Logging
-: ${VERBOSE_LOGGING:=true}
-: ${DEBUG_LOGGING:=false}
-# Networking
-: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
-# Paste configuration file
-: ${API_PASTE_CONFIG:=/usr/share/neutron/api-paste.ini}
-
-check_required_vars NEUTRON_KEYSTONE_PASSWORD NEUTRON_API_PASTE_CONFIG \
-                    KEYSTONE_PUBLIC_SERVICE_HOST RABBITMQ_SERVICE_HOST
+check_required_vars KEYSTONE_PUBLIC_SERVICE_HOST \
+                    NEUTRON_API_PASTE_CONFIG \
+                    NEUTRON_KEYSTONE_PASSWORD \
+                    RABBITMQ_SERVICE_HOST
 
 core_cfg=/etc/neutron/neutron.conf
 ml2_cfg=/etc/neutron/plugins/ml2/ml2_conf.ini
diff --git a/docker/common/neutron/neutron-dhcp-agent/config-internal.sh b/docker/common/neutron/neutron-dhcp-agent/config-internal.sh
index aa7a470858..ad54ff1700 100755
--- a/docker/common/neutron/neutron-dhcp-agent/config-internal.sh
+++ b/docker/common/neutron/neutron-dhcp-agent/config-internal.sh
@@ -4,17 +4,16 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${DHCP_DRIVER:=neutron.agent.linux.dhcp.Dnsmasq}
-: ${USE_NAMESPACES:=true}
-: ${DELETE_NAMESPACES:=true}
-: ${DNSMASQ_CONFIG_FILE:=/etc/neutron/dnsmasq/dnsmasq-neutron.conf}
-: ${ROOT_HELPER:=sudo neutron-rootwrap /etc/neutron/rootwrap.conf}
-
 mkdir -p $(dirname $DNSMASQ_CONFIG_FILE)
 
-check_required_vars VERBOSE_LOGGING DEBUG_LOGGING MECHANISM_DRIVERS \
-                    DHCP_DRIVER USE_NAMESPACES DELETE_NAMESPACES \
-                    NEUTRON_LOG_DIR DNSMASQ_CONFIG_FILE \
+check_required_vars DEBUG_LOGGING \
+                    DELETE_NAMESPACES \
+                    DHCP_DRIVER \
+                    DNSMASQ_CONFIG_FILE \
+                    MECHANISM_DRIVERS \
+                    NEUTRON_LOG_DIR \
+                    USE_NAMESPACES \
+                    VERBOSE_LOGGING
 
 cfg=/etc/neutron/dhcp_agent.ini
 neutron_conf=/etc/neutron/neutron.conf
diff --git a/docker/common/neutron/neutron-l3-agent/config-internal.sh b/docker/common/neutron/neutron-l3-agent/config-internal.sh
index 94d7af0a60..14e9a091d8 100755
--- a/docker/common/neutron/neutron-l3-agent/config-internal.sh
+++ b/docker/common/neutron/neutron-l3-agent/config-internal.sh
@@ -4,9 +4,9 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${USE_NAMESPACES:=true}
+check_required_vars DEBUG_LOGGING \
+                    VERBOSE_LOGGING
 
-check_required_vars VERBOSE_LOGGING DEBUG_LOGGING
 
 cfg=/etc/neutron/l3_agent.ini
 neutron_conf=/etc/neutron/neutron.conf
diff --git a/docker/common/neutron/neutron-linuxbridge-agent/config-internal.sh b/docker/common/neutron/neutron-linuxbridge-agent/config-internal.sh
index 343caf2982..3005a60471 100755
--- a/docker/common/neutron/neutron-linuxbridge-agent/config-internal.sh
+++ b/docker/common/neutron/neutron-linuxbridge-agent/config-internal.sh
@@ -4,11 +4,9 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
-: ${NEUTRON_FLAT_NETWORK_INTERFACE:=eth1}
-
-check_required_vars PUBLIC_IP NEUTRON_FLAT_NETWORK_NAME \
-                    NEUTRON_FLAT_NETWORK_INTERFACE
+check_required_vars NEUTRON_FLAT_NETWORK_INTERFACE \
+                    NEUTRON_FLAT_NETWORK_NAME \
+                    PUBLIC_IP
 
 cfg=/etc/neutron/plugins/ml2/ml2_conf.ini
 
diff --git a/docker/common/neutron/neutron-metadata-agent/config-internal.sh b/docker/common/neutron/neutron-metadata-agent/config-internal.sh
index 0c2aecd02a..b0860006fb 100755
--- a/docker/common/neutron/neutron-metadata-agent/config-internal.sh
+++ b/docker/common/neutron/neutron-metadata-agent/config-internal.sh
@@ -4,15 +4,16 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${KEYSTONE_REGION:=RegionOne}
-: ${ENDPOINT_TYPE:=adminURL}
-: ${NEUTRON_SHARED_SECRET:=sharedsecret}
-
-check_required_vars VERBOSE_LOGGING DEBUG_LOGGING KEYSTONE_AUTH_PROTOCOL \
-                    KEYSTONE_PUBLIC_SERVICE_HOST ADMIN_TENANT_NAME \
-                    NEUTRON_KEYSTONE_USER NEUTRON_KEYSTONE_PASSWORD \
-                    NEUTRON_SHARED_SECRET NOVA_METADATA_API_SERVICE_HOST \
-                    NOVA_METADATA_API_SERVICE_PORT
+check_required_vars ADMIN_TENANT_NAME \
+                    DEBUG_LOGGING \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    NEUTRON_KEYSTONE_PASSWORD \
+                    NEUTRON_KEYSTONE_USER \
+                    NEUTRON_SHARED_SECRET \
+                    NOVA_METADATA_API_SERVICE_HOST \
+                    NOVA_METADATA_API_SERVICE_PORT \
+                    VERBOSE_LOGGING
 
 cfg=/etc/neutron/metadata_agent.ini
 neutron_conf=/etc/neutron/neutron.conf
diff --git a/docker/common/neutron/neutron-openvswitch-agent/config-internal.sh b/docker/common/neutron/neutron-openvswitch-agent/config-internal.sh
index de22c4adb5..14d5aeb90e 100755
--- a/docker/common/neutron/neutron-openvswitch-agent/config-internal.sh
+++ b/docker/common/neutron/neutron-openvswitch-agent/config-internal.sh
@@ -4,11 +4,9 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
-: ${NEUTRON_FLAT_NETWORK_INTERFACE:=eth1}
-
-check_required_vars PUBLIC_IP NEUTRON_FLAT_NETWORK_NAME \
-                    NEUTRON_FLAT_NETWORK_INTERFACE
+check_required_vars NEUTRON_FLAT_NETWORK_INTERFACE \
+                    NEUTRON_FLAT_NETWORK_NAME \
+                    PUBLIC_IP
 
 if ! ovs-vsctl show |grep ${NEUTRON_FLAT_NETWORK_INTERFACE} > /dev/null; then
     ovs-vsctl add-br ${NEUTRON_FLAT_NETWORK_INTERFACE}
diff --git a/docker/common/neutron/neutron-server/config-internal.sh b/docker/common/neutron/neutron-server/config-internal.sh
index fb971083f5..961a0aaf74 100755
--- a/docker/common/neutron/neutron-server/config-internal.sh
+++ b/docker/common/neutron/neutron-server/config-internal.sh
@@ -4,16 +4,21 @@ set -e
 
 . /opt/kolla/config-neutron.sh
 
-: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
-: ${NEUTRON_FLAT_NETWORK_INTERFACE:=eth1}
-
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    KEYSTONE_AUTH_PROTOCOL NOVA_API_SERVICE_HOST \
-                    NOVA_KEYSTONE_USER NOVA_KEYSTONE_PASSWORD \
-                    NEUTRON_DB_NAME NEUTRON_DB_USER NEUTRON_DB_PASSWORD \
-                    NEUTRON_KEYSTONE_USER NEUTRON_KEYSTONE_PASSWORD \
-                    ADMIN_TENANT_NAME NEUTRON_SERVER_SERVICE_HOST \
-                    PUBLIC_IP NEUTRON_DB_PASSWORD
+check_required_vars ADMIN_TENANT_NAME \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_AUTH_PROTOCOL \
+                    NEUTRON_DB_NAME \
+                    NEUTRON_DB_PASSWORD \
+                    NEUTRON_DB_PASSWORD \
+                    NEUTRON_DB_USER \
+                    NEUTRON_KEYSTONE_PASSWORD \
+                    NEUTRON_KEYSTONE_USER \
+                    NEUTRON_SERVER_SERVICE_HOST \
+                    NOVA_API_SERVICE_HOST \
+                    NOVA_KEYSTONE_PASSWORD \
+                    NOVA_KEYSTONE_USER \
+                    PUBLIC_IP
 fail_unless_os_service_running keystone
 fail_unless_db
 
diff --git a/docker/common/nova/nova-api/config-internal.sh b/docker/common/nova/nova-api/config-internal.sh
index 7928370a46..86768a60db 100755
--- a/docker/common/nova/nova-api/config-internal.sh
+++ b/docker/common/nova/nova-api/config-internal.sh
@@ -4,10 +4,15 @@ set -e
 
 . /opt/kolla/config-nova.sh
 
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
-                    NOVA_KEYSTONE_USER NOVA_KEYSTONE_PASSWORD \
-                    ADMIN_TENANT_NAME NOVA_API_SERVICE_HOST \
-                    NOVA_EC2_API_SERVICE_HOST PUBLIC_IP NOVA_DB_NAME
+check_required_vars ADMIN_TENANT_NAME \
+                    KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    NOVA_API_SERVICE_HOST \
+                    NOVA_DB_NAME \
+                    NOVA_EC2_API_SERVICE_HOST \
+                    NOVA_KEYSTONE_PASSWORD \
+                    NOVA_KEYSTONE_USER \
+                    PUBLIC_IP
 fail_unless_os_service_running keystone
 fail_unless_db $NOVA_DB_NAME
 
diff --git a/docker/common/nova/nova-base/config-nova.sh b/docker/common/nova/nova-base/config-nova.sh
index 8789a14a54..6465d48a23 100755
--- a/docker/common/nova/nova-base/config-nova.sh
+++ b/docker/common/nova/nova-base/config-nova.sh
@@ -2,24 +2,15 @@
 
 . /opt/kolla/kolla-common.sh
 
-: ${NOVA_DB_USER:=nova}
-: ${NOVA_DB_NAME:=nova}
-: ${NOVA_KEYSTONE_USER:=admin}
-: ${NOVA_KEYSTONE_PASSWORD:=kolla}
-: ${ADMIN_TENANT_NAME:=admin}
-: ${RABBIT_USERID:=guest}
-: ${RABBIT_PASSWORD:=guest}
-: ${NETWORK_MANAGER:=nova}
-: ${FLAT_NETWORK:=eth1}
-: ${PUBLIC_NETWORK:=eth0}
-: ${ENABLED_APIS:=ec2,osapi_compute,metadata}
-: ${METADATA_HOST:=$PUBLIC_IP}
-: ${NEUTRON_SHARED_SECRET:=sharedsecret}
-
-check_required_vars KEYSTONE_ADMIN_TOKEN NOVA_DB_PASSWORD \
-                    RABBITMQ_SERVICE_HOST GLANCE_API_SERVICE_HOST \
-                    KEYSTONE_PUBLIC_SERVICE_HOST PUBLIC_IP \
-                    PUBLIC_INTERFACE FLAT_INTERFACE DEBUG_LOGGING \
+check_required_vars DEBUG_LOGGING \
+                    FLAT_INTERFACE \
+                    GLANCE_API_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    KEYSTONE_PUBLIC_SERVICE_HOST \
+                    NOVA_DB_PASSWORD \
+                    PUBLIC_INTERFACE \
+                    PUBLIC_IP \
+                    RABBITMQ_SERVICE_HOST \
                     VERBOSE_LOGGING
 
 cfg=/etc/nova/nova.conf
diff --git a/docker/common/nova/nova-conductor/config-internal.sh b/docker/common/nova/nova-conductor/config-internal.sh
index 3bba8cf3a0..e242b4db5f 100755
--- a/docker/common/nova/nova-conductor/config-internal.sh
+++ b/docker/common/nova/nova-conductor/config-internal.sh
@@ -4,8 +4,10 @@ set -e
 
 . /opt/kolla/config-nova.sh
 
-check_required_vars NOVA_DB_NAME NOVA_DB_USER NOVA_DB_PASSWORD \
-                    INIT_NOVA_DB
+check_required_vars INIT_NOVA_DB \
+                    NOVA_DB_NAME \
+                    NOVA_DB_PASSWORD \
+                    NOVA_DB_USER
 fail_unless_db
 
 cfg=/etc/nova/nova.conf
diff --git a/docker/common/nova/nova-novncproxy/config-internal.sh b/docker/common/nova/nova-novncproxy/config-internal.sh
index 9edafbca34..6ddea5a764 100755
--- a/docker/common/nova/nova-novncproxy/config-internal.sh
+++ b/docker/common/nova/nova-novncproxy/config-internal.sh
@@ -4,9 +4,12 @@ set -e
 
 cfg=/etc/nova/nova.conf
 
-check_required_vars PUBLIC_IP NOVA_NOVNC_PROXY_SERVICE_HOST NOVA_NOVNC_PROXY_PORT \
-                    NOVA_NOVNC_BASE_ADDRESS NOVA_VNCSERVER_LISTEN_ADDRESS \
-                    NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
+check_required_vars NOVA_NOVNC_BASE_ADDRESS \
+                    NOVA_NOVNC_PROXY_PORT \
+                    NOVA_NOVNC_PROXY_SERVICE_HOST \
+                    NOVA_VNCSERVER_LISTEN_ADDRESS \
+                    NOVA_VNCSERVER_PROXYCLIENT_ADDRESS \
+                    PUBLIC_IP
 
 crudini --set $cfg DEFAULT log_file "${NOVA_NOVNCPROXY_LOG_FILE}"
 
diff --git a/docker/common/rabbitmq/config-internal.sh b/docker/common/rabbitmq/config-internal.sh
index 8fc77f421f..b34a4fa599 100755
--- a/docker/common/rabbitmq/config-internal.sh
+++ b/docker/common/rabbitmq/config-internal.sh
@@ -3,7 +3,8 @@
 . /opt/kolla/kolla-common.sh
 . /opt/kolla/config-rabbit.sh
 
-check_required_vars RABBITMQ_PASS RABBITMQ_USER
+check_required_vars RABBITMQ_PASS \
+                    RABBITMQ_USER
 
 configure_rabbit
 
diff --git a/docker/common/rabbitmq/config-rabbit.sh b/docker/common/rabbitmq/config-rabbit.sh
index 29cd1bb06d..f14d796ad7 100644
--- a/docker/common/rabbitmq/config-rabbit.sh
+++ b/docker/common/rabbitmq/config-rabbit.sh
@@ -21,7 +21,8 @@ function set_rabbitmq_cookie {
 }
 
 function configure_cluster {
-    check_required_vars RABBITMQ_CLUSTER_COOKIE RABBITMQ_CLUSTER_NODES
+    check_required_vars RABBITMQ_CLUSTER_COOKIE \
+                        RABBITMQ_CLUSTER_NODES
     set_rabbitmq_cookie
 
     HOSTNAME=""
diff --git a/docker/common/swift/swift-account/config-internal.sh b/docker/common/swift/swift-account/config-internal.sh
index bf86830f98..c0531f46e3 100755
--- a/docker/common/swift/swift-account/config-internal.sh
+++ b/docker/common/swift/swift-account/config-internal.sh
@@ -1,12 +1,7 @@
 #!/bin/bash
 
-: ${SWIFT_DB_USER:=swift}
-: ${SWIFT_DB_NAME:=swift}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${SWIFT_KEYSTONE_USER:=swift}
-: ${ADMIN_TENANT_NAME:=admin}
-
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
                     SWIFT_ADMIN_PASSWORD
 fail_unless_db
 fail_unless_os_service_running keystone
diff --git a/docker/common/swift/swift-container/config-internal.sh b/docker/common/swift/swift-container/config-internal.sh
index 42d4ccf355..a11c10561c 100755
--- a/docker/common/swift/swift-container/config-internal.sh
+++ b/docker/common/swift/swift-container/config-internal.sh
@@ -1,12 +1,7 @@
 #!/bin/bash
 
-: ${SWIFT_DB_USER:=swift}
-: ${SWIFT_DB_NAME:=swift}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${SWIFT_KEYSTONE_USER:=swift}
-: ${ADMIN_TENANT_NAME:=admin}
-
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
                     SWIFT_ADMIN_PASSWORD
 fail_unless_db
 fail_unless_os_service_running keystone
diff --git a/docker/common/swift/swift-object/config-internal.sh b/docker/common/swift/swift-object/config-internal.sh
index 7ed97536e7..5931e89d6c 100755
--- a/docker/common/swift/swift-object/config-internal.sh
+++ b/docker/common/swift/swift-object/config-internal.sh
@@ -1,12 +1,7 @@
 #!/bin/bash
 
-: ${SWIFT_DB_USER:=swift}
-: ${SWIFT_DB_NAME:=swift}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-: ${SWIFT_KEYSTONE_USER:=swift}
-: ${ADMIN_TENANT_NAME:=admin}
-
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
                     SWIFT_ADMIN_PASSWORD
 fail_unless_db
 fail_unless_os_service_running keystone
diff --git a/docker/common/zaqar/config-internal.sh b/docker/common/zaqar/config-internal.sh
index 6c68fccf22..4fd2bb112c 100755
--- a/docker/common/zaqar/config-internal.sh
+++ b/docker/common/zaqar/config-internal.sh
@@ -4,13 +4,11 @@ set -e
 
 . /opt/kolla/kolla-common.sh
 
-: ${ADMIN_TENANT_NAME:=admin}
-: ${ZAQAR_KEYSTONE_USER:=zaqar}
-: ${KEYSTONE_AUTH_PROTOCOL:=http}
-
-check_required_vars ZAQAR_KEYSTONE_PASSWORD ZAQAR_SERVER_SERVICE_HOST \
-                    KEYSTONE_ADMIN_SERVICE_HOST KEYSTONE_ADMIN_TOKEN \
-                    PUBLIC_IP
+check_required_vars KEYSTONE_ADMIN_SERVICE_HOST \
+                    KEYSTONE_ADMIN_TOKEN \
+                    PUBLIC_IP \
+                    ZAQAR_KEYSTONE_PASSWORD \
+                    ZAQAR_SERVER_SERVICE_HOST
 dump_vars
 
 #check_for_mongodb
diff --git a/docs/minimal-environment-vars.md b/docs/minimal-environment-vars.md
index ab5d3d4857..83cd6a5ef1 100644
--- a/docs/minimal-environment-vars.md
+++ b/docs/minimal-environment-vars.md
@@ -392,7 +392,6 @@ In order for each service to function, there is a minimum set of required variab
     NOVA_METADATA_API_SERVICE_PORT
     USE_NAMESPACES
     VERBOSE_LOGGING
-    cfg
 
 # Neutron-base
 
diff --git a/tools/genenv b/tools/genenv
index e78f64ab3d..bcb1d1f722 100755
--- a/tools/genenv
+++ b/tools/genenv
@@ -42,20 +42,29 @@ echo MY_DEV=$MY_DEV
 # API versions
 CINDER_API_VERSION=2
 
-# Admin user password
+# Admin user
+ADMIN_USER=admin
 ADMIN_USER_PASSWORD=steakfordinner
 
 # Database
+BIND_ADDRESS=$PUBLIC_IP
+CHAR_SET_SERVER=utf8
+COLLATION_SERVER=utf8_general_ci
+DATADIR=/var/lib/mysql
+DEFAULT_STORAGE_ENGINE=innodb
 HOST_IP=$MY_IP
 INIT_CINDER_DB=true
+INIT_CONNECT=SET NAMES utf8
 INIT_DESIGNATE_DB=true
 INIT_GLANCE_DB=true
 INIT_HEAT_DB=true
 INIT_KEYSTONE_DB=true
 INIT_NOVA_DB=true
-MARIADB_ROOT_PASSWORD=kolla
+INNODB_FILE_PER_TABLE=true
 MARIADB_MAX_CONNECTIONS=151
+MARIADB_ROOT_PASSWORD=kolla
 PASSWORD=12345
+TEMP_FILE=/tmp/mysql-first-time.sql
 
 # Galera
 DB_CLUSTER_BIND_ADDRESS=0.0.0.0
@@ -69,129 +78,80 @@ ADMIN_TENANT_NAME=admin
 PUBLIC_IP=$HOST_IP
 
 # Logging
+CINDER_API_LOG_FILE=
+CINDER_BACKUP_LOG_FILE=
+CINDER_LOG_DIR=
+CINDER_SCHEDULER_LOG_FILE=
+CINDER_VOLUME_LOG_FILE=
 DEBUG_LOGGING=false
-VERBOSE_LOGGING=true
-NOVA_LOG_DIR=
-NEUTRON_LOG_DIR=/var/log/neutron
-NOVA_API_LOG_FILE=
-NOVA_CONDUCTOR_LOG_FILE=
-NOVA_SCHEDULER_LOG_FILE=
-NOVA_COMPUTE_LOG_FILE=
-NOVA_CONSOLEAUTH_LOG_FILE=
-NOVA_NOVNCPROXY_LOG_FILE=
-NEUTRON_SERVER_LOG_FILE=
 NEUTRON_L3_AGENT_LOG_FILE=
 NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=
+NEUTRON_LOG_DIR=/var/log/neutron
 NEUTRON_METADATA_AGENT_LOG_FILE=
-CINDER_LOG_DIR=
-CINDER_API_LOG_FILE=
-CINDER_VOLUME_LOG_FILE=
-CINDER_BACKUP_LOG_FILE=
-CINDER_SCHEDULER_LOG_FILE=
+NEUTRON_SERVER_LOG_FILE=
+NOVA_API_LOG_FILE=
+NOVA_COMPUTE_LOG_FILE=
+NOVA_CONDUCTOR_LOG_FILE=
+NOVA_CONSOLEAUTH_LOG_FILE=
+NOVA_LOG_DIR=
+NOVA_NOVNCPROXY_LOG_FILE=
+NOVA_SCHEDULER_LOG_FILE=
 OVS_DB_FILE="/etc/openvswitch/conf.db"
 OVS_LOG_FILE=
 OVS_UNIXSOCK="/var/run/openvswitch/db.sock"
+VERBOSE_LOGGING=true
+
 
 # RabbitMQ
-RABBITMQ_SERVICE_HOST=$HOST_IP
-RABBITMQ_CLUSTER_NODES=
 RABBITMQ_CLUSTER_COOKIE=
-RABBIT_USER=guest
+RABBITMQ_CLUSTER_NODES=
+RABBITMQ_SERVICE_HOST=$HOST_IP
 RABBIT_PASSWORD=guest
+RABBIT_USER=guest
 
-# Networking Options are nova or neutron
-NETWORK_MANAGER=neutron
-
-# Keystone
-KEYSTONE_ADMIN_TOKEN=$PASSWORD
-KEYSTONE_DB_PASSWORD=kolla
-KEYSTONE_ADMIN_PASSWORD=$PASSWORD
-KEYSTONE_PUBLIC_SERVICE_HOST=$HOST_IP
-KEYSTONE_PUBLIC_SERVICE_PORT=5000
-KEYSTONE_ADMIN_SERVICE_HOST=$HOST_IP
-KEYSTONE_ADMIN_SERVICE_PORT=35357
+#Barbican
+ADMIN_TENANT_NAME=admin
+BARBICAN_DB_NAME=barbican
+BARBICAN_DB_USER=barbican
+BARBICAN_KEYSTONE_USER=barbican
 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
+#Ceilometer
+CEILOMETER_ADMIN_PASSWORD=password
+CEILOMETER_API_SERVICE_HOST=$HOST_IP
+CEILOMETER_DB_NAME=ceilometer
+CEILOMETER_DB_PASSWORD=password
+CEILOMETER_DB_USER=ceilometer
+CEILOMETER_KEYSTONE_USER=ceilometer
 
-# Gnocchi
-GNOCCHI_DB_PASSWORD=gnocchi
-GNOCCHI_DB_NAME=gnocchi
-GNOCCHI_DB_USER=gnocchi
-GNOCCHI_SERVICE_PROTOCOL=http
-GNOCCHI_SERVICE_PORT=8041
-GNOCCHI_STORAGE_BACKEND=file
-GNOCCHI_KEYSTONE_USER=gnocchi
-GNOCCHI_KEYSTONE_PASSWORD=gnocchi
-GNOCCHI_ADMIN_PASSWORD=gnocchi
-GNOCCHI_API_SERVICE_HOST=$HOST_IP
+# Cinder API
+CINDER_ADMIN_PASSWORD=password
+CINDER_API_SERVICE_HOST=$HOST_IP
+CINDER_API_SERVICE_LISTEN=$HOST_IP
+CINDER_API_SERVICE_PORT=8776
+CINDER_KEYSTONE_PASSWORD=password
+CINDER_KEYSTONE_USER=cinder
 
-# 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_METADATA_API_SERVICE_HOST=$HOST_IP
-NOVA_EC2_SERVICE_HOST=$HOST_IP
-NOVA_PUBLIC_INTERFACE=$MY_DEV
-NOVA_FLAT_INTERFACE=eth1
-ENABLED_APIS=ec2,osapi_compute,metadata
-METADATA_HOST=$HOST_IP
-NOVA_NOVNC_PROXY_PORT=6080
-NOVA_VNCSERVER_LISTEN_ADDRESS=$HOST_IP
-NOVA_VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP
-NOVA_NOVNC_PROXY_SERVICE_HOST=0.0.0.0
-NOVA_NOVNC_BASE_ADDRESS=${PUBLIC_IP}
+# Cinder Scheduler
+CINDER_DB_NAME=cinder
+CINDER_DB_PASSWORD=password
+CINDER_DB_USER=cinder
 
-# Neutron
-NEUTRON_DB_NAME=neutron
-NEUTRON_DB_USER=neutron
-NEUTRON_DB_PASSWORD=password
-NEUTRON_KEYSTONE_USER=neutron
-NEUTRON_KEYSTONE_PASSWORD=neutron
-NEUTRON_SERVER_SERVICE_HOST=$HOST_IP
-NEUTRON_API_PASTE_CONFIG=/usr/share/neutron/api-paste.ini
-# Neutron ML2 Plugin
-TYPE_DRIVERS=flat,vxlan
-TENANT_NETWORK_TYPES=flat,vxlan
-MECHANISM_DRIVERS=linuxbridge,l2population
-# Neutron Linux Bridge Agent
-NEUTRON_FLAT_NETWORK_NAME=physnet1
-NEUTRON_FLAT_NETWORK_INTERFACE=eth1
+# Cinder Backup
+CINDER_BACKUP_API_CLASS=cinder.backup.api.API
+CINDER_BACKUP_DRIVER=cinder.backup.drivers.swift
+CINDER_BACKUP_MANAGER=cinder.backup.manager.BackupManager
+CINDER_BACKUP_NAME_TEMPLATE=backup-%s
 
-# Nova/Neutron
-NEUTRON_SHARED_SECRET=sharedsecret
-
-# Heat
-HEAT_DB_NAME=heat
-HEAT_DB_PASSWORD=kolla
-HEAT_KEYSTONE_USER=heat
-HEAT_KEYSTONE_PASSWORD=heat
-HEAT_CFN_KEYSTONE_USER=heat-cfn
-HEAT_CFN_KEYSTONE_PASSWORD=heat
-HEAT_API_SERVICE_HOST=$HOST_IP
-HEAT_API_CFN_SERVICE_HOST=$HOST_IP
-HEAT_API_CFN_SERVICE_PORT=8000
-HEAT_API_CFN_URL_HOST=$HOST_IP
-HEAT_DOMAIN_PASS=$(openssl rand -hex 8)
-
-# Magnum
-MAGNUM_DB_NAME=magnum
-MAGNUM_DB_USER=magnum
-MAGNUM_DB_PASSWORD=kolla
-MAGNUM_KEYSTONE_USER=magnum
-MAGNUM_KEYSTONE_PASSWORD=magnum
-MAGNUM_API_SERVICE_HOST=$HOST_IP
-MAGNUM_API_SERVICE_PORT=9511
+# Cinder Volume
+CINDER_ENABLED_BACKEND=lvm57
+CINDER_LVM_LO_VOLUME_SIZE=4G
+CINDER_VOLUME_API_LISTEN=$HOST_IP
+CINDER_VOLUME_BACKEND_NAME=LVM_iSCSI57
+CINDER_VOLUME_DRIVER=cinder.volume.drivers.lvm.LVMISCSIDriver
+CINDER_VOLUME_GROUP=cinder-volumes
+ISCSI_HELPER=tgtadm
+ISCSI_IP_ADDRESS=$HOST_IP
 
 # Designate
 DESIGNATE_DB_NAME=designate
@@ -217,53 +177,136 @@ DESIGNATE_SINK_NEUTRON_DOMAIN_NAME=neutron.example.org.
 DESIGNATE_SINK_NOVA_FORMATS=("%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s" "%(hostname)s.%(domain)s")
 DESIGNATE_SINK_NEUTRON_FORMATS=("%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(domain)s" "%(hostname)s.%(domain)s")
 
-# Cinder API
-CINDER_API_SERVICE_HOST=$HOST_IP
-CINDER_API_SERVICE_PORT=8776
-CINDER_API_SERVICE_LISTEN=$HOST_IP
-CINDER_KEYSTONE_USER=cinder
-CINDER_KEYSTONE_PASSWORD=password
-CINDER_ADMIN_PASSWORD=password
+# Glance
+GLANCE_API_SERVICE_HOST=$HOST_IP
+GLANCE_DB_NAME=glance
+GLANCE_DB_PASSWORD=kolla
+GLANCE_DB_USER=glance
+GLANCE_KEYSTONE_PASSWORD=glance
+GLANCE_KEYSTONE_USER=glance
+GLANCE_REGISTRY_SERVICE_HOST=$HOST_IP
 
-# Cinder Scheduler
-CINDER_DB_NAME=cinder
-CINDER_DB_USER=cinder
-CINDER_DB_PASSWORD=password
+# Gnocchi
+GNOCCHI_DB_PASSWORD=gnocchi
+GNOCCHI_DB_NAME=gnocchi
+GNOCCHI_DB_USER=gnocchi
+GNOCCHI_SERVICE_PROTOCOL=http
+GNOCCHI_SERVICE_PORT=8041
+GNOCCHI_STORAGE_BACKEND=file
+GNOCCHI_KEYSTONE_USER=gnocchi
+GNOCCHI_KEYSTONE_PASSWORD=gnocchi
+GNOCCHI_ADMIN_PASSWORD=gnocchi
+GNOCCHI_API_SERVICE_HOST=$HOST_IP
 
-# Cinder Backup
-CINDER_BACKUP_MANAGER=cinder.backup.manager.BackupManager
-CINDER_BACKUP_API_CLASS=cinder.backup.api.API
-CINDER_BACKUP_NAME_TEMPLATE=backup-%s
-CINDER_BACKUP_DRIVER=cinder.backup.drivers.swift
 
-# Cinder Volume
-ISCSI_HELPER=tgtadm
-ISCSI_IP_ADDRESS=$HOST_IP
-CINDER_LVM_LO_VOLUME_SIZE=4G
-CINDER_VOLUME_API_LISTEN=$HOST_IP
-CINDER_VOLUME_GROUP=cinder-volumes
-CINDER_VOLUME_BACKEND_NAME=LVM_iSCSI57
-CINDER_VOLUME_DRIVER=cinder.volume.drivers.lvm.LVMISCSIDriver
-CINDER_ENABLED_BACKEND=lvm57
+# Heat
+HEAT_API_CFN_SERVICE_HOST=$HOST_IP
+HEAT_API_CFN_SERVICE_PORT=8000
+HEAT_API_CFN_URL_HOST=$HOST_IP
+HEAT_API_SERVICE_HOST=$HOST_IP
+HEAT_CFN_KEYSTONE_PASSWORD=heat
+HEAT_CFN_KEYSTONE_USER=heat-cfn
+HEAT_DB_NAME=heat
+HEAT_DB_PASSWORD=kolla
+HEAT_DOMAIN_PASS=$(openssl rand -hex 8)
+HEAT_KEYSTONE_PASSWORD=heat
+HEAT_KEYSTONE_USER=heat
+
+#Horizon
+HORIZON_KEYSTONE_USER=horizon
+
+# Keystone
+KEYSTONE_ADMIN_PASSWORD=$PASSWORD
+KEYSTONE_ADMIN_SERVICE_HOST=$HOST_IP
+KEYSTONE_ADMIN_SERVICE_PORT=35357
+KEYSTONE_ADMIN_TOKEN=$PASSWORD
+KEYSTONE_AUTH_PROTOCOL=http
+KEYSTONE_DB_NAME=keystone
+KEYSTONE_DB_PASSWORD=kolla
+KEYSTONE_DB_USER=keystone
+KEYSTONE_PUBLIC_SERVICE_HOST=$HOST_IP
+KEYSTONE_PUBLIC_SERVICE_PORT=5000
+KEYSTONE_USER=keystone
+TOKEN_DRIVER=sql
+TOKEN_PROVIDER=uuid
 
 # Keepalived
 # Here we define pairs hostname:priority. Priorities have to be unique
 KEEPALIVED_HOST_PRIORITIES=host1:100,host2:99
 
-#Barbican
-BARBICAN_DB_USER=barbican
-BARBICAN_DB_NAME=barbican
-KEYSTONE_AUTH_PROTOCOL=http
-BARBICAN_KEYSTONE_USER=barbican
-ADMIN_TENANT_NAME=admin
+# Magnum
+MAGNUM_DB_NAME=magnum
+MAGNUM_DB_USER=magnum
+MAGNUM_DB_PASSWORD=kolla
+MAGNUM_KEYSTONE_USER=magnum
+MAGNUM_KEYSTONE_PASSWORD=magnum
+MAGNUM_API_SERVICE_HOST=$HOST_IP
+MAGNUM_API_SERVICE_PORT=9511
 
-#Ceilometer
-CEILOMETER_ADMIN_PASSWORD=password
-CEILOMETER_API_SERVICE_HOST=$HOST_IP
-CEILOMETER_DB_NAME=ceilometer
-CEILOMETER_DB_PASSWORD=password
-CEILOMETER_DB_USER=ceilometer
-CEILOMETER_KEYSTONE_USER=ceilometer
+# Neutron
+NEUTRON_DB_NAME=neutron
+NEUTRON_DB_USER=neutron
+NEUTRON_DB_PASSWORD=password
+NEUTRON_KEYSTONE_USER=neutron
+NEUTRON_KEYSTONE_PASSWORD=neutron
+NEUTRON_SERVER_SERVICE_HOST=$HOST_IP
+NEUTRON_API_PASTE_CONFIG=/usr/share/neutron/api-paste.ini
+# Neutron ML2 Plugin
+TYPE_DRIVERS=flat,vxlan
+TENANT_NETWORK_TYPES=flat,vxlan
+MECHANISM_DRIVERS=linuxbridge,l2population
+# Neutron Linux Bridge Agent
+NEUTRON_FLAT_NETWORK_NAME=physnet1
+NEUTRON_FLAT_NETWORK_INTERFACE=eth1
+
+# Neutron ML2 Plugin
+MECHANISM_DRIVERS=linuxbridge,l2population
+TENANT_NETWORK_TYPES=flat,vxlan
+TYPE_DRIVERS=flat,vxlan
+
+# Neutron Linux Bridge Agent
+DELETE_NAMESPACES=true
+DHCP_DRIVER=neutron.agent.linux.dhcp.Dnsmasq
+DNSMASQ_CONFIG_FILE=/etc/neutron/dnsmasq/dnsmasq-neutron.conf
+ENDPOINT_TYPE=adminURL
+KEYSTONE_REGION=RegionOne
+NEUTRON_FLAT_NETWORK_INTERFACE=eth1
+NEUTRON_FLAT_NETWORK_NAME=physnet1
+ROOT_HELPER=sudo neutron-rootwrap /etc/neutron/rootwrap.conf
+USE_NAMESPACES=true
+
+# Networking Options are nova or neutron
+NETWORK_MANAGER=neutron
+
+# Nova
+ENABLED_APIS=ec2,osapi_compute,metadata
+METADATA_HOST=$HOST_IP
+NOVA_API_SERVICE_HOST=$HOST_IP
+NOVA_DB_NAME=nova
+NOVA_DB_PASSWORD=nova
+NOVA_DB_USER=nova
+NOVA_EC2_SERVICE_HOST=$HOST_IP
+NOVA_FLAT_INTERFACE=eth1
+NOVA_KEYSTONE_PASSWORD=nova
+NOVA_KEYSTONE_USER=nova
+NOVA_METADATA_API_SERVICE_HOST=$HOST_IP
+NOVA_NOVNC_BASE_ADDRESS=${PUBLIC_IP}
+NOVA_NOVNC_PROXY_PORT=6080
+NOVA_NOVNC_PROXY_SERVICE_HOST=0.0.0.0
+NOVA_PUBLIC_INTERFACE=$MY_DEV
+NOVA_VNCSERVER_LISTEN_ADDRESS=$HOST_IP
+NOVA_VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP
+
+# Nova/Neutron
+NEUTRON_SHARED_SECRET=sharedsecret
+
+#Swift
+SWIFT_DB_NAME=swift
+SWIFT_DB_USER=swift
+SWIFT_KEYSTONE_USER=swift
+
+#Zaqar
+ZAQAR_KEYSTONE_USER=zaqar
 
 # this should use the keystone admin port
 # https://bugs.launchpad.net/kolla/+bug/1469209
@@ -276,29 +319,80 @@ export OS_VOLUME_API_VERSION=$CINDER_API_VERSION
 EOF
 
 cat > ./compose/openstack.env <<EOF
-KOLLA_CONFIG_STRATEGY=CONFIG_INTERNAL
-DEBUG_LOGGING=$DEBUG_LOGGING
-VERBOSE_LOGGING=$VERBOSE_LOGGING
-NOVA_LOG_DIR=$NOVA_LOG_DIR
-NEUTRON_LOG_DIR=$NEUTRON_LOG_DIR
-NOVA_API_LOG_FILE=$NOVA_API_LOG_FILE
-NOVA_CONDUCTOR_LOG_FILE=$NOVA_CONDUCTOR_LOG_FILE
-NOVA_SCHEDULER_LOG_FILE=$NOVA_SCHEDULER_LOG_FILE
-NOVA_COMPUTE_LOG_FILE=$NOVA_COMPUTE_LOG_FILE
-NOVA_CONSOLEAUTH_LOG_FILE=$NOVA_CONSOLEAUTH_LOG_FILE
-NOVA_NOVNCPROXY_LOG_FILE=$NOVA_NOVNCPROXY_LOG_FILE
-NOVA_VNCSERVER_PROXYCLIENT_ADDRESS=$NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
-NOVA_VNCSERVER_LISTEN_ADDRESS=$NOVA_VNCSERVER_LISTEN_ADDRESS
-NEUTRON_SERVER_LOG_FILE=$NEUTRON_SERVER_LOG_FILE
-NEUTRON_L3_AGENT_LOG_FILE=$NEUTRON_L3_AGENT_LOG_FILE
-NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=$NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE
-NEUTRON_METADATA_AGENT_LOG_FILE=$NEUTRON_METADATA_AGENT_LOG_FILE
-TYPE_DRIVERS=$TYPE_DRIVERS
-TENANT_NETWORK_TYPES=$TENANT_NETWORK_TYPES
-MECHANISM_DRIVERS=$MECHANISM_DRIVERS
-ADMIN_USER_PASSWORD=$ADMIN_USER_PASSWORD
 ADMIN_TENANT_NAME=$ADMIN_TENANT_NAME
+ADMIN_USER_PASSWORD=$ADMIN_USER_PASSWORD
+BARBICAN_DB_NAME=$BARBICAN_DB_NAME
+BARBICAN_DB_USER=$BARBICAN_DB_USER
+BARBICAN_KEYSTONE_USER=$BARBICAN_KEYSTONE_USER
+BIND_ADDRESS=$BIND_ADDRESS
+CEILOMETER_ADMIN_PASSWORD=$CEILOMETER_ADMIN_PASSWORD
+CEILOMETER_API_SERVICE_HOST=$CEILOMETER_API_SERVICE_HOST
+CEILOMETER_DB_NAME=$CEILOMETER_DB_NAME
+CEILOMETER_DB_PASSWORD=$CEILOMETER_DB_PASSWORD
+CEILOMETER_DB_USER=$CEILOMETER_DB_USER
+CEILOMETER_KEYSTONE_USER=$CEILOMETER_KEYSTONE_USER
+CHAR_SET_SERVER=$CHAR_SET_SERVER
+CINDER_ADMIN_PASSWORD=$CINDER_ADMIN_PASSWORD
+CINDER_API_LOG_FILE=$CINDER_API_LOG_FILE
+CINDER_API_SERVICE_HOST=$HOST_IP
+CINDER_API_SERVICE_LISTEN=$MY_IP
+CINDER_API_SERVICE_PORT=$CINDER_API_SERVICE_PORT
+CINDER_API_VERSION=$CINDER_API_VERSION
+CINDER_BACKUP_API_CLASS=$CINDER_BACKUP_API_CLASS
+CINDER_BACKUP_DRIVER=$CINDER_BACKUP_DRIVER
+CINDER_BACKUP_LOG_FILE=$CINDER_BACKUP_LOG_FILE
+CINDER_BACKUP_MANAGER=$CINDER_BACKUP_MANAGER
+CINDER_BACKUP_NAME_TEMPLATE=$CINDER_BACKUP_NAME_TEMPLATE
+CINDER_DB_NAME=$CINDER_DB_NAME
+CINDER_DB_PASSWORD=$CINDER_DB_PASSWORD
+CINDER_DB_USER=$CINDER_DB_USER
+CINDER_ENABLED_BACKEND=$CINDER_ENABLED_BACKEND
+CINDER_KEYSTONE_PASSWORD=$CINDER_KEYSTONE_PASSWORD
+CINDER_KEYSTONE_USER=$CINDER_KEYSTONE_USER
+CINDER_LOG_DIR=$CINDER_LOG_DIR
+CINDER_LVM_LO_VOLUME_SIZE=$CINDER_LVM_LO_VOLUME_SIZE
+CINDER_SCHEDULER_LOG_FILE=$CINDER_SCHEDULER_LOG_FILE
+CINDER_VOLUME_API_LISTEN=$CINDER_VOLUME_API_LISTEN
+CINDER_VOLUME_BACKEND_NAME=$CINDER_VOLUME_BACKEND_NAME
+CINDER_VOLUME_DRIVER=$CINDER_VOLUME_DRIVER
+CINDER_VOLUME_GROUP=$CINDER_VOLUME_GROUP
+CINDER_VOLUME_LOG_FILE=$CINDER_VOLUME_LOG_FILE
+COLLATION_SERVER=$COLLATION_SERVER
+DATADIR=$DATADIR
+DB_CLUSTER_BIND_ADDRESS=$DB_CLUSTER_BIND_ADDRESS
+DB_CLUSTER_INIT_DB=$DB_CLUSTER_INIT_DB
+DB_CLUSTER_NAME=$DB_CLUSTER_NAME
+DB_CLUSTER_NODES=$DB_CLUSTER_NODES
+DB_CLUSTER_WSREP_METHOD=$DB_CLUSTER_WSREP_METHOD
 DB_ROOT_PASSWORD=$MARIADB_ROOT_PASSWORD
+DEBUG_LOGGING=$DEBUG_LOGGING
+DEFAULT_STORAGE_ENGINE=$DEFAULT_STORAGE_ENGINE
+DELETE_NAMESPACES=$DELETE_NAMESPACES
+DESIGNATE_ALLOW_RECURSION=$DESIGNATE_ALLOW_RECURSION
+DESIGNATE_API_SERVICE_HOST=$DESIGNATE_API_SERVICE_HOST
+DESIGNATE_API_SERVICE_PORT=$DESIGNATE_API_SERVICE_PORT
+DESIGNATE_BACKEND=$DESIGNATE_BACKEND
+DESIGNATE_BIND9_RNDC_KEY=$DESIGNATE_BIND9_RNDC_KEY
+DESIGNATE_DB_NAME=$DESIGNATE_DB_NAME
+DESIGNATE_DB_PASSWORD=$DESIGNATE_DB_PASSWORD
+DESIGNATE_DB_USER=$DESIGNATE_DB_USER
+DESIGNATE_DEFAULT_POOL_NS_RECORD=$DESIGNATE_DEFAULT_POOL_NS_RECORD
+DESIGNATE_DNS_PORT=$DESIGNATE_DNS_PORT
+DESIGNATE_INITDB=$DESIGNATE_INITDB
+DESIGNATE_KEYSTONE_PASSWORD=$DESIGNATE_KEYSTONE_PASSWORD
+DESIGNATE_KEYSTONE_USER=$DESIGNATE_KEYSTONE_USER
+DESIGNATE_MASTERNS=$DESIGNATE_MASTERNS
+DESIGNATE_MDNS_PORT=$DESIGNATE_MDNS_PORT
+DESIGNATE_POOLMAN_NSS=$DESIGNATE_POOLMAN_NSS
+DESIGNATE_POOLMAN_POOLID=$DESIGNATE_POOLMAN_POOLID
+DESIGNATE_POOLMAN_TARGETS=$DESIGNATE_POOLMAN_TARGETS
+DESIGNATE_SINK_NEUTRON_DOMAIN_NAME=$DESIGNATE_SINK_NEUTRON_DOMAIN_NAME
+DESIGNATE_SINK_NOVA_DOMAIN_NAME=$DESIGNATE_SINK_NOVA_DOMAIN_NAME
+DESIGNATE_SLAVENS=$DESIGNATE_SLAVENS
+DHCP_DRIVER=$DHCP_DRIVER
+DNSMASQ_CONFIG_FILE=$DNSMASQ_CONFIG_FILE
+ENABLED_APIS=$ENABLED_APIS
+ENDPOINT_TYPE=$ENDPOINT_TYPE
 FLAT_INTERFACE=$NOVA_FLAT_INTERFACE
 GLANCE_API_SERVICE_HOST=$GLANCE_API_SERVICE_HOST
 GLANCE_DB_NAME=$GLANCE_DB_NAME
@@ -307,22 +401,76 @@ 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
+HEAT_API_CFN_SERVICE_HOST=$HEAT_API_CFN_SERVICE_HOST
+HEAT_API_CFN_SERVICE_PORT=$HEAT_API_CFN_SERVICE_PORT
+HEAT_API_CFN_URL_HOST=$HEAT_API_CFN_URL_HOST
+HEAT_API_SERVICE_HOST=$HEAT_API_SERVICE_HOST
+HEAT_CFN_KEYSTONE_PASSWORD=$HEAT_CFN_KEYSTONE_PASSWORD
+HEAT_CFN_KEYSTONE_USER=$HEAT_CFN_KEYSTONE_USER
+HEAT_DB_NAME=$HEAT_DB_NAME
+HEAT_DB_PASSWORD=$HEAT_DB_PASSWORD
+HEAT_DOMAIN_PASS=$HEAT_DOMAIN_PASS
+HEAT_KEYSTONE_PASSWORD=$HEAT_KEYSTONE_PASSWORD
+HEAT_KEYSTONE_USER=$HEAT_KEYSTONE_USER
+HORIZON_KEYSTONE_USER=$HORIZON_KEYSTONE_USER
+INIT_CINDER_DB=$INIT_CINDER_DB
+INIT_CONNECT=$INIT_CONNECT
+INIT_DESIGNATE_DB=$INIT_DESIGNATE_DB
+INIT_GLANCE_DB=$INIT_GLANCE_DB
+INIT_HEAT_DB=$INIT_HEAT_DB
+INIT_KEYSTONE_DB=$INIT_KEYSTONE_DB
+INIT_NOVA_DB=$INIT_NOVA_DB
+INNODB_FILE_PER_TABLE=$INNODB_FILE_PER_TABLE
+ISCSI_HELPER=$ISCSI_HELPER
+ISCSI_IP_ADDRESS=$ISCSI_IP_ADDRESS
+KEEPALIVED_HOST_PRIORITIES=$KEEPALIVED_HOST_PRIORITIES
 KEYSTONE_ADMIN_PASSWORD=$KEYSTONE_ADMIN_PASSWORD
 KEYSTONE_ADMIN_SERVICE_HOST=$KEYSTONE_ADMIN_SERVICE_HOST
 KEYSTONE_ADMIN_SERVICE_PORT=$KEYSTONE_ADMIN_SERVICE_PORT
 KEYSTONE_ADMIN_TOKEN=$KEYSTONE_ADMIN_TOKEN
 KEYSTONE_AUTH_PROTOCOL=$KEYSTONE_AUTH_PROTOCOL
+KEYSTONE_AUTH_PROTOCOL=$KEYSTONE_AUTH_PROTOCOL
+KEYSTONE_DB_NAME=$KEYSTONE_DB_NAME
 KEYSTONE_DB_PASSWORD=$KEYSTONE_DB_PASSWORD
+KEYSTONE_DB_USER=$KEYSTONE_DB_USER
 KEYSTONE_PUBLIC_SERVICE_HOST=$KEYSTONE_PUBLIC_SERVICE_HOST
 KEYSTONE_PUBLIC_SERVICE_PORT=$KEYSTONE_PUBLIC_SERVICE_PORT
-MARIADB_SERVICE_HOST=$HOST_IP
-MARIADB_ROOT_PASSWORD=$MARIADB_ROOT_PASSWORD
+KEYSTONE_REGION=$KEYSTONE_REGION
+KEYSTONE_USER=$KEYSTONE_USER
+KOLLA_CONFIG_STRATEGY=CONFIG_INTERNAL
+MAGNUM_API_SERVICE_HOST=$MAGNUM_API_SERVICE_HOST
+MAGNUM_API_SERVICE_PORT=$MAGNUM_API_SERVICE_PORT
+MAGNUM_DB_NAME=$MAGNUM_DB_NAME
+MAGNUM_DB_PASSWORD=$MAGNUM_DB_PASSWORD
+MAGNUM_DB_USER=$MAGNUM_DB_USER
+MAGNUM_KEYSTONE_PASSWORD=$MAGNUM_KEYSTONE_PASSWORD
+MAGNUM_KEYSTONE_USER=$MAGNUM_KEYSTONE_USER
 MARIADB_MAX_CONNECTIONS=$MARIADB_MAX_CONNECTIONS
-NETWORK_MANAGER=$NETWORK_MANAGER
-NOVA_API_SERVICE_HOST=$NOVA_API_SERVICE_HOST
-NOVA_METADATA_API_SERVICE_HOST=$NOVA_METADATA_API_SERVICE_HOST
-ENABLED_APIS=$ENABLED_APIS
+MARIADB_ROOT_PASSWORD=$MARIADB_ROOT_PASSWORD
+MARIADB_SERVICE_HOST=$HOST_IP
+MECHANISM_DRIVERS=$MECHANISM_DRIVERS
 METADATA_HOST=$METADATA_HOST
+NETWORK_MANAGER=$NETWORK_MANAGER
+NEUTRON_API_PASTE_CONFIG=$NEUTRON_API_PASTE_CONFIG
+NEUTRON_DB_NAME=$NEUTRON_DB_NAME
+NEUTRON_DB_PASSWORD=$NEUTRON_DB_PASSWORD
+NEUTRON_DB_USER=$NEUTRON_DB_USER
+NEUTRON_FLAT_NETWORK_INTERFACE=$NEUTRON_FLAT_NETWORK_INTERFACE
+NEUTRON_FLAT_NETWORK_NAME=$NEUTRON_FLAT_NETWORK_NAME
+NEUTRON_KEYSTONE_PASSWORD=$NEUTRON_KEYSTONE_PASSWORD
+NEUTRON_KEYSTONE_USER=$NEUTRON_KEYSTONE_USER
+NEUTRON_L3_AGENT_LOG_FILE=$NEUTRON_L3_AGENT_LOG_FILE
+NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=$NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE
+NEUTRON_LOG_DIR=$NEUTRON_LOG_DIR
+NEUTRON_METADATA_AGENT_LOG_FILE=$NEUTRON_METADATA_AGENT_LOG_FILE
+NEUTRON_SERVER_LOG_FILE=$NEUTRON_SERVER_LOG_FILE
+NEUTRON_SERVER_SERVICE_HOST=$NEUTRON_SERVER_SERVICE_HOST
+NEUTRON_SHARED_SECRET=$NEUTRON_SHARED_SECRET
+NOVA_API_LOG_FILE=$NOVA_API_LOG_FILE
+NOVA_API_SERVICE_HOST=$NOVA_API_SERVICE_HOST
+NOVA_COMPUTE_LOG_FILE=$NOVA_COMPUTE_LOG_FILE
+NOVA_CONDUCTOR_LOG_FILE=$NOVA_CONDUCTOR_LOG_FILE
+NOVA_CONSOLEAUTH_LOG_FILE=$NOVA_CONSOLEAUTH_LOG_FILE
 NOVA_DB_NAME=$NOVA_DB_NAME
 NOVA_DB_PASSWORD=$NOVA_DB_PASSWORD
 NOVA_DB_USER=$NOVA_DB_USER
@@ -330,122 +478,42 @@ 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
-NOVA_NOVNC_PROXY_SERVICE_HOST=$NOVA_NOVNC_PROXY_SERVICE_HOST
+NOVA_LOG_DIR=$NOVA_LOG_DIR
+NOVA_METADATA_API_SERVICE_HOST=$NOVA_METADATA_API_SERVICE_HOST
+NOVA_NOVNCPROXY_LOG_FILE=$NOVA_NOVNCPROXY_LOG_FILE
+NOVA_NOVNC_BASE_ADDRESS=${NOVA_NOVNC_BASE_ADDRESS}RI
 NOVA_NOVNC_PROXY_PORT=$NOVA_NOVNC_PROXY_PORT
-NOVA_NOVNC_BASE_ADDRESS=${NOVA_NOVNC_BASE_ADDRESS}
-NEUTRON_SHARED_SECRET=$NEUTRON_SHARED_SECRET
-NEUTRON_DB_NAME=$NEUTRON_DB_NAME
-NEUTRON_DB_USER=$NEUTRON_DB_USER
-NEUTRON_DB_PASSWORD=$NEUTRON_DB_PASSWORD
-NEUTRON_KEYSTONE_USER=$NEUTRON_KEYSTONE_USER
-NEUTRON_KEYSTONE_PASSWORD=$NEUTRON_KEYSTONE_PASSWORD
-NEUTRON_SERVER_SERVICE_HOST=$NEUTRON_SERVER_SERVICE_HOST
-NEUTRON_API_PASTE_CONFIG=$NEUTRON_API_PASTE_CONFIG
-NEUTRON_FLAT_NETWORK_NAME=$NEUTRON_FLAT_NETWORK_NAME
-NEUTRON_FLAT_NETWORK_INTERFACE=$NEUTRON_FLAT_NETWORK_INTERFACE
-HEAT_DB_NAME=$HEAT_DB_NAME
-HEAT_DB_PASSWORD=$HEAT_DB_PASSWORD
-HEAT_KEYSTONE_USER=$HEAT_KEYSTONE_USER
-HEAT_KEYSTONE_PASSWORD=$HEAT_KEYSTONE_PASSWORD
-HEAT_CFN_KEYSTONE_USER=$HEAT_CFN_KEYSTONE_USER
-HEAT_CFN_KEYSTONE_PASSWORD=$HEAT_CFN_KEYSTONE_PASSWORD
-HEAT_API_SERVICE_HOST=$HEAT_API_SERVICE_HOST
-HEAT_API_CFN_SERVICE_HOST=$HEAT_API_CFN_SERVICE_HOST
-HEAT_API_CFN_SERVICE_PORT=$HEAT_API_CFN_SERVICE_PORT
-HEAT_API_CFN_URL_HOST=$HEAT_API_CFN_URL_HOST
-HEAT_DOMAIN_PASS=$HEAT_DOMAIN_PASS
-MAGNUM_DB_NAME=$MAGNUM_DB_NAME
-MAGNUM_DB_USER=$MAGNUM_DB_USER
-MAGNUM_DB_PASSWORD=$MAGNUM_DB_PASSWORD
-MAGNUM_KEYSTONE_USER=$MAGNUM_KEYSTONE_USER
-MAGNUM_KEYSTONE_PASSWORD=$MAGNUM_KEYSTONE_PASSWORD
-MAGNUM_API_SERVICE_HOST=$MAGNUM_API_SERVICE_HOST
-MAGNUM_API_SERVICE_PORT=$MAGNUM_API_SERVICE_PORT
-PUBLIC_INTERFACE=$NOVA_PUBLIC_INTERFACE
-PUBLIC_IP=$HOST_IP
-RABBITMQ_PASS=$RABBIT_PASSWORD
-RABBITMQ_SERVICE_HOST=$RABBITMQ_SERVICE_HOST
-RABBITMQ_USER=$RABBIT_USER
-RABBITMQ_CLUSTER_NODES=$RABBITMQ_CLUSTER_NODES
-RABBITMQ_CLUSTER_COOKIE=$RABBITMQ_CLUSTER_COOKIE
-RABBIT_PASSWORD=$RABBIT_PASSWORD
-RABBIT_USERID=$RABBIT_USER
-DESIGNATE_DB_NAME=$DESIGNATE_DB_NAME
-DESIGNATE_DB_USER=$DESIGNATE_DB_USER
-DESIGNATE_DB_PASSWORD=$DESIGNATE_DB_PASSWORD
-DESIGNATE_KEYSTONE_USER=$DESIGNATE_KEYSTONE_USER
-DESIGNATE_KEYSTONE_PASSWORD=$DESIGNATE_KEYSTONE_PASSWORD
-DESIGNATE_API_SERVICE_HOST=$DESIGNATE_API_SERVICE_HOST
-DESIGNATE_API_SERVICE_PORT=$DESIGNATE_API_SERVICE_PORT
-DESIGNATE_BIND9_RNDC_KEY=$DESIGNATE_BIND9_RNDC_KEY
-DESIGNATE_MASTERNS=$DESIGNATE_MASTERNS
-DESIGNATE_BACKEND=$DESIGNATE_BACKEND
-DESIGNATE_SLAVENS=$DESIGNATE_SLAVENS
-DESIGNATE_MDNS_PORT=$DESIGNATE_MDNS_PORT
-DESIGNATE_DNS_PORT=$DESIGNATE_DNS_PORT
-DESIGNATE_POOLMAN_POOLID=$DESIGNATE_POOLMAN_POOLID
-DESIGNATE_POOLMAN_TARGETS=$DESIGNATE_POOLMAN_TARGETS
-DESIGNATE_POOLMAN_NSS=$DESIGNATE_POOLMAN_NSS
-DESIGNATE_INITDB=$DESIGNATE_INITDB
-DESIGNATE_ALLOW_RECURSION=$DESIGNATE_ALLOW_RECURSION
-DESIGNATE_DEFAULT_POOL_NS_RECORD=$DESIGNATE_DEFAULT_POOL_NS_RECORD
-DESIGNATE_SINK_NOVA_DOMAIN_NAME=$DESIGNATE_SINK_NOVA_DOMAIN_NAME
-DESIGNATE_SINK_NEUTRON_DOMAIN_NAME=$DESIGNATE_SINK_NEUTRON_DOMAIN_NAME
-DB_CLUSTER_BIND_ADDRESS=$DB_CLUSTER_BIND_ADDRESS
-DB_CLUSTER_INIT_DB=$DB_CLUSTER_INIT_DB
-DB_CLUSTER_NAME=$DB_CLUSTER_NAME
-DB_CLUSTER_NODES=$DB_CLUSTER_NODES
-DB_CLUSTER_WSREP_METHOD=$DB_CLUSTER_WSREP_METHOD
-CINDER_API_SERVICE_HOST=$HOST_IP
-CINDER_API_SERVICE_PORT=$CINDER_API_SERVICE_PORT
-CINDER_API_SERVICE_LISTEN=$MY_IP
-CINDER_KEYSTONE_USER=$CINDER_KEYSTONE_USER
-CINDER_KEYSTONE_PASSWORD=$CINDER_KEYSTONE_PASSWORD
-CINDER_ADMIN_PASSWORD=$CINDER_ADMIN_PASSWORD
-CINDER_DB_NAME=$CINDER_DB_NAME
-CINDER_DB_USER=$CINDER_DB_USER
-CINDER_DB_PASSWORD=$CINDER_DB_PASSWORD
-CINDER_BACKUP_MANAGER=$CINDER_BACKUP_MANAGER
-CINDER_BACKUP_API_CLASS=$CINDER_BACKUP_API_CLASS
-CINDER_BACKUP_NAME_TEMPLATE=$CINDER_BACKUP_NAME_TEMPLATE
-ISCSI_HELPER=$ISCSI_HELPER
-ISCSI_IP_ADDRESS=$ISCSI_IP_ADDRESS
-CINDER_BACKUP_DRIVER=$CINDER_BACKUP_DRIVER
-CINDER_LVM_LO_VOLUME_SIZE=$CINDER_LVM_LO_VOLUME_SIZE
-CINDER_VOLUME_GROUP=$CINDER_VOLUME_GROUP
-CINDER_VOLUME_API_LISTEN=$CINDER_VOLUME_API_LISTEN
-CINDER_VOLUME_BACKEND_NAME=$CINDER_VOLUME_BACKEND_NAME
-CINDER_VOLUME_DRIVER=$CINDER_VOLUME_DRIVER
-CINDER_ENABLED_BACKEND=$CINDER_ENABLED_BACKEND
-CINDER_LOG_DIR=$CINDER_LOG_DIR
-CINDER_API_LOG_FILE=$CINDER_API_LOG_FILE
-CINDER_API_VERSION=$CINDER_API_VERSION
-CINDER_VOLUME_LOG_FILE=$CINDER_VOLUME_LOG_FILE
-CINDER_BACKUP_LOG_FILE=$CINDER_BACKUP_LOG_FILE
-CINDER_SCHEDULER_LOG_FILE=$CINDER_SCHEDULER_LOG_FILE
-INIT_CINDER_DB=$INIT_CINDER_DB
-INIT_DESIGNATE_DB=$INIT_DESIGNATE_DB
-INIT_GLANCE_DB=$INIT_GLANCE_DB
-INIT_HEAT_DB=$INIT_HEAT_DB
-INIT_KEYSTONE_DB=$INIT_KEYSTONE_DB
-INIT_NOVA_DB=$INIT_NOVA_DB
-KEEPALIVED_HOST_PRIORITIES=$KEEPALIVED_HOST_PRIORITIES
-BARBICAN_DB_USER=$BARBICAN_DB_USER
-BARBICAN_DB_NAME=$BARBICAN_DB_NAME
-KEYSTONE_AUTH_PROTOCOL=$KEYSTONE_AUTH_PROTOCOL
-BARBICAN_KEYSTONE_USER=$BARBICAN_KEYSTONE_USER
-ADMIN_TENANT_NAME=$ADMIN_TENANT_NAME
-CEILOMETER_ADMIN_PASSWORD=$CEILOMETER_ADMIN_PASSWORD
-CEILOMETER_API_SERVICE_HOST=$CEILOMETER_API_SERVICE_HOST
-CEILOMETER_DB_NAME=$CEILOMETER_DB_NAME
-CEILOMETER_DB_PASSWORD=$CEILOMETER_DB_PASSWORD
-CEILOMETER_DB_USER=$CEILOMETER_DB_USER
-CEILOMETER_KEYSTONE_USER=$CEILOMETER_KEYSTONE_USER
+NOVA_NOVNC_PROXY_SERVICE_HOST=$NOVA_NOVNC_PROXY_SERVICE_HOST
+NOVA_SCHEDULER_LOG_FILE=$NOVA_SCHEDULER_LOG_FILE
+NOVA_VNCSERVER_LISTEN_ADDRESS=$NOVA_VNCSERVER_LISTEN_ADDRESS
+NOVA_VNCSERVER_PROXYCLIENT_ADDRESS=$NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
 OVS_DB_FILE=$OVS_DB_FILE
 OVS_LOG_FILE=$OVS_LOG_FILE
 OVS_UNIXSOCK=$OVS_UNIXSOCK
+PUBLIC_INTERFACE=$NOVA_PUBLIC_INTERFACE
+PUBLIC_IP=$HOST_IP
+RABBITMQ_CLUSTER_COOKIE=$RABBITMQ_CLUSTER_COOKIE
+RABBITMQ_CLUSTER_NODES=$RABBITMQ_CLUSTER_NODES
+RABBITMQ_PASS=$RABBIT_PASSWORD
+RABBITMQ_SERVICE_HOST=$RABBITMQ_SERVICE_HOST
+RABBITMQ_USER=$RABBIT_USER
+RABBIT_PASSWORD=$RABBIT_PASSWORD
+RABBIT_USERID=$RABBIT_USER
+ROOT_HELPER=$ROOT_HELPER
+SWIFT_DB_NAME=$SWIFT_DB_NAME
+SWIFT_DB_USER=$SWIFT_DB_USER
+SWIFT_KEYSTONE_USER=$SWIFT_KEYSTONE_USER
+TEMP_FILE=$TEMP_FILE
+TENANT_NETWORK_TYPES=$TENANT_NETWORK_TYPES
+TOKEN_DRIVER=$TOKEN_DRIVER
+TOKEN_PROVIDER=$TOKEN_PROVIDER
+TYPE_DRIVERS=$TYPE_DRIVERS
+USE_NAMESPACES=$USE_NAMESPACES
+VERBOSE_LOGGING=$VERBOSE_LOGGING
+ZAQAR_KEYSTONE_USER=$ZAQAR_KEYSTONE_USER
 
 EOF
 echo Please customize your FLAT_INTERFACE to a different network then your
 echo main network. The FLAT_INTERFACE is used for inter-VM communication.
 echo the FLAT_INTERFACE should not have an IP address assigned.
+