kolla/tools/genenv
James McCarthy 5e28eb8496 Implement Swift Containers
Known bugs/TODOs at this time of this patch update:

https://bugs.launchpad.net/kolla/+bug/1477990
https://bugs.launchpad.net/kolla/+bug/1477993

Implements: Blueprint swift-container
Closes-bug: #1477992
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: I031f88a7cd1867104fef12df6ab3ffcc06cb65d6
2015-07-31 09:36:11 +00:00

630 lines
22 KiB
Bash

#!/bin/bash
#
# This script generates a minimal set of environment variables to allow
# the openstack containers to operate. It is creating a configuration
# suitable for an all-in-one installation of openstack.
#
# It also creates a suitable 'openrc' for use with the installed system.
function check_binarydependencies {
local binaries="openssl"
local missingbinaries=""
local space=""
for bin in $binaries; do
if [[ ! $(type -t $bin) ]]; then
missingbinaries+=${space}$bin
space=" "
fi
done
if [ -n "$missingbinaries" ]; then
echo Missing dependencies: $missingbinaries
exit 1
fi
}
check_binarydependencies
# Move to top level directory
REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
cd "$(dirname "$REAL_PATH")/.."
MY_IP=${MY_IP:-$(ip route get $(ip route | awk '$1 == "default" {print $3}') |
awk '$4 == "src" {print $5}')}
MY_DEV=${MY_DEV:-$(ip route get $(ip route | awk '$1 == "default" {print $3}') |
awk '$4 == "src" {print $3}')}
echo MY_IP=$MY_IP
echo MY_DEV=$MY_DEV
# API versions
CINDER_API_VERSION=2
# 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
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
DB_CLUSTER_INIT_DB=false
DB_CLUSTER_NAME=kollacluster
DB_CLUSTER_NODES=
DB_CLUSTER_WSREP_METHOD=mysqldump
# Host
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
NEUTRON_L3_AGENT_LOG_FILE=
NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=
NEUTRON_LOG_DIR=/var/log/neutron
NEUTRON_METADATA_AGENT_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_CLUSTER_COOKIE=
RABBITMQ_CLUSTER_NODES=
RABBITMQ_SERVICE_HOST=$HOST_IP
RABBIT_PASSWORD=guest
RABBIT_USER=guest
#Barbican
ADMIN_TENANT_NAME=admin
BARBICAN_DB_NAME=barbican
BARBICAN_DB_USER=barbican
BARBICAN_KEYSTONE_USER=barbican
KEYSTONE_AUTH_PROTOCOL=http
#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
# 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
# Cinder Scheduler
CINDER_DB_NAME=cinder
CINDER_DB_PASSWORD=password
CINDER_DB_USER=cinder
# 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
# 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
DESIGNATE_DB_USER=designate
DESIGNATE_DB_PASSWORD=designatedns
DESIGNATE_KEYSTONE_USER=designate
DESIGNATE_KEYSTONE_PASSWORD=designate
DESIGNATE_BIND9_RNDC_KEY=$(openssl rand -base64 24)
DESIGNATE_MASTERNS=$HOST_IP
DESIGNATE_BACKEND=bind9
DESIGNATE_SLAVENS=$HOST_IP
DESIGNATE_API_SERVICE_HOST=$HOST_IP
DESIGNATE_API_SERVICE_PORT=9001
DESIGNATE_MDNS_PORT=5354
DESIGNATE_DNS_PORT=53
DESIGNATE_POOLMAN_POOLID=$(uuidgen)
DESIGNATE_POOLMAN_TARGETS=$(uuidgen)
DESIGNATE_POOLMAN_NSS=$(uuidgen)
DESIGNATE_ALLOW_RECURSION=true
DESIGNATE_DEFAULT_POOL_NS_RECORD=ns1.example.org.
DESIGNATE_SINK_NOVA_DOMAIN_NAME=nova.example.org.
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")
# 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
# 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
# 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
# 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
# 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_ACCOUNT_SVC_BIND_IP=$PUBLIC_IP
SWIFT_ACCOUNT_SVC_BIND_PORT=6002
SWIFT_ACCOUNT_SVC_DEVICES=/srv/node
SWIFT_ACCOUNT_SVC_MOUNT_CHECK=false
SWIFT_ADMIN_USER=swift
SWIFT_API_SERVICE_HOST=$HOST_IP
SWIFT_CONTAINER_SVC_BIND_IP=$PUBLIC_IP
SWIFT_CONTAINER_SVC_BIND_PORT=6001
SWIFT_CONTAINER_SVC_DEVICES=/srv/node
SWIFT_CONTAINER_SVC_MOUNT_CHECK=false
SWIFT_DIR=/etc/swift
SWIFT_HASH_PATH_SUFFIX=$(openssl rand -hex 8)
SWIFT_KEYSTONE_PASSWORD=swift
SWIFT_KEYSTONE_USER=swift
SWIFT_OBJECT_SVC_BIND_IP=$PUBLIC_IP
SWIFT_OBJECT_SVC_BIND_PORT=6000
SWIFT_OBJECT_SVC_DEVICES=/srv/node
SWIFT_OBJECT_SVC_MOUNT_CHECK=false
SWIFT_OBJECT_SVC_PIPELINE=object-server
SWIFT_PROXY_ACCOUNT_AUTOCREATE=true
SWIFT_PROXY_AUTH_PLUGIN=password
SWIFT_PROXY_BIND_IP=$PUBLIC_IP
SWIFT_PROXY_BIND_PORT=8080
SWIFT_PROXY_DELAY_AUTH_DECISION=true
SWIFT_PROXY_DIR=/etc/swift
SWIFT_PROXY_OPERATOR_ROLES=admin,user
SWIFT_PROXY_PASSWORD=swift
SWIFT_PROXY_PIPELINE_MAIN="catch_errors gatekeeper healthcheck cache container_sync bulk ratelimit authtoken keystoneauth slo dlo proxy-server"
SWIFT_PROXY_PROJECT_DOMAIN_ID=default
SWIFT_PROXY_PROJECT_NAME=service
SWIFT_PROXY_SIGNING_DIR=/var/cache/swift
SWIFT_PROXY_USER_DOMAIN_ID=default
SWIFT_PROXY_USERNAME=swift
SWIFT_USER=swift
SWIFT_OBJECT_SVC_RING_NAME=/etc/swift/object.builder
SWIFT_OBJECT_SVC_RING_PART_POWER=10
SWIFT_OBJECT_SVC_RING_REPLICAS=3
SWIFT_OBJECT_SVC_RING_MIN_PART_HOURS=1
SWIFT_OBJECT_SVC_RING_HOSTS="${HOST_IP}:6000,${HOST_IP}:6000,${HOST_IP}:6000"
SWIFT_OBJECT_SVC_RING_DEVICES="sdb1,sdb2,sdb3"
SWIFT_OBJECT_SVC_RING_WEIGHTS="1,1,1"
SWIFT_OBJECT_SVC_RING_ZONES="1,2,3"
SWIFT_CONTAINER_SVC_RING_NAME=/etc/swift/container.builder
SWIFT_CONTAINER_SVC_RING_PART_POWER=10
SWIFT_CONTAINER_SVC_RING_REPLICAS=3
SWIFT_CONTAINER_SVC_RING_MIN_PART_HOURS=1
SWIFT_CONTAINER_SVC_RING_HOSTS="${HOST_IP}:6001,${HOST_IP}:6001,${HOST_IP}:6001"
SWIFT_CONTAINER_SVC_RING_DEVICES="sdb1,sdb2,sdb3"
SWIFT_CONTAINER_SVC_RING_WEIGHTS="1,1,1"
SWIFT_CONTAINER_SVC_RING_ZONES="1,2,3"
SWIFT_ACCOUNT_SVC_RING_NAME=/etc/swift/account.builder
SWIFT_ACCOUNT_SVC_RING_PART_POWER=10
SWIFT_ACCOUNT_SVC_RING_REPLICAS=3
SWIFT_ACCOUNT_SVC_RING_MIN_PART_HOURS=1
SWIFT_ACCOUNT_SVC_RING_HOSTS="${HOST_IP}:6002,${HOST_IP}:6002,${HOST_IP}:6002"
SWIFT_ACCOUNT_SVC_RING_DEVICES="sdb1,sdb2,sdb3"
SWIFT_ACCOUNT_SVC_RING_WEIGHTS="1,1,1"
SWIFT_ACCOUNT_SVC_RING_ZONES="1,2,3"
#Zaqar
ZAQAR_KEYSTONE_USER=zaqar
# this should use the keystone admin port
# https://bugs.launchpad.net/kolla/+bug/1469209
cat > ./openrc <<EOF
export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v2.0"
export OS_USERNAME=$ADMIN_TENANT_NAME
export OS_PASSWORD=$ADMIN_USER_PASSWORD
export OS_TENANT_NAME=$ADMIN_TENANT_NAME
export OS_VOLUME_API_VERSION=$CINDER_API_VERSION
EOF
cat > ./compose/openstack.env <<EOF
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
GLANCE_DB_PASSWORD=$GLANCE_DB_PASSWORD
GLANCE_DB_USER=$GLANCE_DB_USER
GLANCE_KEYSTONE_PASSWORD=$GLANCE_KEYSTONE_PASSWORD
GLANCE_KEYSTONE_USER=$GLANCE_KEYSTONE_USER
GLANCE_REGISTRY_SERVICE_HOST=$GLANCE_REGISTRY_SERVICE_HOST
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
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
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
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_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_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_ACCOUNT_SVC_BIND_IP=$SWIFT_ACCOUNT_SVC_BIND_IP
SWIFT_ACCOUNT_SVC_BIND_PORT=$SWIFT_ACCOUNT_SVC_BIND_PORT
SWIFT_ACCOUNT_SVC_DEVICES=$SWIFT_ACCOUNT_SVC_DEVICES
SWIFT_ACCOUNT_SVC_MOUNT_CHECK=$SWIFT_ACCOUNT_SVC_MOUNT_CHECK
SWIFT_ADMIN_USER=$SWIFT_ADMIN_USER
SWIFT_API_SERVICE_HOST=$SWIFT_API_SERVICE_HOST
SWIFT_CONTAINER_SVC_BIND_IP=$PUBLIC_IP
SWIFT_CONTAINER_SVC_BIND_PORT=$SWIFT_CONTAINER_SVC_BIND_PORT
SWIFT_CONTAINER_SVC_DEVICES=$SWIFT_CONTAINER_SVC_DEVICES
SWIFT_CONTAINER_SVC_MOUNT_CHECK=$SWIFT_CONTAINER_SVC_MOUNT_CHECK
SWIFT_DIR=$SWIFT_DIR
SWIFT_HASH_PATH_SUFFIX=$SWIFT_HASH_PATH_SUFFIX
SWIFT_KEYSTONE_PASSWORD=$SWIFT_KEYSTONE_PASSWORD
SWIFT_KEYSTONE_USER=$SWIFT_KEYSTONE_USER
SWIFT_OBJECT_SVC_BIND_IP=$SWIFT_OBJECT_SVC_BIND_IP
SWIFT_OBJECT_SVC_BIND_PORT=$SWIFT_OBJECT_SVC_BIND_PORT
SWIFT_OBJECT_SVC_DEVICES=$SWIFT_OBJECT_SVC_DEVICES
SWIFT_OBJECT_SVC_MOUNT_CHECK=$SWIFT_OBJECT_SVC_MOUNT_CHECK
SWIFT_OBJECT_SVC_PIPELINE=$SWIFT_OBJECT_SVC_PIPELINE
SWIFT_PROXY_ACCOUNT_AUTOCREATE=$SWIFT_PROXY_ACCOUNT_AUTOCREATE
SWIFT_PROXY_AUTH_PLUGIN=$SWIFT_PROXY_AUTH_PLUGIN
SWIFT_PROXY_BIND_IP=$SWIFT_PROXY_BIND_IP
SWIFT_PROXY_BIND_PORT=$SWIFT_PROXY_BIND_PORT
SWIFT_PROXY_DELAY_AUTH_DECISION=$SWIFT_PROXY_DELAY_AUTH_DECISION
SWIFT_PROXY_DIR=$SWIFT_PROXY_DIR
SWIFT_PROXY_OPERATOR_ROLES=$SWIFT_PROXY_OPERATOR_ROLES
SWIFT_PROXY_PASSWORD=$SWIFT_PROXY_PASSWORD
SWIFT_PROXY_PIPELINE_MAIN=$SWIFT_PROXY_PIPELINE_MAIN
SWIFT_PROXY_PROJECT_DOMAIN_ID=$SWIFT_PROXY_PROJECT_DOMAIN_ID
SWIFT_PROXY_PROJECT_NAME=$SWIFT_PROXY_PROJECT_NAME
SWIFT_PROXY_SIGNING_DIR=$SWIFT_PROXY_SIGNING_DIR
SWIFT_PROXY_USER_DOMAIN_ID=$SWIFT_PROXY_USER_DOMAIN_ID
SWIFT_PROXY_USERNAME=$SWIFT_PROXY_USERNAME
SWIFT_USER=$SWIFT_USER
SWIFT_OBJECT_SVC_RING_NAME=${SWIFT_OBJECT_SVC_RING_NAME}
SWIFT_OBJECT_SVC_RING_PART_POWER=${SWIFT_OBJECT_SVC_RING_PART_POWER}
SWIFT_OBJECT_SVC_RING_REPLICAS=${SWIFT_OBJECT_SVC_RING_REPLICAS}
SWIFT_OBJECT_SVC_RING_MIN_PART_HOURS=${SWIFT_OBJECT_SVC_RING_MIN_PART_HOURS}
SWIFT_OBJECT_SVC_RING_HOSTS=${SWIFT_OBJECT_SVC_RING_HOSTS}
SWIFT_OBJECT_SVC_RING_DEVICES=${SWIFT_OBJECT_SVC_RING_DEVICES}
SWIFT_OBJECT_SVC_RING_WEIGHTS=${SWIFT_OBJECT_SVC_RING_WEIGHTS}
SWIFT_OBJECT_SVC_RING_ZONES=${SWIFT_OBJECT_SVC_RING_ZONES}
SWIFT_CONTAINER_SVC_RING_NAME=${SWIFT_CONTAINER_SVC_RING_NAME}
SWIFT_CONTAINER_SVC_RING_PART_POWER=${SWIFT_CONTAINER_SVC_RING_PART_POWER}
SWIFT_CONTAINER_SVC_RING_REPLICAS=${SWIFT_CONTAINER_SVC_RING_REPLICAS}
SWIFT_CONTAINER_SVC_RING_MIN_PART_HOURS=${SWIFT_CONTAINER_SVC_RING_MIN_PART_HOURS}
SWIFT_CONTAINER_SVC_RING_HOSTS=${SWIFT_CONTAINER_SVC_RING_HOSTS}
SWIFT_CONTAINER_SVC_RING_DEVICES=${SWIFT_CONTAINER_SVC_RING_DEVICES}
SWIFT_CONTAINER_SVC_RING_WEIGHTS=${SWIFT_CONTAINER_SVC_RING_WEIGHTS}
SWIFT_CONTAINER_SVC_RING_ZONES=${SWIFT_CONTAINER_SVC_RING_ZONES}
SWIFT_ACCOUNT_SVC_RING_NAME=${SWIFT_ACCOUNT_SVC_RING_NAME}
SWIFT_ACCOUNT_SVC_RING_PART_POWER=${SWIFT_ACCOUNT_SVC_RING_PART_POWER}
SWIFT_ACCOUNT_SVC_RING_REPLICAS=${SWIFT_ACCOUNT_SVC_RING_REPLICAS}
SWIFT_ACCOUNT_SVC_RING_MIN_PART_HOURS=${SWIFT_ACCOUNT_SVC_RING_MIN_PART_HOURS}
SWIFT_ACCOUNT_SVC_RING_HOSTS=${SWIFT_ACCOUNT_SVC_RING_HOSTS}
SWIFT_ACCOUNT_SVC_RING_DEVICES=${SWIFT_ACCOUNT_SVC_RING_DEVICES}
SWIFT_ACCOUNT_SVC_RING_WEIGHTS=${SWIFT_ACCOUNT_SVC_RING_WEIGHTS}
SWIFT_ACCOUNT_SVC_RING_ZONES=${SWIFT_ACCOUNT_SVC_RING_ZONES}
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.