aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/minimal-environment-vars.md582
-rwxr-xr-xtools/min-env.sh68
2 files changed, 471 insertions, 179 deletions
diff --git a/docs/minimal-environment-vars.md b/docs/minimal-environment-vars.md
index d314a8abc..5d0e64d9b 100644
--- a/docs/minimal-environment-vars.md
+++ b/docs/minimal-environment-vars.md
@@ -2,265 +2,489 @@
In order for each service to function, there is a minimum set of required variables that need to be plugged into the environment. Below is the list of variables that is needed for each service to run in a minimal setting.
-# Logging
+# Barbican
- DEBUG_LOGGING
- VERBOSE_LOGGING
- NOVA_LOG_DIR
- NEUTRON_LOG_DIR
- NOVA_API_LOG_FILE
- NOVA_CONDUCTOR_LOG_FILE
- NOVA_SCHEDULER_LOG_FILE
- NOVA_COMPUTE_LOG_FILE
- NEUTRON_SERVER_LOG_FILE
- NEUTRON_L3_AGENT_LOG_FILE
- NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE
- NEUTRON_METADATA_AGENT_LOG_FILE
+ KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_PORT
+ BARBICAN_ADMIN_PASSWORD
-# Mariadb
+# Ceilometer-alarm
- MARIADB_SERVICE_HOST
- MYSQL_ROOT_PASSWORD
+ None
-# Keystone
+# Ceilometer-api
- MYSQL_ROOT_PASSWORD
- GLANCE_KEYSTONE_PASSWORD
- GLANCE_KEYSTONE_USER
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
+ CEILOMETER_DB_USER
+ CEILOMETER_DB_NAME
+ CEILOMETER_DB_PASSWORD
KEYSTONE_ADMIN_TOKEN
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
+ KEYSTONE_ADMIN_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_PORT
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
+ CEILOMETER_KEYSTONE_USER
+ CEILOMETER_ADMIN_PASSWORD
+ CEILOMETER_API_SERVICE_HOST
+ PUBLIC_IP
+
+# Ceilometer-base
+
+ KEYSTONE_ADMIN_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_SERVICE_HOST
+ dump_vars
-# Glance-api
+# Ceilometer-central
- MYSQL_ROOT_PASSWORD
- GLANCE_KEYSTONE_PASSWORD
- GLANCE_KEYSTONE_USER
- GLANCE_DB_USER
- GLANCE_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
KEYSTONE_ADMIN_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_PORT
+
+# Ceilometer-collector
+
+ None
+
+# Ceilometer-compute
+
+ KEYSTONE_ADMIN_TOKEN
+ RABBITMQ_SERVICE_HOST
+ RABBIT_PASSWORD
+
+# Ceilometer-notification
+
+ None
+
+# Cinder-api
+
+ 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_LOG_FILE
+ CINDER_API_SERVICE_LISTEN
+ CINDER_API_SERVICE_PORT
+ CINDER_API_SERVICE_LISTEN
+
+# Cinder-backup
+
+ CINDER_BACKUP_DRIVER
+ CINDER_BACKUP_MANAGER
+ CINDER_BACKUP_API_CLASS
+ CINDER_BACKUP_NAME_TEMPLATE
+
+# Cinder-base
+
+ CINDER_DB_PASSWORD
+ CINDER_KEYSTONE_PASSWORD
KEYSTONE_PUBLIC_SERVICE_HOST
+ RABBITMQ_SERVICE_HOST
+ GLANCE_API_SERVICE_HOST
MARIADB_SERVICE_HOST
- GLANCE_REGISTRY_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_LOG_DIR
-# Glance-registry
+# Cinder-scheduler
+
+ MARIADB_SERVICE_HOST
+ DB_ROOT_PASSWORD
+ CINDER_DB_NAME
+ CINDER_DB_USER
+ CINDER_DB_PASSWORD
+ CINDER_SCHEDULER_LOG_FILE
+ INIT_CINDER_DB
+
+# Cinder-volume
+
+ 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
+ CINDER_VOLUME_LOG_FILE
+ CINDER_LVM_LO_VOLUME_SIZE
+ CINDER_VOLUME_GROUP
+
+# Designate-api
- MYSQL_ROOT_PASSWORD
- GLANCE_KEYSTONE_PASSWORD
- GLANCE_KEYSTONE_USER
- GLANCE_DB_USER
- GLANCE_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ DESIGNATE_KEYSTONE_USER
+ DESIGNATE_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- KEYSTONE_ADMIN_SERVICE_HOST
+ DESIGNATE_API_SERVICE_HOST
+ DESIGNATE_API_SERVICE_PORT
+ KEYSTONE_ADMIN_SERVICE_PORT
+
+# Designate-backend-bind9
+
+ DESIGNATE_MASTERNS
+ DESIGNATE_SLAVENS
+ DESIGNATE_BIND9_RNDC_KEY
+ DESIGNATE_ALLOW_RECURSION
+
+# Designate-base
+
+ 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
+
+# Designate-central
+
MARIADB_SERVICE_HOST
- GLANCE_REGISTRY_SERVICE_HOST
+ DB_ROOT_PASSWORD
+ DESIGNATE_DB_NAME
+ DESIGNATE_DB_USER
+ DESIGNATE_DB_PASSWORD
+ INIT_DESIGNATE_DB
+
+# Designate-mdns
+
+ DESIGNATE_MASTERNS
+ DESIGNATE_MDNS_PORT
+
+# Designate-poolmanager
+
+ DESIGNATE_MASTERNS
+ DESIGNATE_BACKEND
+ DESIGNATE_SLAVENS
+ DESIGNATE_MDNS_PORT
+ DESIGNATE_DNS_PORT
+ DESIGNATE_POOLMAN_POOLID
+ DESIGNATE_POOLMAN_TARGETS
+ DESIGNATE_POOLMAN_NSS
+ DESIGNATE_POOLMAN_POOLID
+
+# Designate-sink
+
+ DESIGNATE_API_SERVICE_HOST
+ DESIGNATE_API_SERVICE_PORT
+ DESIGNATE_DEFAULT_POOL_NS_RECORD
+
+# Galera
+
+ DB_CLUSTER_BIND_ADDRESS
+ DB_CLUSTER_NAME
+ DB_CLUSTER_NODES
+ DB_ROOT_PASSWORD
+ DB_CLUSTER_WSREP_METHOD
+ DB_CLUSTER_INIT_DB
+
+# Glance-api
+
+ KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ GLANCE_KEYSTONE_USER
+ GLANCE_KEYSTONE_PASSWORD
+ ADMIN_TENANT_NAME
GLANCE_API_SERVICE_HOST
PUBLIC_IP
-# Nova-conductor
+# Glance-base
+
+ GLANCE_DB_PASSWORD
+ GLANCE_KEYSTONE_PASSWORD
+
+# Glance-registry
+
+ GLANCE_DB_NAME
+ GLANCE_DB_USER
+ GLANCE_DB_PASSWORD
+ INIT_GLANCE_DB
+
+# Hautoproxy
+
+ None
+
+# Heat-api-cfn
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ HEAT_CFN_KEYSTONE_USER
+ HEAT_CFN_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
- ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
KEYSTONE_ADMIN_SERVICE_PORT
+ ADMIN_TENANT_NAME
+ HEAT_API_CFN_SERVICE_HOST
+ HEAT_API_CFN_SERVICE_PORT
+
+# Heat-api
+
KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ HEAT_KEYSTONE_USER
+ HEAT_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- PUBLIC_INTERFACE
- FLAT_INTERFACE
- KEYSTONE_ADMIN_SERVICE_HOST
+ HEAT_API_SERVICE_HOST
+ PUBLIC_IP
+
+# Heat-base
+
+ HEAT_DB_PASSWORD
+ HEAT_KEYSTONE_PASSWORD
+ HEAT_API_CFN_URL_HOST
+ HEAT_API_CFN_SERVICE_PORT
KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_SERVICE_HOST
+ KEYSTONE_PUBLIC_SERVICE_PORT
RABBITMQ_SERVICE_HOST
- GLANCE_API_SERVICE_HOST
- NOVA_CONDUCTOR_SERVICE_HOST
- NOVA_EC2_API_SERVICE_HOST
- NOVA_EC2_SERVICE_HOST
+ MARIADB_SERVICE_HOST
+
+# Heat-engine
+
+ HEAT_DB_NAME
+ HEAT_DB_USER
+ HEAT_DB_PASSWORD
+ INIT_HEAT_DB
+
+# Horizon
+
+ None
+
+# Keepalived
+
+ KEEPALIVED_HOST_PRIORITIES
PUBLIC_IP
+ PUBLIC_INTERFACE
-# Nova-api
+# Keystone
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
- KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD
+ KEYSTONE_ADMIN_PASSWORD
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- PUBLIC_INTERFACE
- FLAT_INTERFACE
- KEYSTONE_ADMIN_SERVICE_HOST
KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_SERVICE_HOST
- RABBITMQ_SERVICE_HOST
- GLANCE_API_SERVICE_HOST
- NOVA_API_SERVICE_HOST
- NOVA_EC2_API_SERVICE_HOST
- NOVA_EC2_SERVICE_HOST
- NOVA_METADATA_API_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_HOST
PUBLIC_IP
+ INIT_KEYSTONE_DB
-# Nova-compute
+# Magnum-api
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ MAGNUM_KEYSTONE_USER
+ MAGNUM_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- PUBLIC_INTERFACE
- FLAT_INTERFACE
- KEYSTONE_ADMIN_SERVICE_HOST
+ MAGNUM_API_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_PORT
+ MAGNUM_API_SERVICE_PORT
+
+# Magnum-base
+
+ MAGNUM_DB_PASSWORD
+ MAGNUM_KEYSTONE_PASSWORD
KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_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
- GLANCE_API_SERVICE_HOST
- NOVA_COMPUTE_SERVICE_HOST
- NOVA_EC2_COMPUTE_SERVICE_HOST
- NOVA_EC2_SERVICE_HOST
- NOVA_NOVNC_BASE_ADDRESS
- NOVA_NOVNC_PROXY_PORT
- PUBLIC_IP
+ VERBOSE_LOGGING
+ DEBUG_LOGGING
-# Nova-libvirt
+# Magnum-conductor
+
+ MAGNUM_DB_NAME
+ MAGNUM_DB_USER
+ MAGNUM_DB_PASSWORD
+
+# Mariadb
None
-# Nova-scheduler
+# Mongodb
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
- KEYSTONE_ADMIN_TOKEN
+ None
+
+# Neutron-agents
+
+ VERBOSE_LOGGING
+ DEBUG_LOGGING
+ MECHANISM_DRIVERS
+ DHCP_DRIVER
+ USE_NAMESPACES
+ DELETE_NAMESPACES
+ NEUTRON_LOG_DIR
+ DNSMASQ_CONFIG_FILE
+ PUBLIC_IP
+ NEUTRON_FLAT_NETWORK_NAME
+ NEUTRON_FLAT_NETWORK_INTERFACE
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
+ KEYSTONE_PUBLIC_SERVICE_HOST
ADMIN_TENANT_NAME
- DB_ROOT_PASSWORD
- PUBLIC_INTERFACE
- FLAT_INTERFACE
- KEYSTONE_ADMIN_SERVICE_HOST
+ NEUTRON_KEYSTONE_USER
+ NEUTRON_KEYSTONE_PASSWORD
+ NEUTRON_SHARED_SECRET
+ NOVA_METADATA_API_SERVICE_HOST
+ NOVA_METADATA_API_SERVICE_PORT
+
+# Neutron-base
+
+ NEUTRON_KEYSTONE_PASSWORD
+ NEUTRON_API_PASTE_CONFIG
KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_SERVICE_HOST
RABBITMQ_SERVICE_HOST
- GLANCE_API_SERVICE_HOST
- NOVA_SCHEDULER_SERVICE_HOST
- NOVA_EC2_SCHEDULER_SERVICE_HOST
- NOVA_EC2_SERVICE_HOST
- PUBLIC_IP
-# Nova-network
+# Neutron-server
- MYSQL_ROOT_PASSWORD
- NOVA_KEYSTONE_PASSWORD
- NOVA_KEYSTONE_USER
- NOVA_DB_USER
- NOVA_DB_NAME
- KEYSTONE_ADMIN_PASSWORD
- KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
KEYSTONE_AUTH_PROTOCOL
- KEYSTONE_DB_PASSWORD
+ 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
- DB_ROOT_PASSWORD
+ NEUTRON_SERVER_SERVICE_HOST
+ PUBLIC_IP
+ NEUTRON_DB_PASSWORD
+
+# Nova-base
+
+ 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
+ VERBOSE_LOGGING
+ NEUTRON_SHARED_SECRET
+
+# Nova-compute
+
+ NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
+ NOVA_NOVNC_PROXY_PORT
+ NOVA_NOVNC_BASE_ADDRESS
+
+# Nova-libvirt
+
+ None
+
+# Nova-network
+
+ None
+
+# Nova-api
+
+ KEYSTONE_ADMIN_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
- KEYSTONE_PUBLIC_SERVICE_HOST
- MARIADB_SERVICE_HOST
- RABBITMQ_SERVICE_HOST
- GLANCE_API_SERVICE_HOST
- NOVA_NETWORK_SERVICE_HOST
- NOVA_EC2_NETWORK_SERVICE_HOST
- NOVA_EC2_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
-# Nova NoVNC
+# Nova-conductor
+
+ NOVA_DB_NAME
+ NOVA_DB_USER
+ NOVA_DB_PASSWORD
+ INIT_NOVA_DB
+
+# Nova-consoleauth
+ None
+
+# Nova-novncproxy
+
+ PUBLIC_IP
+ NOVA_NOVNC_PROXY_SERVICE_HOST
+ NOVA_NOVNC_PROXY_PORT
+ NOVA_NOVNC_BASE_ADDRESS
NOVA_VNCSERVER_LISTEN_ADDRESS
NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
-# Neutron/Nova
+# Nova-scheduler
- NEUTRON_SHARED_SECRET
+ NOVA_DB_NAME
-# Neutron Server
+# Rabbitmq
- NEUTRON_DB_NAME
- NEUTRON_DB_USER
- NEUTRON_DB_PASSWORD
- NEUTRON_KEYSTONE_USER
- NEUTRON_KEYSTONE_PASSWORD
- NEUTRON_SERVER_SERVICE_HOST
- NEUTRON_API_PASTE_CONFIG
+ RABBITMQ_CLUSTER_COOKIE
+ RABBITMQ_CLUSTER_NODES
+ RABBITMQ_LOG_BASE
+ RABBITMQ_PASS
+ RABBITMQ_USER
-# Neutron ML2 PLugin
+# Swift-account
- TYPE_DRIVERS
- TENANT_NETWORK_TYPES
- MECHANISM_DRIVERS
+ KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ SWIFT_ADMIN_PASSWORD
-# Neutron Linux Bridge Plugin
+# Swift-base
- NEUTRON_FLAT_NETWORK_NAME
- NEUTRON_FLAT_NETWORK_INTERFACE
+ None
+
+# Swift-container
+
+ KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ SWIFT_ADMIN_PASSWORD
+
+# Swift-object
+
+ KEYSTONE_ADMIN_TOKEN
+ KEYSTONE_ADMIN_SERVICE_HOST
+ SWIFT_ADMIN_PASSWORD
+
+# Swift-proxy-server
+
+ None
+
+# Zaqar
+
+ ZAQAR_KEYSTONE_PASSWORD
+ ZAQAR_SERVER_SERVICE_HOST
+ KEYSTONE_ADMIN_SERVICE_HOST
+ KEYSTONE_ADMIN_TOKEN
+ PUBLIC_IP
diff --git a/tools/min-env.sh b/tools/min-env.sh
new file mode 100755
index 000000000..403a43c34
--- /dev/null
+++ b/tools/min-env.sh
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+#
+# This script generates the minimal environment variable doc
+
+# Move to top level directory
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
+
+DOC=docs/minimal-environment-vars.md
+DOCKERDIR="docker"
+# BASE and TYPE can be hard coded to centos and rdo since the required vars will always be the same
+BASE="centos"
+TYPE="rdo"
+
+function write_header {
+ local header=$1
+ header=${header^}
+ header=$(echo ${header} | sed -e 's/-app//')
+ echo -e "\n# $header\n" >> "$DOC"
+}
+
+function write_env_var {
+ local env_var=$1
+ if [ -z "$env_var" ]; then
+ echo "" >> "$DOC"
+ else
+ env_var=${env_var%=*}
+ echo " $env_var" >> "$DOC"
+ fi
+}
+
+function find_vars {
+ local img_location=$1
+ local empty=true
+ scripts=$(find ${img_location} -name *.sh | sort -t / -k 4)
+
+ for script in $scripts; do
+ local vars=$(awk '/^\s*check_required_vars/,/([^\\]\s*$)/' $script)
+ vars=$(echo "$vars" | sed 's/check_required_vars//' | sed 's/\\//g')
+
+ if [ ! -z "$vars" ]; then
+ empty=false
+ for v in $vars; do
+ write_env_var $v
+ done
+ fi
+ done
+
+ if $empty; then
+ echo " None" >> "$DOC"
+ fi
+}
+
+cat > $DOC <<EOF
+# Environment Variables
+
+In order for each service to function, there is a minimum set of required variables that need to be plugged into the environment. Below is the list of variables that is needed for each service to run in a minimal setting.
+EOF
+
+declare -a startsh
+startsh=$(find "${DOCKERDIR}/${BASE}/${TYPE}/" -name Dockerfile | sort -t / -k 4 | grep -v data)
+
+for start_script in $startsh; do
+ if [ ! "$(dirname $start_script | xargs basename)" == "base" ]; then
+ write_header $(dirname $start_script | xargs basename)
+ find_vars $(dirname $start_script) $(dirname $start_script | xargs basename)
+ fi
+done