#!/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_MURANO_DB=true INIT_HEAT_DB=true INIT_KEYSTONE_DB=true INIT_NOVA_DB=true INNODB_FILE_PER_TABLE=true MARIADB_MAX_CONNECTIONS=151 MARIADB_SERVICE_PORT=3306 MONGODB_SERVICE_PORT=27017 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 RABBITMQ_SERVICE_PORT=5672 RABBIT_PASSWORD=guest RABBITMQ_USER=guest #Barbican ADMIN_TENANT_NAME=admin BARBICAN_ADMIN_SERVICE_PORT=9312 BARBICAN_DB_NAME=barbican BARBICAN_DB_USER=barbican BARBICAN_KEYSTONE_USER=barbican BARBICAN_PUBLIC_SERVICE_PORT=9311 KEYSTONE_AUTH_PROTOCOL=http #Ceilometer CEILOMETER_ADMIN_PASSWORD=password CEILOMETER_API_SERVICE_HOST=$HOST_IP CEILOMETER_API_SERVICE_PORT=8777 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_API_SERVICE_PORT=9292 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 GLANCE_REGISTRY_SERVICE_PORT=9191 # 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_API_SERVICE_PORT=8004 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 HORIZON_SERVICE_PORT=80 # Keystone KEYSTONE_ADMIN_PASSWORD=$PASSWORD KEYSTONE_ADMIN_SERVICE_HOST=$HOST_IP KEYSTONE_ADMIN_SERVICE_PORT=35357 KEYSTONE_ADMIN_TOKEN=$PASSWORD KEYSTONE_API_VERSION=2.0 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 USE_STDERR=false # 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 # Murano MURANO_DB_NAME=murano MURANO_DB_PASSWORD=murano MURANO_DB_USER=murano MURANO_HOST_IP=$HOST_IP MURANO_KEYSTONE_PASSWORD=password MURANO_KEYSTONE_USER=murano MURANO_SERVICE_PORT=8082 MURANO_SERVICE_PROTOCOL=http # 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_SERVER_SERVICE_PORT=9696 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_API_SERVICE_PORT=8774 NOVA_DB_NAME=nova NOVA_DB_PASSWORD=nova NOVA_DB_USER=nova NOVA_EC2_SERVICE_HOST=$HOST_IP NOVA_EC2_API_SERVICE_PORT=8773 NOVA_FLAT_INTERFACE=eth1 NOVA_KEYSTONE_PASSWORD=nova NOVA_KEYSTONE_USER=nova NOVA_LIBVIRT_SERVICE_PORT=16509 NOVA_METADATA_API_SERVICE_HOST=$HOST_IP NOVA_METADATA_API_SERVICE_PORT=8775 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 ZAQAR_SERVER_SERVICE_PORT=8888 # 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=$ADMIN_USER ADMIN_USER_PASSWORD=$ADMIN_USER_PASSWORD BARBICAN_ADMIN_SERVICE_PORT=$BARBICAN_ADMIN_SERVICE_PORT BARBICAN_DB_NAME=$BARBICAN_DB_NAME BARBICAN_DB_USER=$BARBICAN_DB_USER BARBICAN_KEYSTONE_USER=$BARBICAN_KEYSTONE_USER BARBICAN_PUBLIC_SERVICE_PORT=$BARBICAN_PUBLIC_SERVICE_PORT BIND_ADDRESS=$BIND_ADDRESS CEILOMETER_ADMIN_PASSWORD=$CEILOMETER_ADMIN_PASSWORD CEILOMETER_API_SERVICE_HOST=$CEILOMETER_API_SERVICE_HOST CEILOMETER_API_SERVICE_PORT=$CEILOMETER_API_SERVICE_PORT 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_API_SERVICE_PORT=$GLANCE_API_SERVICE_PORT 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 GLANCE_REGISTRY_SERVICE_PORT=$GLANCE_REGISTRY_SERVICE_PORT 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_API_SERVICE_PORT=$HEAT_API_SERVICE_PORT 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 HORIZON_SERVICE_PORT=$HORIZON_SERVICE_PORT INIT_CINDER_DB=$INIT_CINDER_DB INIT_CONNECT=$INIT_CONNECT INIT_DESIGNATE_DB=$INIT_DESIGNATE_DB INIT_GLANCE_DB=$INIT_GLANCE_DB INIT_MURANO_DB=$INIT_MURANO_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_API_VERSION=$KEYSTONE_API_VERSION 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 MARIADB_SERVICE_PORT=$MARIADB_SERVICE_PORT MECHANISM_DRIVERS=$MECHANISM_DRIVERS METADATA_HOST=$METADATA_HOST MONGODB_SERVICE_PORT=$MONGODB_SERVICE_PORT MURANO_DB_NAME=$MURANO_DB_NAME MURANO_DB_PASSWORD=$MURANO_DB_PASSWORD MURANO_DB_USER=$MURANO_DB_USER MURANO_HOST_IP=$MURANO_HOST_IP MURANO_KEYSTONE_PASSWORD=$MURANO_KEYSTONE_PASSWORD MURANO_KEYSTONE_USER=$MURANO_KEYSTONE_USER MURANO_SERVICE_PORT=$MURANO_SERVICE_PORT MURANO_SERVICE_PROTOCOL=$MURANO_SERVICE_PROTOCOL 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_SERVER_SERVICE_PORT=$NEUTRON_SERVER_SERVICE_PORT NEUTRON_SHARED_SECRET=$NEUTRON_SHARED_SECRET NOVA_API_LOG_FILE=$NOVA_API_LOG_FILE NOVA_API_SERVICE_HOST=$NOVA_API_SERVICE_HOST NOVA_API_SERVICE_PORT=$NOVA_API_SERVICE_PORT 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_EC2_API_SERVICE_PORT=$NOVA_EC2_API_SERVICE_PORT NOVA_KEYSTONE_PASSWORD=$NOVA_KEYSTONE_PASSWORD NOVA_KEYSTONE_USER=$NOVA_KEYSTONE_USER NOVA_LOG_DIR=$NOVA_LOG_DIR NOVA_LIBVIRT_SERVICE_PORT=$NOVA_LIBVIRT_SERVICE_PORT NOVA_METADATA_API_SERVICE_HOST=$NOVA_METADATA_API_SERVICE_HOST NOVA_METADATA_API_SERVICE_PORT=$NOVA_METADATA_API_SERVICE_PORT 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_SERVICE_PORT=$RABBITMQ_SERVICE_PORT RABBITMQ_USER=$RABBITMQ_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 USE_STDERR=$USE_STDERR VERBOSE_LOGGING=$VERBOSE_LOGGING ZAQAR_KEYSTONE_USER=$ZAQAR_KEYSTONE_USER ZAQAR_SERVER_SERVICE_PORT=$ZAQAR_SERVER_SERVICE_PORT 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.