kolla-ansible/tools/genenv
Harm Weites 2c8ca64856 Fix CONFIG_STRATEGY var in bash scripts
It should read KOLLA_CONFIG_STRATEGY.

Change-Id: I1819b4b1b6e28e8f83ad01c078d4c6e4c502587e
Partial-bug: #1471326
2015-07-03 21:16:35 +02:00

408 lines
13 KiB
Bash
Executable File

#!/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=$(ip route get $(ip route | awk '$1 == "default" {print $3}') |
awk '$4 == "src" {print $5}')
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 password
ADMIN_USER_PASSWORD=steakfordinner
# Database
HOST_IP=$MY_IP
INIT_CINDER_DB=true
INIT_DESIGNATE_DB=true
INIT_GLANCE_DB=true
INIT_HEAT_DB=true
INIT_KEYSTONE_DB=true
INIT_NOVA_DB=true
MARIADB_ROOT_PASSWORD=kolla
MARIADB_MAX_CONNECTIONS=151
PASSWORD=12345
# 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
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_METADATA_AGENT_LOG_FILE=
CINDER_LOG_DIR=
CINDER_API_LOG_FILE=
CINDER_VOLUME_LOG_FILE=
CINDER_BACKUP_LOG_FILE=
CINDER_SCHEDULER_LOG_FILE=
# RabbitMQ
RABBITMQ_SERVICE_HOST=$HOST_IP
RABBITMQ_CLUSTER_NODES=
RABBITMQ_CLUSTER_COOKIE=
RABBIT_USER=guest
RABBIT_PASSWORD=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
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
# 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}
# 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
# 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
# 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")
# 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
# Cinder Scheduler
CINDER_DB_NAME=cinder
CINDER_DB_USER=cinder
CINDER_DB_PASSWORD=password
# 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=lioadm
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
# Keepalived
# Here we define pairs hostname:priority. Priorities have to be unique
KEEPALIVED_HOST_PRIORITIES=host1:100,host2:99
# 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
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
DB_ROOT_PASSWORD=$MARIADB_ROOT_PASSWORD
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
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_DB_PASSWORD=$KEYSTONE_DB_PASSWORD
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
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
METADATA_HOST=$METADATA_HOST
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_NOVNC_PROXY_SERVICE_HOST=$NOVA_NOVNC_PROXY_SERVICE_HOST
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
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.