Skip to content
Snippets Groups Projects
Commit b9d8dc63 authored by Jenkins's avatar Jenkins Committed by Gerrit Code Review
Browse files

Merge "Auto generate minimal environment variables doc"

parents 6766632b 01e90ec2
No related branches found
No related tags found
No related merge requests found
...@@ -2,265 +2,489 @@ ...@@ -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. 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 KEYSTONE_ADMIN_TOKEN
VERBOSE_LOGGING KEYSTONE_ADMIN_SERVICE_HOST
NOVA_LOG_DIR KEYSTONE_ADMIN_SERVICE_PORT
NEUTRON_LOG_DIR BARBICAN_ADMIN_PASSWORD
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
# Mariadb # Ceilometer-alarm
MARIADB_SERVICE_HOST None
MYSQL_ROOT_PASSWORD
# Keystone # Ceilometer-api
MYSQL_ROOT_PASSWORD CEILOMETER_DB_USER
GLANCE_KEYSTONE_PASSWORD CEILOMETER_DB_NAME
GLANCE_KEYSTONE_USER CEILOMETER_DB_PASSWORD
KEYSTONE_ADMIN_PASSWORD
KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_TOKEN
KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD KEYSTONE_ADMIN_SERVICE_HOST
NOVA_KEYSTONE_PASSWORD KEYSTONE_ADMIN_SERVICE_PORT
NOVA_KEYSTONE_USER
ADMIN_TENANT_NAME 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_HOST
KEYSTONE_ADMIN_SERVICE_PORT
KEYSTONE_PUBLIC_SERVICE_HOST 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_ADMIN_TOKEN
KEYSTONE_AUTH_PROTOCOL 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_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 KEYSTONE_PUBLIC_SERVICE_HOST
RABBITMQ_SERVICE_HOST
GLANCE_API_SERVICE_HOST
MARIADB_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_HOST
GLANCE_API_SERVICE_PORT
ADMIN_TENANT_NAME
CINDER_DB_NAME
CINDER_DB_USER
CINDER_KEYSTONE_USER
PUBLIC_IP 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_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
DESIGNATE_KEYSTONE_USER
DESIGNATE_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD
NOVA_KEYSTONE_PASSWORD
NOVA_KEYSTONE_USER
ADMIN_TENANT_NAME ADMIN_TENANT_NAME
DB_ROOT_PASSWORD DESIGNATE_API_SERVICE_HOST
KEYSTONE_ADMIN_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 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 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 GLANCE_API_SERVICE_HOST
PUBLIC_IP 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_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
HEAT_CFN_KEYSTONE_USER
HEAT_CFN_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL 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 KEYSTONE_ADMIN_SERVICE_PORT
ADMIN_TENANT_NAME
HEAT_API_CFN_SERVICE_HOST
HEAT_API_CFN_SERVICE_PORT
# Heat-api
KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
HEAT_KEYSTONE_USER
HEAT_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD
ADMIN_TENANT_NAME ADMIN_TENANT_NAME
DB_ROOT_PASSWORD HEAT_API_SERVICE_HOST
PUBLIC_INTERFACE PUBLIC_IP
FLAT_INTERFACE
KEYSTONE_ADMIN_SERVICE_HOST # Heat-base
HEAT_DB_PASSWORD
HEAT_KEYSTONE_PASSWORD
HEAT_API_CFN_URL_HOST
HEAT_API_CFN_SERVICE_PORT
KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_HOST
MARIADB_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_PORT
RABBITMQ_SERVICE_HOST RABBITMQ_SERVICE_HOST
GLANCE_API_SERVICE_HOST MARIADB_SERVICE_HOST
NOVA_CONDUCTOR_SERVICE_HOST
NOVA_EC2_API_SERVICE_HOST # Heat-engine
NOVA_EC2_SERVICE_HOST
HEAT_DB_NAME
HEAT_DB_USER
HEAT_DB_PASSWORD
INIT_HEAT_DB
# Horizon
None
# Keepalived
KEEPALIVED_HOST_PRIORITIES
PUBLIC_IP 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_ADMIN_TOKEN
KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD KEYSTONE_DB_PASSWORD
KEYSTONE_ADMIN_PASSWORD
ADMIN_TENANT_NAME ADMIN_TENANT_NAME
DB_ROOT_PASSWORD
PUBLIC_INTERFACE
FLAT_INTERFACE
KEYSTONE_ADMIN_SERVICE_HOST
KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_HOST
MARIADB_SERVICE_HOST KEYSTONE_ADMIN_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
PUBLIC_IP 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_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
MAGNUM_KEYSTONE_USER
MAGNUM_KEYSTONE_PASSWORD
KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD
ADMIN_TENANT_NAME ADMIN_TENANT_NAME
DB_ROOT_PASSWORD MAGNUM_API_SERVICE_HOST
PUBLIC_INTERFACE KEYSTONE_ADMIN_SERVICE_PORT
FLAT_INTERFACE MAGNUM_API_SERVICE_PORT
KEYSTONE_ADMIN_SERVICE_HOST
# Magnum-base
MAGNUM_DB_PASSWORD
MAGNUM_KEYSTONE_PASSWORD
KEYSTONE_PUBLIC_SERVICE_HOST 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 RABBITMQ_SERVICE_HOST
GLANCE_API_SERVICE_HOST VERBOSE_LOGGING
NOVA_COMPUTE_SERVICE_HOST DEBUG_LOGGING
NOVA_EC2_COMPUTE_SERVICE_HOST
NOVA_EC2_SERVICE_HOST
NOVA_NOVNC_BASE_ADDRESS
NOVA_NOVNC_PROXY_PORT
PUBLIC_IP
# Nova-libvirt # Magnum-conductor
MAGNUM_DB_NAME
MAGNUM_DB_USER
MAGNUM_DB_PASSWORD
# Mariadb
None None
# Nova-scheduler # Mongodb
MYSQL_ROOT_PASSWORD None
NOVA_KEYSTONE_PASSWORD
NOVA_KEYSTONE_USER # Neutron-agents
NOVA_DB_USER
NOVA_DB_NAME VERBOSE_LOGGING
KEYSTONE_ADMIN_PASSWORD DEBUG_LOGGING
KEYSTONE_ADMIN_SERVICE_PORT MECHANISM_DRIVERS
KEYSTONE_ADMIN_TOKEN 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_AUTH_PROTOCOL
KEYSTONE_DB_PASSWORD KEYSTONE_PUBLIC_SERVICE_HOST
ADMIN_TENANT_NAME ADMIN_TENANT_NAME
DB_ROOT_PASSWORD NEUTRON_KEYSTONE_USER
PUBLIC_INTERFACE NEUTRON_KEYSTONE_PASSWORD
FLAT_INTERFACE NEUTRON_SHARED_SECRET
KEYSTONE_ADMIN_SERVICE_HOST NOVA_METADATA_API_SERVICE_HOST
NOVA_METADATA_API_SERVICE_PORT
# Neutron-base
NEUTRON_KEYSTONE_PASSWORD
NEUTRON_API_PASTE_CONFIG
KEYSTONE_PUBLIC_SERVICE_HOST KEYSTONE_PUBLIC_SERVICE_HOST
MARIADB_SERVICE_HOST
RABBITMQ_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_TOKEN
KEYSTONE_ADMIN_SERVICE_HOST
KEYSTONE_AUTH_PROTOCOL 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 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 PUBLIC_INTERFACE
FLAT_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_ADMIN_SERVICE_HOST
KEYSTONE_PUBLIC_SERVICE_HOST NOVA_KEYSTONE_USER
MARIADB_SERVICE_HOST NOVA_KEYSTONE_PASSWORD
RABBITMQ_SERVICE_HOST ADMIN_TENANT_NAME
GLANCE_API_SERVICE_HOST NOVA_API_SERVICE_HOST
NOVA_NETWORK_SERVICE_HOST NOVA_EC2_API_SERVICE_HOST
NOVA_EC2_NETWORK_SERVICE_HOST
NOVA_EC2_SERVICE_HOST
PUBLIC_IP 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_LISTEN_ADDRESS
NOVA_VNCSERVER_PROXYCLIENT_ADDRESS NOVA_VNCSERVER_PROXYCLIENT_ADDRESS
# Neutron/Nova # Nova-scheduler
NEUTRON_SHARED_SECRET NOVA_DB_NAME
# Neutron Server # Rabbitmq
NEUTRON_DB_NAME RABBITMQ_CLUSTER_COOKIE
NEUTRON_DB_USER RABBITMQ_CLUSTER_NODES
NEUTRON_DB_PASSWORD RABBITMQ_LOG_BASE
NEUTRON_KEYSTONE_USER RABBITMQ_PASS
NEUTRON_KEYSTONE_PASSWORD RABBITMQ_USER
NEUTRON_SERVER_SERVICE_HOST
NEUTRON_API_PASTE_CONFIG
# Neutron ML2 PLugin # Swift-account
TYPE_DRIVERS KEYSTONE_ADMIN_TOKEN
TENANT_NETWORK_TYPES KEYSTONE_ADMIN_SERVICE_HOST
MECHANISM_DRIVERS SWIFT_ADMIN_PASSWORD
# Neutron Linux Bridge Plugin # Swift-base
NEUTRON_FLAT_NETWORK_NAME None
NEUTRON_FLAT_NETWORK_INTERFACE
# 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
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment