Merge "Add IPv6 support to devstack infrastructure"
This commit is contained in:
commit
ac3d3f336c
16
README.md
16
README.md
@ -361,6 +361,22 @@ Be aware that there are some features currently missing in cells, one notable
|
||||
one being security groups. The exercises have been patched to disable
|
||||
functionality not supported by cells.
|
||||
|
||||
# IPv6
|
||||
|
||||
By default, most Openstack services are bound to 0.0.0.0
|
||||
and service endpoints are registered as IPv4 addresses.
|
||||
A new variable was created to control this behavior, and to
|
||||
allow for operation over IPv6 instead of IPv4.
|
||||
|
||||
For this, add the following to `local.conf`:
|
||||
|
||||
SERVICE_IP_VERSION=6
|
||||
|
||||
When set to "6" devstack services will open listen sockets on ::
|
||||
and service endpoints will be registered using HOST_IPV6 as the
|
||||
address. The default value for this setting is `4`. Dual-mode
|
||||
support, for example `4+6` is not currently supported.
|
||||
|
||||
|
||||
# Local Configuration
|
||||
|
||||
|
@ -137,6 +137,11 @@ Ethernet interface to a bridge on the host. Setting it here also makes it
|
||||
available for ``openrc`` to set ``OS_AUTH_URL``. ``HOST_IP`` is not set
|
||||
by default.
|
||||
|
||||
``HOST_IPV6`` is normally detected on the first run of ``stack.sh`` but
|
||||
will not be set if there is no IPv6 address on the default Ethernet interface.
|
||||
Setting it here also makes it available for ``openrc`` to set ``OS_AUTH_URL``.
|
||||
``HOST_IPV6`` is not set by default.
|
||||
|
||||
Common Configuration Variables
|
||||
==============================
|
||||
|
||||
@ -391,6 +396,8 @@ Multi-host DevStack
|
||||
ENABLED_SERVICES=n-vol,n-cpu,n-net,n-api
|
||||
|
||||
IP Version
|
||||
----------
|
||||
|
||||
| Default: ``IP_VERSION=4+6``
|
||||
| This setting can be used to configure DevStack to create either an IPv4,
|
||||
IPv6, or dual stack tenant data network by setting ``IP_VERSION`` to
|
||||
@ -418,6 +425,25 @@ IP Version
|
||||
| *Note: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY``
|
||||
can be configured with any valid IPv6 prefix. The default values make
|
||||
use of an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC 4193.*
|
||||
|
|
||||
|
||||
| Default: ``SERVICE_IP_VERSION=4``
|
||||
| This setting can be used to configure DevStack to enable services to
|
||||
operate over either IPv4 or IPv6, by setting ``SERVICE_IP_VERSION`` to
|
||||
either ``SERVICE_IP_VERSION=4`` or ``SERVICE_IP_VERSION=6`` respectively.
|
||||
When set to ``4`` devstack services will open listen sockets on 0.0.0.0
|
||||
and service endpoints will be registered using ``HOST_IP`` as the address.
|
||||
When set to ``6`` devstack services will open listen sockets on :: and
|
||||
service endpoints will be registered using ``HOST_IPV6`` as the address.
|
||||
The default value for this setting is ``4``. Dual-mode support, for
|
||||
example ``4+6`` is not currently supported.
|
||||
| The following optional variable can be used to alter the default IPv6
|
||||
address used:
|
||||
|
|
||||
|
||||
::
|
||||
|
||||
HOST_IPV6=${some_local_ipv6_address}
|
||||
|
||||
Examples
|
||||
========
|
||||
|
@ -46,7 +46,8 @@ TRACK_DEPENDS=${TRACK_DEPENDS:-False}
|
||||
# Save these variables to .stackenv
|
||||
STACK_ENV_VARS="BASE_SQL_CONN DATA_DIR DEST ENABLED_SERVICES HOST_IP \
|
||||
KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_URI KEYSTONE_SERVICE_URI \
|
||||
LOGFILE OS_CACERT SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP"
|
||||
LOGFILE OS_CACERT SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP \
|
||||
HOST_IPV6"
|
||||
|
||||
|
||||
# Saves significant environment variables to .stackenv for later use
|
||||
@ -578,13 +579,14 @@ function get_default_host_ip {
|
||||
local floating_range=$2
|
||||
local host_ip_iface=$3
|
||||
local host_ip=$4
|
||||
local af=$5
|
||||
|
||||
# Search for an IP unless an explicit is set by ``HOST_IP`` environment variable
|
||||
if [ -z "$host_ip" -o "$host_ip" == "dhcp" ]; then
|
||||
host_ip=""
|
||||
# Find the interface used for the default route
|
||||
host_ip_iface=${host_ip_iface:-$(ip route | awk '/default/ {print $5}' | head -1)}
|
||||
local host_ips=$(LC_ALL=C ip -f inet addr show ${host_ip_iface} | awk '/inet/ {split($2,parts,"/"); print parts[1]}')
|
||||
host_ip_iface=${host_ip_iface:-$(ip -f $af route | awk '/default/ {print $5}' | head -1)}
|
||||
local host_ips=$(LC_ALL=C ip -f $af addr show ${host_ip_iface} | awk /$af'/ {split($2,parts,"/"); print parts[1]}')
|
||||
local ip
|
||||
for ip in $host_ips; do
|
||||
# Attempt to filter out IP addresses that are part of the fixed and
|
||||
@ -593,6 +595,10 @@ function get_default_host_ip {
|
||||
# will be printed and the first IP from the interface will be used.
|
||||
# If that is not correct set ``HOST_IP`` in ``localrc`` to the correct
|
||||
# address.
|
||||
if [[ "$af" == "inet6" ]]; then
|
||||
host_ip=$ip
|
||||
break;
|
||||
fi
|
||||
if ! (address_in_net $ip $fixed_range || address_in_net $ip $floating_range); then
|
||||
host_ip=$ip
|
||||
break;
|
||||
|
@ -65,6 +65,7 @@ CINDER_SERVICE_HOST=${CINDER_SERVICE_HOST:-$SERVICE_HOST}
|
||||
CINDER_SERVICE_PORT=${CINDER_SERVICE_PORT:-8776}
|
||||
CINDER_SERVICE_PORT_INT=${CINDER_SERVICE_PORT_INT:-18776}
|
||||
CINDER_SERVICE_PROTOCOL=${CINDER_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
CINDER_SERVICE_LISTEN_ADDRESS=${CINDER_SERVICE_LISTEN_ADDRESS:-$SERVICE_LISTEN_ADDRESS}
|
||||
|
||||
# What type of LVM device should Cinder use for LVM backend
|
||||
# Defaults to default, which is thick, the other valid choice
|
||||
@ -222,6 +223,7 @@ function configure_cinder {
|
||||
iniset $CINDER_CONF DEFAULT api_paste_config $CINDER_API_PASTE_INI
|
||||
iniset $CINDER_CONF DEFAULT rootwrap_config "$CINDER_CONF_DIR/rootwrap.conf"
|
||||
iniset $CINDER_CONF DEFAULT osapi_volume_extension cinder.api.contrib.standard_extensions
|
||||
iniset $CINDER_CONF DEFAULT osapi_volume_listen $CINDER_SERVICE_LISTEN_ADDRESS
|
||||
iniset $CINDER_CONF DEFAULT state_path $CINDER_STATE_PATH
|
||||
iniset $CINDER_CONF oslo_concurrency lock_path $CINDER_STATE_PATH
|
||||
iniset $CINDER_CONF DEFAULT periodic_interval $CINDER_PERIODIC_INTERVAL
|
||||
|
13
lib/database
13
lib/database
@ -70,10 +70,19 @@ function initialize_database_backends {
|
||||
|
||||
# For backward-compatibility, read in the MYSQL_HOST/USER variables and use
|
||||
# them as the default values for the DATABASE_HOST/USER variables.
|
||||
MYSQL_HOST=${MYSQL_HOST:-127.0.0.1}
|
||||
MYSQL_HOST=${MYSQL_HOST:-$SERVICE_LOCAL_HOST}
|
||||
MYSQL_USER=${MYSQL_USER:-root}
|
||||
|
||||
DATABASE_HOST=${DATABASE_HOST:-${MYSQL_HOST}}
|
||||
# Set DATABASE_HOST equal to MYSQL_HOST. If SERVICE_IP_VERSION is equal to 6,
|
||||
# set DATABASE_HOST equal to [MYSQL_HOST]. MYSQL_HOST cannot use brackets due
|
||||
# to mysql not using bracketing for IPv6 addresses. DATABASE_HOST must have brackets
|
||||
# due to sqlalchemy only reading IPv6 addresses with brackets.
|
||||
if [[ "$SERVICE_IP_VERSION" == 6 ]]; then
|
||||
DATABASE_HOST=${DATABASE_HOST:-[$MYSQL_HOST]}
|
||||
else
|
||||
DATABASE_HOST=${DATABASE_HOST:-${MYSQL_HOST}}
|
||||
fi
|
||||
|
||||
DATABASE_USER=${DATABASE_USER:-${MYSQL_USER}}
|
||||
|
||||
if [ -n "$MYSQL_PASSWORD" ]; then
|
||||
|
@ -90,10 +90,10 @@ function configure_database_mysql {
|
||||
|
||||
# Now update ``my.cnf`` for some local needs and restart the mysql service
|
||||
|
||||
# Change ‘bind-address’ from localhost (127.0.0.1) to any (0.0.0.0) and
|
||||
# Change ‘bind-address’ from localhost (127.0.0.1) to any (::) and
|
||||
# set default db type to InnoDB
|
||||
sudo bash -c "source $TOP_DIR/functions && \
|
||||
iniset $my_conf mysqld bind-address 0.0.0.0 && \
|
||||
iniset $my_conf mysqld bind-address "$SERVICE_LISTEN_ADDRESS" && \
|
||||
iniset $my_conf mysqld sql_mode STRICT_ALL_TABLES && \
|
||||
iniset $my_conf mysqld default-storage-engine InnoDB \
|
||||
iniset $my_conf mysqld max_connections 1024 \
|
||||
|
@ -64,6 +64,7 @@ fi
|
||||
|
||||
# Glance connection info. Note the port must be specified.
|
||||
GLANCE_SERVICE_HOST=${GLANCE_SERVICE_HOST:-$SERVICE_HOST}
|
||||
GLANCE_SERVICE_LISTEN_ADDRESS=${GLANCE_SERVICE_LISTEN_ADDRESS:-$SERVICE_LISTEN_ADDRESS}
|
||||
GLANCE_SERVICE_PORT=${GLANCE_SERVICE_PORT:-9292}
|
||||
GLANCE_SERVICE_PORT_INT=${GLANCE_SERVICE_PORT_INT:-19292}
|
||||
GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$GLANCE_SERVICE_HOST:$GLANCE_SERVICE_PORT}
|
||||
@ -106,6 +107,7 @@ function configure_glance {
|
||||
# Copy over our glance configurations and update them
|
||||
cp $GLANCE_DIR/etc/glance-registry.conf $GLANCE_REGISTRY_CONF
|
||||
iniset $GLANCE_REGISTRY_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
||||
iniset $GLANCE_REGISTRY_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
|
||||
inicomment $GLANCE_REGISTRY_CONF DEFAULT log_file
|
||||
local dburl=`database_connection_url glance`
|
||||
iniset $GLANCE_REGISTRY_CONF DEFAULT sql_connection $dburl
|
||||
@ -118,6 +120,7 @@ function configure_glance {
|
||||
|
||||
cp $GLANCE_DIR/etc/glance-api.conf $GLANCE_API_CONF
|
||||
iniset $GLANCE_API_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
||||
iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
|
||||
inicomment $GLANCE_API_CONF DEFAULT log_file
|
||||
iniset $GLANCE_API_CONF DEFAULT sql_connection $dburl
|
||||
iniset $GLANCE_API_CONF DEFAULT use_syslog $SYSLOG
|
||||
@ -136,6 +139,7 @@ function configure_glance {
|
||||
|
||||
# Store specific configs
|
||||
iniset $GLANCE_API_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR/
|
||||
iniset $GLANCE_API_CONF DEFAULT registry_host $GLANCE_SERVICE_HOST
|
||||
|
||||
iniset $GLANCE_API_CONF DEFAULT workers "$API_WORKERS"
|
||||
|
||||
@ -202,6 +206,7 @@ function configure_glance {
|
||||
iniset $GLANCE_CACHE_CONF DEFAULT admin_user glance
|
||||
iniuncomment $GLANCE_CACHE_CONF DEFAULT auth_password
|
||||
iniset $GLANCE_CACHE_CONF DEFAULT admin_password $SERVICE_PASSWORD
|
||||
iniset $GLANCE_CACHE_CONF DEFAULT registry_host $GLANCE_SERVICE_HOST
|
||||
|
||||
# Store specific confs
|
||||
iniset $GLANCE_CACHE_CONF glance_store filesystem_store_datadir $GLANCE_IMAGE_DIR/
|
||||
@ -223,6 +228,7 @@ function configure_glance {
|
||||
if is_service_enabled g-search; then
|
||||
cp $GLANCE_DIR/etc/glance-search.conf $GLANCE_SEARCH_CONF
|
||||
iniset $GLANCE_SEARCH_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
||||
iniset $GLANCE_SEARCH_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
|
||||
inicomment $GLANCE_SEARCH_CONF DEFAULT log_file
|
||||
iniset $GLANCE_SEARCH_CONF DEFAULT use_syslog $SYSLOG
|
||||
iniset $GLANCE_SEARCH_CONF DEFAULT sql_connection $dburl
|
||||
|
@ -138,6 +138,8 @@ Q_PORT_INT=${Q_PORT_INT:-19696}
|
||||
Q_HOST=${Q_HOST:-$SERVICE_HOST}
|
||||
# Default protocol
|
||||
Q_PROTOCOL=${Q_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
# Default listen address
|
||||
Q_LISTEN_ADDRESS=${Q_LISTEN_ADDRESS:-$SERVICE_LISTEN_ADDRESS}
|
||||
# Default admin username
|
||||
Q_ADMIN_USERNAME=${Q_ADMIN_USERNAME:-neutron}
|
||||
# Default auth strategy
|
||||
@ -871,6 +873,7 @@ function _configure_neutron_common {
|
||||
iniset $NEUTRON_CONF database connection `database_connection_url $Q_DB_NAME`
|
||||
iniset $NEUTRON_CONF DEFAULT state_path $DATA_DIR/neutron
|
||||
iniset $NEUTRON_CONF DEFAULT use_syslog $SYSLOG
|
||||
iniset $NEUTRON_CONF DEFAULT bind_host $Q_LISTEN_ADDRESS
|
||||
# If addition config files are set, make sure their path name is set as well
|
||||
if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} > 0 && $Q_PLUGIN_EXTRA_CONF_PATH == '' ]]; then
|
||||
die $LINENO "Neutron additional plugin config not set.. exiting"
|
||||
|
25
lib/nova
25
lib/nova
@ -85,6 +85,8 @@ NOVA_SERVICE_HOST=${NOVA_SERVICE_HOST:-$SERVICE_HOST}
|
||||
NOVA_SERVICE_PORT=${NOVA_SERVICE_PORT:-8774}
|
||||
NOVA_SERVICE_PORT_INT=${NOVA_SERVICE_PORT_INT:-18774}
|
||||
NOVA_SERVICE_PROTOCOL=${NOVA_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
NOVA_SERVICE_LOCAL_HOST=${NOVA_SERVICE_LOCAL_HOST:-$SERVICE_LOCAL_HOST}
|
||||
NOVA_SERVICE_LISTEN_ADDRESS=${NOVA_SERVICE_LISTEN_ADDRESS:-$SERVICE_LISTEN_ADDRESS}
|
||||
EC2_SERVICE_PORT=${EC2_SERVICE_PORT:-8773}
|
||||
EC2_SERVICE_PORT_INT=${EC2_SERVICE_PORT_INT:-18773}
|
||||
|
||||
@ -482,11 +484,20 @@ function create_nova_conf {
|
||||
iniset $NOVA_CONF DEFAULT default_floating_pool "$PUBLIC_NETWORK_NAME"
|
||||
iniset $NOVA_CONF DEFAULT s3_host "$SERVICE_HOST"
|
||||
iniset $NOVA_CONF DEFAULT s3_port "$S3_SERVICE_PORT"
|
||||
iniset $NOVA_CONF DEFAULT my_ip "$HOST_IP"
|
||||
if [[ $SERVICE_IP_VERSION == 6 ]]; then
|
||||
iniset $NOVA_CONF DEFAULT my_ip "$HOST_IPV6"
|
||||
iniset $NOVA_CONF DEFAULT use_ipv6 "True"
|
||||
else
|
||||
iniset $NOVA_CONF DEFAULT my_ip "$HOST_IP"
|
||||
fi
|
||||
iniset $NOVA_CONF database connection `database_connection_url nova`
|
||||
iniset $NOVA_CONF api_database connection `database_connection_url nova_api`
|
||||
iniset $NOVA_CONF DEFAULT instance_name_template "${INSTANCE_NAME_PREFIX}%08x"
|
||||
iniset $NOVA_CONF osapi_v3 enabled "True"
|
||||
iniset $NOVA_CONF DEFAULT osapi_compute_listen "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
iniset $NOVA_CONF DEFAULT ec2_listen "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
iniset $NOVA_CONF DEFAULT metadata_listen "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
iniset $NOVA_CONF DEFAULT s3_listen "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
|
||||
if is_fedora || is_suse; then
|
||||
# nova defaults to /usr/local/bin, but fedora and suse pip like to
|
||||
@ -566,11 +577,13 @@ function create_nova_conf {
|
||||
if is_service_enabled n-novnc || is_service_enabled n-xvnc || [ "$NOVA_VNC_ENABLED" != False ]; then
|
||||
# Address on which instance vncservers will listen on compute hosts.
|
||||
# For multi-host, this should be the management ip of the compute host.
|
||||
VNCSERVER_LISTEN=${VNCSERVER_LISTEN=127.0.0.1}
|
||||
VNCSERVER_PROXYCLIENT_ADDRESS=${VNCSERVER_PROXYCLIENT_ADDRESS=127.0.0.1}
|
||||
VNCSERVER_LISTEN=${VNCSERVER_LISTEN=$NOVA_SERVICE_LOCAL_HOST}
|
||||
VNCSERVER_PROXYCLIENT_ADDRESS=${VNCSERVER_PROXYCLIENT_ADDRESS=$NOVA_SERVICE_LOCAL_HOST}
|
||||
iniset $NOVA_CONF DEFAULT vnc_enabled true
|
||||
iniset $NOVA_CONF DEFAULT vncserver_listen "$VNCSERVER_LISTEN"
|
||||
iniset $NOVA_CONF DEFAULT vncserver_proxyclient_address "$VNCSERVER_PROXYCLIENT_ADDRESS"
|
||||
iniset $NOVA_CONF DEFAULT novncproxy_host "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
iniset $NOVA_CONF DEFAULT xvpvncproxy_host "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
else
|
||||
iniset $NOVA_CONF DEFAULT vnc_enabled false
|
||||
fi
|
||||
@ -578,11 +591,12 @@ function create_nova_conf {
|
||||
if is_service_enabled n-spice; then
|
||||
# Address on which instance spiceservers will listen on compute hosts.
|
||||
# For multi-host, this should be the management ip of the compute host.
|
||||
SPICESERVER_PROXYCLIENT_ADDRESS=${SPICESERVER_PROXYCLIENT_ADDRESS=127.0.0.1}
|
||||
SPICESERVER_LISTEN=${SPICESERVER_LISTEN=127.0.0.1}
|
||||
SPICESERVER_PROXYCLIENT_ADDRESS=${SPICESERVER_PROXYCLIENT_ADDRESS=$NOVA_SERVICE_LOCAL_HOST}
|
||||
SPICESERVER_LISTEN=${SPICESERVER_LISTEN=$NOVA_SERVICE_LOCAL_HOST}
|
||||
iniset $NOVA_CONF spice enabled true
|
||||
iniset $NOVA_CONF spice server_listen "$SPICESERVER_LISTEN"
|
||||
iniset $NOVA_CONF spice server_proxyclient_address "$SPICESERVER_PROXYCLIENT_ADDRESS"
|
||||
iniset $NOVA_CONF spice html5proxy_host "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
else
|
||||
iniset $NOVA_CONF spice enabled false
|
||||
fi
|
||||
@ -622,6 +636,7 @@ function create_nova_conf {
|
||||
fi
|
||||
|
||||
if is_service_enabled n-sproxy; then
|
||||
iniset $NOVA_CONF serial_console serialproxy_host "$NOVA_SERVICE_LISTEN_ADDRESS"
|
||||
iniset $NOVA_CONF serial_console enabled True
|
||||
fi
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ SWIFT3_DIR=$DEST/swift3
|
||||
|
||||
SWIFT_SERVICE_PROTOCOL=${SWIFT_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
SWIFT_DEFAULT_BIND_PORT_INT=${SWIFT_DEFAULT_BIND_PORT_INT:-8081}
|
||||
SWIFT_SERVICE_LOCAL_HOST=${SWIFT_SERVICE_LOCAL_HOST:-$SERVICE_LOCAL_HOST}
|
||||
|
||||
# TODO: add logging to different location.
|
||||
|
||||
@ -668,9 +669,9 @@ function init_swift {
|
||||
swift-ring-builder account.builder create ${SWIFT_PARTITION_POWER_SIZE} ${SWIFT_REPLICAS} 1
|
||||
|
||||
for node_number in ${SWIFT_REPLICAS_SEQ}; do
|
||||
swift-ring-builder object.builder add z${node_number}-127.0.0.1:$(( OBJECT_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
swift-ring-builder container.builder add z${node_number}-127.0.0.1:$(( CONTAINER_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
swift-ring-builder account.builder add z${node_number}-127.0.0.1:$(( ACCOUNT_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
swift-ring-builder object.builder add z${node_number}-${SWIFT_SERVICE_LOCAL_HOST}:$(( OBJECT_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
swift-ring-builder container.builder add z${node_number}-${SWIFT_SERVICE_LOCAL_HOST}:$(( CONTAINER_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
swift-ring-builder account.builder add z${node_number}-${SWIFT_SERVICE_LOCAL_HOST}:$(( ACCOUNT_PORT_BASE + 10 * (node_number - 1) ))/sdb1 1
|
||||
done
|
||||
swift-ring-builder object.builder rebalance
|
||||
swift-ring-builder container.builder rebalance
|
||||
|
@ -32,14 +32,15 @@ MYSQL_PASSWORD=stackdb
|
||||
RABBIT_PASSWORD=stackqueue
|
||||
SERVICE_PASSWORD=$ADMIN_PASSWORD
|
||||
|
||||
# ``HOST_IP`` should be set manually for best results if the NIC configuration
|
||||
# of the host is unusual, i.e. ``eth1`` has the default route but ``eth0`` is the
|
||||
# public interface. It is auto-detected in ``stack.sh`` but often is indeterminate
|
||||
# on later runs due to the IP moving from an Ethernet interface to a bridge on
|
||||
# the host. Setting it here also makes it available for ``openrc`` to include
|
||||
# when setting ``OS_AUTH_URL``.
|
||||
# ``HOST_IP`` is not set by default.
|
||||
# ``HOST_IP`` and ``HOST_IPV6`` should be set manually for best results if
|
||||
# the NIC configuration of the host is unusual, i.e. ``eth1`` has the default
|
||||
# route but ``eth0`` is the public interface. They are auto-detected in
|
||||
# ``stack.sh`` but often is indeterminate on later runs due to the IP moving
|
||||
# from an Ethernet interface to a bridge on the host. Setting it here also
|
||||
# makes it available for ``openrc`` to include when setting ``OS_AUTH_URL``.
|
||||
# Neither is set by default.
|
||||
#HOST_IP=w.x.y.z
|
||||
#HOST_IPV6=2001:db8::7
|
||||
|
||||
|
||||
# Logging
|
||||
|
5
stack.sh
5
stack.sh
@ -1403,7 +1403,10 @@ fi
|
||||
echo ""
|
||||
echo ""
|
||||
echo ""
|
||||
echo "This is your host ip: $HOST_IP"
|
||||
echo "This is your host IP address: $HOST_IP"
|
||||
if [ "$HOST_IPV6" != "" ]; then
|
||||
echo "This is your host IPv6 address: $HOST_IPV6"
|
||||
fi
|
||||
|
||||
# If you installed Horizon on this server you should be able
|
||||
# to access the site using your browser.
|
||||
|
46
stackrc
46
stackrc
@ -669,14 +669,54 @@ FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24}
|
||||
FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256}
|
||||
HOST_IP_IFACE=${HOST_IP_IFACE:-}
|
||||
HOST_IP=${HOST_IP:-}
|
||||
HOST_IPV6=${HOST_IPV6:-}
|
||||
|
||||
HOST_IP=$(get_default_host_ip $FIXED_RANGE $FLOATING_RANGE "$HOST_IP_IFACE" "$HOST_IP")
|
||||
HOST_IP=$(get_default_host_ip "$FIXED_RANGE" "$FLOATING_RANGE" "$HOST_IP_IFACE" "$HOST_IP" "inet")
|
||||
if [ "$HOST_IP" == "" ]; then
|
||||
die $LINENO "Could not determine host ip address. See local.conf for suggestions on setting HOST_IP."
|
||||
fi
|
||||
|
||||
# Allow the use of an alternate hostname (such as localhost/127.0.0.1) for service endpoints.
|
||||
SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
|
||||
HOST_IPV6=$(get_default_host_ip "" "" "$HOST_IP_IFACE" "$HOST_IPV6" "inet6")
|
||||
|
||||
# SERVICE IP version
|
||||
# This is the IP version that services should be listening on, as well
|
||||
# as using to register their endpoints with keystone.
|
||||
SERVICE_IP_VERSION=${SERVICE_IP_VERSION:-4}
|
||||
|
||||
# Validate SERVICE_IP_VERSION
|
||||
# It would be nice to support "4+6" here as well, but that will require
|
||||
# multiple calls into keystone to register endpoints, so for now let's
|
||||
# just support one or the other.
|
||||
if [[ $SERVICE_IP_VERSION != "4" ]] && [[ $SERVICE_IP_VERSION != "6" ]]; then
|
||||
die $LINENO "SERVICE_IP_VERSION must be either 4 or 6"
|
||||
fi
|
||||
|
||||
if [[ "$SERVICE_IP_VERSION" == 4 ]]; then
|
||||
DEF_SERVICE_HOST=$HOST_IP
|
||||
DEF_SERVICE_LOCAL_HOST=127.0.0.1
|
||||
DEF_SERVICE_LISTEN_ADDRESS=0.0.0.0
|
||||
fi
|
||||
|
||||
if [[ "$SERVICE_IP_VERSION" == 6 ]]; then
|
||||
if [ "$HOST_IPV6" == "" ]; then
|
||||
die $LINENO "Could not determine host IPv6 address. See local.conf for suggestions on setting HOST_IPV6."
|
||||
fi
|
||||
|
||||
DEF_SERVICE_HOST=[$HOST_IPV6]
|
||||
DEF_SERVICE_LOCAL_HOST=::1
|
||||
DEF_SERVICE_LISTEN_ADDRESS=::
|
||||
fi
|
||||
|
||||
# This is either 0.0.0.0 for IPv4 or :: for IPv6
|
||||
SERVICE_LISTEN_ADDRESS=${SERVICE_LISTEN_ADDRESS:-${DEF_SERVICE_LISTEN_ADDRESS}}
|
||||
|
||||
# Allow the use of an alternate hostname (such as localhost/127.0.0.1) for
|
||||
# service endpoints. Default is dependent on SERVICE_IP_VERSION above.
|
||||
SERVICE_HOST=${SERVICE_HOST:-${DEF_SERVICE_HOST}}
|
||||
# This is either 127.0.0.1 for IPv4 or ::1 for IPv6
|
||||
SERVICE_LOCAL_HOST=${SERVICE_LOCAL_HOST:-${DEF_SERVICE_LOCAL_HOST}}
|
||||
|
||||
REGION_NAME=${REGION_NAME:-RegionOne}
|
||||
|
||||
# Configure services to use syslog instead of writing to individual log files
|
||||
SYSLOG=$(trueorfalse False SYSLOG)
|
||||
|
Loading…
Reference in New Issue
Block a user