support local.conf instead of localrc
This moves the bulk of devstack-gate to local.conf instead of localrc, which makes it so that we can do more interesting and complicated things with the devstack setup. grenade local.conf support Depends-On: I9bf5ac24dc87404e054068d7ed643e0bf0fac311 Change-Id: I111a6df3adc07ed426ac714cb9e64667a63e0e5a
This commit is contained in:
parent
a2a03d8c7e
commit
19561a4cb4
|
@ -20,6 +20,7 @@
|
|||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o xtrace
|
||||
|
||||
# Keep track of the devstack directory
|
||||
TOP_DIR=$(cd $(dirname "$0") && pwd)
|
||||
|
@ -29,6 +30,8 @@ TOP_DIR=$(cd $(dirname "$0") && pwd)
|
|||
|
||||
# Import common functions
|
||||
source $TOP_DIR/functions.sh
|
||||
# Get access to iniset and friends
|
||||
source $BASE/new/devstack/inc/ini-config
|
||||
|
||||
echo $PPID > $WORKSPACE/gate.pid
|
||||
source `dirname "$(readlink -f "$0")"`/functions.sh
|
||||
|
@ -88,10 +91,8 @@ function setup_nova_net_networking {
|
|||
$sub_nodes
|
||||
ovs_vxlan_bridge "br_flat" $primary_node "False" 128 \
|
||||
$sub_nodes
|
||||
cat <<EOF >>"$localrc"
|
||||
FLAT_INTERFACE=br_flat
|
||||
PUBLIC_INTERFACE=br_pub
|
||||
EOF
|
||||
localrc_set $localrc "FLAT_INTERFACE" "br_flat"
|
||||
localrc_set $localrc "PUBLIC_INTERFACE" "br_pub"
|
||||
}
|
||||
|
||||
function setup_multinode_connectivity {
|
||||
|
@ -114,11 +115,11 @@ function setup_multinode_connectivity {
|
|||
# set explicit paths on all conf files we're writing so that
|
||||
# current working directory doesn't introduce subtle bugs.
|
||||
local devstack_dir=$BASE/$old_or_new/devstack
|
||||
local sub_localrc=$devstack_dir/sub_localrc
|
||||
local sub_localconf=$devstack_dir/sub_local.conf
|
||||
local localconf=$devstack_dir/local.conf
|
||||
|
||||
set -x # for now enabling debug and do not turn it off
|
||||
setup_localrc $old_or_new "$sub_localrc" "sub"
|
||||
setup_localrc $old_or_new "$sub_localconf" "sub"
|
||||
|
||||
local primary_node
|
||||
primary_node=$(cat /etc/nodepool/primary_node_private)
|
||||
|
@ -126,14 +127,11 @@ function setup_multinode_connectivity {
|
|||
sub_nodes=$(cat /etc/nodepool/sub_nodes_private)
|
||||
if [[ "$DEVSTACK_GATE_NEUTRON" -ne '1' ]]; then
|
||||
setup_nova_net_networking $localrc $primary_node $sub_nodes
|
||||
cat <<EOF >>"$sub_localrc"
|
||||
FLAT_INTERFACE=br_flat
|
||||
PUBLIC_INTERFACE=br_pub
|
||||
MULTI_HOST=True
|
||||
EOF
|
||||
cat <<EOF >>"$localrc"
|
||||
MULTI_HOST=True
|
||||
EOF
|
||||
localrc_set $sub_localconf "FLAT_INTERFACE" "br_flat"
|
||||
localrc_set $sub_localconf "PUBLIC_INTERFACE" "br_pub"
|
||||
localrc_set $sub_localconf "MULTI_HOST" "True"
|
||||
# and on the master
|
||||
localrc_set $localconf "MULTI_HOST" "True"
|
||||
elif [[ "$DEVSTACK_GATE_NEUTRON_DVR" -eq '1' ]]; then
|
||||
ovs_vxlan_bridge "br-ex" $primary_node "True" 1 \
|
||||
$FLOATING_HOST_PREFIX $FLOATING_HOST_MASK \
|
||||
|
@ -191,10 +189,9 @@ EOF
|
|||
for NODE in $sub_nodes; do
|
||||
remote_copy_file /tmp/tmp_hosts $NODE:/tmp/tmp_hosts
|
||||
remote_command $NODE "cat /tmp/tmp_hosts | sudo tee --append /etc/hosts > /dev/null"
|
||||
cp $sub_localrc /tmp/tmp_sub_localrc
|
||||
echo "HOST_IP=$NODE" >> /tmp/tmp_sub_localrc
|
||||
remote_copy_file /tmp/tmp_sub_localrc $NODE:$devstack_dir/localrc
|
||||
remote_copy_file $localconf $NODE:$localconf
|
||||
cp $sub_localconf /tmp/tmp_sub_localconf
|
||||
localrc_set /tmp/tmp_sub_localconf "HOST_IP" "$NODE"
|
||||
remote_copy_file /tmp/tmp_sub_localconf $NODE:$devstack_dir/local.conf
|
||||
done
|
||||
|
||||
# NOTE(vsaienko) we need to have ssh connection among nodes to manage
|
||||
|
@ -214,11 +211,12 @@ function setup_networking {
|
|||
# sauce to function.
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" != "multinode" ]] && \
|
||||
[[ "$DEVSTACK_GATE_NEUTRON" -ne '1' ]]; then
|
||||
local localrc=$BASE/new/devstack/localrc
|
||||
if [[ "$mode" == "grenade" ]]; then
|
||||
localrc=$BASE/new/grenade/devstack.localrc
|
||||
setup_nova_net_networking "$BASE/new/grenade/devstack.local.conf.base" "127.0.0.1"
|
||||
setup_nova_net_networking "$BASE/new/grenade/devstack.local.conf.target" "127.0.0.1"
|
||||
else
|
||||
setup_nova_net_networking "$BASE/new/devstack/local.conf" "127.0.0.1"
|
||||
fi
|
||||
setup_nova_net_networking "$localrc" "127.0.0.1"
|
||||
elif [[ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]]; then
|
||||
setup_multinode_connectivity $mode
|
||||
fi
|
||||
|
@ -289,131 +287,129 @@ function setup_localrc {
|
|||
fi
|
||||
|
||||
if [[ ! -z $DEVSTACK_GATE_USE_PYTHON3 ]] ; then
|
||||
echo "USE_PYTHON3=$DEVSTACK_GATE_USE_PYTHON3" >>"$localrc_file"
|
||||
localrc_set $localrc_file "USE_PYTHON3" "$DEVSTACK_GATE_USE_PYTHON3"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_CEPH" == "1" ]]; then
|
||||
echo "CINDER_ENABLED_BACKENDS=ceph:ceph" >>"$localrc_file"
|
||||
echo "TEMPEST_STORAGE_PROTOCOL=ceph" >>"$localrc_file"
|
||||
localrc_set $localrc_file "CINDER_ENABLED_BACKENDS" "ceph:ceph"
|
||||
localrc_set $localrc_file "TEMPEST_STORAGE_PROTOCOL" "ceph"
|
||||
fi
|
||||
|
||||
# the exercises we *don't* want to test on for devstack
|
||||
SKIP_EXERCISES=boot_from_volume,bundle,client-env,euca
|
||||
|
||||
if [[ "$DEVSTACK_GATE_NEUTRON" -eq "1" ]]; then
|
||||
echo "Q_USE_DEBUG_COMMAND=True" >>"$localrc_file"
|
||||
echo "NETWORK_GATEWAY=10.1.0.1" >>"$localrc_file"
|
||||
localrc_set $localrc_file "Q_USE_DEBUG_COMMAND" "True"
|
||||
localrc_set $localrc_file "NETWORK_GATEWAY" "10.1.0.1"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_NEUTRON_DVR" -eq "1" ]]; then
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" != "aio" ]] && [[ $role = sub ]]; then
|
||||
# The role for L3 agents running on compute nodes is 'dvr'
|
||||
echo "Q_DVR_MODE=dvr" >>"$localrc_file"
|
||||
localrc_set $localrc_file "Q_DVR_MODE" "dvr"
|
||||
else
|
||||
# The role for L3 agents running on controller nodes is 'dvr_snat'
|
||||
echo "Q_DVR_MODE=dvr_snat" >>"$localrc_file"
|
||||
localrc_set $localrc_file "Q_DVR_MODE" "dvr_snat"
|
||||
fi
|
||||
fi
|
||||
|
||||
cat <<EOF >>"$localrc_file"
|
||||
USE_SCREEN=False
|
||||
DEST=$BASE/$localrc_oldnew
|
||||
# move DATA_DIR outside of DEST to keep DEST a bit cleaner
|
||||
DATA_DIR=$BASE/data
|
||||
ACTIVE_TIMEOUT=90
|
||||
BOOT_TIMEOUT=90
|
||||
ASSOCIATE_TIMEOUT=60
|
||||
TERMINATE_TIMEOUT=60
|
||||
MYSQL_PASSWORD=secretmysql
|
||||
DATABASE_PASSWORD=secretdatabase
|
||||
RABBIT_PASSWORD=secretrabbit
|
||||
ADMIN_PASSWORD=secretadmin
|
||||
SERVICE_PASSWORD=secretservice
|
||||
SERVICE_TOKEN=111222333444
|
||||
SWIFT_HASH=1234123412341234
|
||||
ROOTSLEEP=0
|
||||
# ERROR_ON_CLONE should never be set to FALSE in gate jobs.
|
||||
# Setting up git trees must be done by zuul
|
||||
# because it needs specific git references directly from gerrit
|
||||
# to correctly do testing. Otherwise you are not testing
|
||||
# the code you have posted for review.
|
||||
ERROR_ON_CLONE=True
|
||||
# Since git clone can't be used for novnc in gates, force it to install the packages
|
||||
NOVNC_FROM_PACKAGE=True
|
||||
ENABLED_SERVICES=$MY_ENABLED_SERVICES
|
||||
SKIP_EXERCISES=$SKIP_EXERCISES
|
||||
# Screen console logs will capture service logs.
|
||||
SYSLOG=False
|
||||
SCREEN_LOGDIR=$BASE/$localrc_oldnew/screen-logs
|
||||
LOGFILE=$BASE/$localrc_oldnew/devstacklog.txt
|
||||
VERBOSE=True
|
||||
FIXED_RANGE=$FIXED_RANGE
|
||||
IPV4_ADDRS_SAFE_TO_USE=$IPV4_ADDRS_SAFE_TO_USE
|
||||
FLOATING_RANGE=$FLOATING_RANGE
|
||||
PUBLIC_NETWORK_GATEWAY=$PUBLIC_NETWORK_GATEWAY
|
||||
FIXED_NETWORK_SIZE=4096
|
||||
VIRT_DRIVER=$DEVSTACK_GATE_VIRT_DRIVER
|
||||
SWIFT_REPLICAS=1
|
||||
LOG_COLOR=False
|
||||
# Don't reset the requirements.txt files after g-r updates
|
||||
UNDO_REQUIREMENTS=False
|
||||
CINDER_PERIODIC_INTERVAL=10
|
||||
export OS_NO_CACHE=True
|
||||
CEILOMETER_BACKEND=$DEVSTACK_GATE_CEILOMETER_BACKEND
|
||||
LIBS_FROM_GIT=$DEVSTACK_PROJECT_FROM_GIT
|
||||
# set this until all testing platforms have libvirt >= 1.2.11
|
||||
# see bug #1501558
|
||||
EBTABLES_RACE_FIX=True
|
||||
EOF
|
||||
localrc_set "$localrc_file" "USE_SCREEN" "False"
|
||||
localrc_set "$localrc_file" "DEST" "$BASE/$localrc_oldnew"
|
||||
# move DATA_DIR outside of DEST to keep DEST a bit cleaner
|
||||
localrc_set "$localrc_file" "DATA_DIR" "$BASE/data"
|
||||
localrc_set "$localrc_file" "ACTIVE_TIMEOUT" "90"
|
||||
localrc_set "$localrc_file" "BOOT_TIMEOUT" "90"
|
||||
localrc_set "$localrc_file" "ASSOCIATE_TIMEOUT" "60"
|
||||
localrc_set "$localrc_file" "TERMINATE_TIMEOUT" "60"
|
||||
localrc_set "$localrc_file" "MYSQL_PASSWORD" "secretmysql"
|
||||
localrc_set "$localrc_file" "DATABASE_PASSWORD" "secretdatabase"
|
||||
localrc_set "$localrc_file" "RABBIT_PASSWORD" "secretrabbit"
|
||||
localrc_set "$localrc_file" "ADMIN_PASSWORD" "secretadmin"
|
||||
localrc_set "$localrc_file" "SERVICE_PASSWORD" "secretservice"
|
||||
localrc_set "$localrc_file" "SERVICE_TOKEN" "111222333444"
|
||||
localrc_set "$localrc_file" "SWIFT_HASH" "1234123412341234"
|
||||
localrc_set "$localrc_file" "ROOTSLEEP" "0"
|
||||
# ERROR_ON_CLONE should never be set to FALSE in gate jobs.
|
||||
# Setting up git trees must be done by zuul
|
||||
# because it needs specific git references directly from gerrit
|
||||
# to correctly do testing. Otherwise you are not testing
|
||||
# the code you have posted for review.
|
||||
localrc_set "$localrc_file" "ERROR_ON_CLONE" "True"
|
||||
# Since git clone can't be used for novnc in gates, force it to install the packages
|
||||
localrc_set "$localrc_file" "NOVNC_FROM_PACKAGE" "True"
|
||||
localrc_set "$localrc_file" "ENABLED_SERVICES" "$MY_ENABLED_SERVICES"
|
||||
localrc_set "$localrc_file" "SKIP_EXERCISES" "$SKIP_EXERCISES"
|
||||
# Screen console logs will capture service logs.
|
||||
localrc_set "$localrc_file" "SYSLOG" "False"
|
||||
localrc_set "$localrc_file" "SCREEN_LOGDIR" "$BASE/$localrc_oldnew/screen-logs"
|
||||
localrc_set "$localrc_file" "LOGFILE" "$BASE/$localrc_oldnew/devstacklog.txt"
|
||||
localrc_set "$localrc_file" "VERBOSE" "True"
|
||||
localrc_set "$localrc_file" "FIXED_RANGE" "$FIXED_RANGE"
|
||||
localrc_set "$localrc_file" "IPV4_ADDRS_SAFE_TO_USE" "$IPV4_ADDRS_SAFE_TO_USE"
|
||||
localrc_set "$localrc_file" "FLOATING_RANGE" "$FLOATING_RANGE"
|
||||
localrc_set "$localrc_file" "PUBLIC_NETWORK_GATEWAY" "$PUBLIC_NETWORK_GATEWAY"
|
||||
localrc_set "$localrc_file" "FIXED_NETWORK_SIZE" "4096"
|
||||
localrc_set "$localrc_file" "VIRT_DRIVER" "$DEVSTACK_GATE_VIRT_DRIVER"
|
||||
localrc_set "$localrc_file" "SWIFT_REPLICAS" "1"
|
||||
localrc_set "$localrc_file" "LOG_COLOR" "False"
|
||||
# Don't reset the requirements.txt files after g-r updates
|
||||
localrc_set "$localrc_file" "UNDO_REQUIREMENTS" "False"
|
||||
localrc_set "$localrc_file" "CINDER_PERIODIC_INTERVAL" "10"
|
||||
localrc_set "$localrc_file" "export OS_NO_CACHE" "True"
|
||||
localrc_set "$localrc_file" "CEILOMETER_BACKEND" "$DEVSTACK_GATE_CEILOMETER_BACKEND"
|
||||
localrc_set "$localrc_file" "LIBS_FROM_GIT" "$DEVSTACK_PROJECT_FROM_GIT"
|
||||
# set this until all testing platforms have libvirt >= 1.2.11
|
||||
# see bug #1501558
|
||||
localrc_set "$localrc_file" "EBTABLES_RACE_FIX" "True"
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]] && [[ $DEVSTACK_GATE_NEUTRON -eq "1" ]]; then
|
||||
# Reduce the MTU on br-ex to match the MTU of underlying tunnels
|
||||
echo "PUBLIC_BRIDGE_MTU=$EXTERNAL_BRIDGE_MTU" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "PUBLIC_BRIDGE_MTU" "$EXTERNAL_BRIDGE_MTU"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_CINDER_SECURE_DELETE" -eq "0" ]]; then
|
||||
echo "CINDER_SECURE_DELETE=False" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "CINDER_SECURE_DELETE" "False"
|
||||
fi
|
||||
echo "CINDER_VOLUME_CLEAR=${DEVSTACK_CINDER_VOLUME_CLEAR}" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "CINDER_VOLUME_CLEAR" "${DEVSTACK_CINDER_VOLUME_CLEAR}"
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TEMPEST_HEAT_SLOW" -eq "1" ]]; then
|
||||
echo "HEAT_CREATE_TEST_IMAGE=False" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "HEAT_CREATE_TEST_IMAGE" "False"
|
||||
# Use Fedora 20 for heat test image, it has heat-cfntools pre-installed
|
||||
echo "HEAT_FETCHED_TEST_IMAGE=Fedora-i386-20-20131211.1-sda" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "HEAT_FETCHED_TEST_IMAGE" "Fedora-i386-20-20131211.1-sda"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_VIRT_DRIVER" == "libvirt" ]]; then
|
||||
if [[ -n "$DEVSTACK_GATE_LIBVIRT_TYPE" ]]; then
|
||||
echo "LIBVIRT_TYPE=${DEVSTACK_GATE_LIBVIRT_TYPE}" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "LIBVIRT_TYPE" "${DEVSTACK_GATE_LIBVIRT_TYPE}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_VIRT_DRIVER" == "ironic" ]]; then
|
||||
export TEMPEST_OS_TEST_TIMEOUT=${DEVSTACK_GATE_OS_TEST_TIMEOUT:-1200}
|
||||
echo "IRONIC_DEPLOY_DRIVER=$DEVSTACK_GATE_IRONIC_DRIVER" >>"$localrc_file"
|
||||
echo "IRONIC_BAREMETAL_BASIC_OPS=True" >>"$localrc_file"
|
||||
echo "IRONIC_VM_LOG_DIR=$BASE/$localrc_oldnew/ironic-bm-logs" >>"$localrc_file"
|
||||
echo "DEFAULT_INSTANCE_TYPE=baremetal" >>"$localrc_file"
|
||||
echo "BUILD_TIMEOUT=${DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT:-600}" >>"$localrc_file"
|
||||
echo "IRONIC_CALLBACK_TIMEOUT=600" >>"$localrc_file"
|
||||
echo "Q_AGENT=openvswitch" >>"$localrc_file"
|
||||
echo "Q_ML2_TENANT_NETWORK_TYPE=vxlan" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_DEPLOY_DRIVER" "$DEVSTACK_GATE_IRONIC_DRIVER"
|
||||
localrc_set "$localrc_file" "IRONIC_BAREMETAL_BASIC_OPS" "True"
|
||||
localrc_set "$localrc_file" "IRONIC_VM_LOG_DIR" "$BASE/$localrc_oldnew/ironic-bm-logs"
|
||||
localrc_set "$localrc_file" "DEFAULT_INSTANCE_TYPE" "baremetal"
|
||||
localrc_set "$localrc_file" "BUILD_TIMEOUT" "${DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT:-600}"
|
||||
localrc_set "$localrc_file" "IRONIC_CALLBACK_TIMEOUT" "600"
|
||||
localrc_set "$localrc_file" "Q_AGENT" "openvswitch"
|
||||
localrc_set "$localrc_file" "Q_ML2_TENANT_NETWORK_TYPE" "vxlan"
|
||||
if [[ "$DEVSTACK_GATE_IRONIC_BUILD_RAMDISK" -eq 0 ]]; then
|
||||
echo "IRONIC_BUILD_DEPLOY_RAMDISK=False" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_BUILD_DEPLOY_RAMDISK" "False"
|
||||
else
|
||||
echo "IRONIC_BUILD_DEPLOY_RAMDISK=True" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_BUILD_DEPLOY_RAMDISK" "True"
|
||||
fi
|
||||
if [[ -z "${DEVSTACK_GATE_IRONIC_DRIVER%%agent*}" ]]; then
|
||||
echo "SWIFT_ENABLE_TEMPURLS=True" >>"$localrc_file"
|
||||
echo "SWIFT_TEMPURL_KEY=secretkey" >>"$localrc_file"
|
||||
echo "IRONIC_ENABLED_DRIVERS=fake,agent_ssh,agent_ipmitool" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "SWIFT_ENABLE_TEMPURLS" "True"
|
||||
localrc_set "$localrc_file" "SWIFT_TEMPURL_KEY" "secretkey"
|
||||
localrc_set "$localrc_file" "IRONIC_ENABLED_DRIVERS" "fake,agent_ssh,agent_ipmitool"
|
||||
# agent driver doesn't support ephemeral volumes yet
|
||||
echo "IRONIC_VM_EPHEMERAL_DISK=0" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_VM_EPHEMERAL_DISK" "0"
|
||||
# agent CoreOS ramdisk is a little heavy
|
||||
echo "IRONIC_VM_SPECS_RAM=1024" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_VM_SPECS_RAM" "1024"
|
||||
else
|
||||
echo "IRONIC_ENABLED_DRIVERS=fake,pxe_ssh,pxe_ipmitool" >>"$localrc_file"
|
||||
echo "IRONIC_VM_EPHEMERAL_DISK=1" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "IRONIC_ENABLED_DRIVERS" "fake,pxe_ssh,pxe_ipmitool"
|
||||
localrc_set "$localrc_file" "IRONIC_VM_EPHEMERAL_DISK" "1"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -422,44 +418,42 @@ EOF
|
|||
echo "XenAPI must have DEVSTACK_GATE_XENAPI_DOM0_IP, DEVSTACK_GATE_XENAPI_DOMU_IP and DEVSTACK_GATE_XENAPI_PASSWORD all set"
|
||||
exit 1
|
||||
fi
|
||||
cat >> "$localrc_file" << EOF
|
||||
SKIP_EXERCISES=${SKIP_EXERCISES},volumes
|
||||
XENAPI_PASSWORD=${DEVSTACK_GATE_XENAPI_PASSWORD}
|
||||
XENAPI_CONNECTION_URL=http://${DEVSTACK_GATE_XENAPI_DOM0_IP}
|
||||
VNCSERVER_PROXYCLIENT_ADDRESS=${DEVSTACK_GATE_XENAPI_DOM0_IP}
|
||||
VIRT_DRIVER=xenserver
|
||||
localrc_set "$localrc_file" "SKIP_EXERCISES" "${SKIP_EXERCISES},volumes"
|
||||
localrc_set "$localrc_file" "XENAPI_PASSWORD" "${DEVSTACK_GATE_XENAPI_PASSWORD}"
|
||||
localrc_set "$localrc_file" "XENAPI_CONNECTION_URL" "http://${DEVSTACK_GATE_XENAPI_DOM0_IP}"
|
||||
localrc_set "$localrc_file" "VNCSERVER_PROXYCLIENT_ADDRESS" "${DEVSTACK_GATE_XENAPI_DOM0_IP}"
|
||||
localrc_set "$localrc_file" "VIRT_DRIVER" "xenserver"
|
||||
|
||||
# A separate xapi network is created with this name-label
|
||||
FLAT_NETWORK_BRIDGE=vmnet
|
||||
# A separate xapi network is created with this name-label
|
||||
localrc_set "$localrc_file" "FLAT_NETWORK_BRIDGE" "vmnet"
|
||||
|
||||
# A separate xapi network on eth4 serves the purpose of the public network.
|
||||
# This interface is added in Citrix's XenServer environment as an internal
|
||||
# interface
|
||||
PUBLIC_INTERFACE=eth4
|
||||
# A separate xapi network on eth4 serves the purpose of the public network.
|
||||
# This interface is added in Citrix's XenServer environment as an internal
|
||||
# interface
|
||||
localrc_set "$localrc_file" "PUBLIC_INTERFACE" "eth4"
|
||||
|
||||
# The xapi network "vmnet" is connected to eth3 in domU
|
||||
# We need to explicitly specify these, as the devstack/xenserver driver
|
||||
# sets GUEST_INTERFACE_DEFAULT
|
||||
VLAN_INTERFACE=eth3
|
||||
FLAT_INTERFACE=eth3
|
||||
# The xapi network "vmnet" is connected to eth3 in domU
|
||||
# We need to explicitly specify these, as the devstack/xenserver driver
|
||||
# sets GUEST_INTERFACE_DEFAULT
|
||||
localrc_set "$localrc_file" "VLAN_INTERFACE" "eth3"
|
||||
localrc_set "$localrc_file" "FLAT_INTERFACE" "eth3"
|
||||
|
||||
# Explicitly set HOST_IP, so that it will be passed down to xapi,
|
||||
# thus it will be able to reach glance
|
||||
HOST_IP=${DEVSTACK_GATE_XENAPI_DOMU_IP}
|
||||
SERVICE_HOST=${DEVSTACK_GATE_XENAPI_DOMU_IP}
|
||||
# Explicitly set HOST_IP, so that it will be passed down to xapi,
|
||||
# thus it will be able to reach glance
|
||||
localrc_set "$localrc_file" "HOST_IP" "${DEVSTACK_GATE_XENAPI_DOMU_IP}"
|
||||
localrc_set "$localrc_file" "SERVICE_HOST" "${DEVSTACK_GATE_XENAPI_DOMU_IP}"
|
||||
|
||||
# Disable firewall
|
||||
XEN_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver
|
||||
# Disable firewall
|
||||
localrc_set "$localrc_file" "XEN_FIREWALL_DRIVER" "nova.virt.firewall.NoopFirewallDriver"
|
||||
|
||||
# Disable agent
|
||||
EXTRA_OPTS=("xenapi_disable_agent=True")
|
||||
# Disable agent
|
||||
localrc_set "$localrc_file" "EXTRA_OPTS" "(\"xenapi_disable_agent=True\")"
|
||||
|
||||
# Add a separate device for volumes
|
||||
VOLUME_BACKING_DEVICE=/dev/xvdb
|
||||
# Add a separate device for volumes
|
||||
localrc_set "$localrc_file" "VOLUME_BACKING_DEVICE" "/dev/xvdb"
|
||||
|
||||
# Set multi-host config
|
||||
MULTI_HOST=1
|
||||
EOF
|
||||
# Set multi-host config
|
||||
localrc_set "$localrc_file" "MULTI_HOST" "1"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TEMPEST" -eq "1" ]]; then
|
||||
|
@ -469,81 +463,81 @@ EOF
|
|||
#
|
||||
# The 24G setting is expected to be enough even
|
||||
# in parallel run.
|
||||
echo "VOLUME_BACKING_FILE_SIZE=24G" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "VOLUME_BACKING_FILE_SIZE" "24G"
|
||||
# in order to ensure glance http tests don't time out, we
|
||||
# specify the TEMPEST_HTTP_IMAGE address that's in infra on a
|
||||
# service we need to be up for anything to work anyway.
|
||||
echo "TEMPEST_HTTP_IMAGE=http://git.openstack.org/static/openstack.png" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "TEMPEST_HTTP_IMAGE" "http://git.openstack.org/static/openstack.png"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TEMPEST_DISABLE_TENANT_ISOLATION" -eq "1" ]]; then
|
||||
echo "TEMPEST_ALLOW_TENANT_ISOLATION=False" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "TEMPEST_ALLOW_TENANT_ISOLATION" "False"
|
||||
fi
|
||||
|
||||
if [[ -n "$DEVSTACK_GATE_GRENADE" ]]; then
|
||||
if [[ "$localrc_oldnew" == "old" ]]; then
|
||||
echo "GRENADE_PHASE=base" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "GRENADE_PHASE" "base"
|
||||
else
|
||||
echo "GRENADE_PHASE=target" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "GRENADE_PHASE" "target"
|
||||
fi
|
||||
echo "CEILOMETER_USE_MOD_WSGI=False" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "CEILOMETER_USE_MOD_WSGI" "False"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TEMPEST_LARGE_OPS" -eq "1" ]]; then
|
||||
# NOTE(danms): Temporary transition to =NUM_RESOURCES
|
||||
echo "VIRT_DRIVER=fake" >> "$localrc_file"
|
||||
echo "TEMPEST_LARGE_OPS_NUMBER=50" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "VIRT_DRIVER" "fake"
|
||||
localrc_set "$localrc_file" "TEMPEST_LARGE_OPS_NUMBER" "50"
|
||||
elif [[ "$DEVSTACK_GATE_TEMPEST_LARGE_OPS" -gt "1" ]]; then
|
||||
# use fake virt driver and 10 copies of nova-compute
|
||||
echo "VIRT_DRIVER=fake" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "VIRT_DRIVER" "fake"
|
||||
# To make debugging easier, disabled until bug 1218575 is fixed.
|
||||
# echo "NUMBER_FAKE_NOVA_COMPUTE=10" >>"$localrc_file"
|
||||
echo "TEMPEST_LARGE_OPS_NUMBER=$DEVSTACK_GATE_TEMPEST_LARGE_OPS" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "TEMPEST_LARGE_OPS_NUMBER" "$DEVSTACK_GATE_TEMPEST_LARGE_OPS"
|
||||
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_CONFIGDRIVE" -eq "1" ]]; then
|
||||
echo "FORCE_CONFIG_DRIVE=True" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "FORCE_CONFIG_DRIVE" "True"
|
||||
else
|
||||
echo "FORCE_CONFIG_DRIVE=False" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "FORCE_CONFIG_DRIVE" "False"
|
||||
fi
|
||||
|
||||
if [[ "$CEILOMETER_NOTIFICATION_TOPICS" ]]; then
|
||||
# Add specified ceilometer notification topics to localrc
|
||||
# Set to notifications,profiler to enable profiling
|
||||
echo "CEILOMETER_NOTIFICATION_TOPICS=$CEILOMETER_NOTIFICATION_TOPICS" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "CEILOMETER_NOTIFICATION_TOPICS" "$CEILOMETER_NOTIFICATION_TOPICS"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_INSTALL_TESTONLY" -eq "1" ]]; then
|
||||
# Sometimes we do want the test packages
|
||||
echo "INSTALL_TESTONLY_PACKAGES=True" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "INSTALL_TESTONLY_PACKAGES" "True"
|
||||
fi
|
||||
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" != "aio" ]]; then
|
||||
echo "NOVA_ALLOW_MOVE_TO_SAME_HOST=False" >> "$localrc_file"
|
||||
echo "LIVE_MIGRATION_AVAILABLE=True" >> "$localrc_file"
|
||||
echo "USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION=True" >> "$localrc_file"
|
||||
localrc_set "$localrc_file" "NOVA_ALLOW_MOVE_TO_SAME_HOST" "False"
|
||||
localrc_set "$localrc_file" "LIVE_MIGRATION_AVAILABLE" "True"
|
||||
localrc_set "$localrc_file" "USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION" "True"
|
||||
local primary_node=`cat /etc/nodepool/primary_node_private`
|
||||
echo "SERVICE_HOST=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "SERVICE_HOST" "$primary_node"
|
||||
|
||||
if [[ "$role" = sub ]]; then
|
||||
if [[ $original_enabled_services =~ "qpid" ]]; then
|
||||
echo "QPID_HOST=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "QPID_HOST" "$primary_node"
|
||||
fi
|
||||
if [[ $original_enabled_services =~ "rabbit" ]]; then
|
||||
echo "RABBIT_HOST=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "RABBIT_HOST" "$primary_node"
|
||||
fi
|
||||
echo "DATABASE_HOST=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "DATABASE_HOST" "$primary_node"
|
||||
if [[ $original_enabled_services =~ "mysql" ]]; then
|
||||
echo "DATABASE_TYPE=mysql" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "DATABASE_TYPE" "mysql"
|
||||
else
|
||||
echo "DATABASE_TYPE=postgresql" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "DATABASE_TYPE" "postgresql"
|
||||
fi
|
||||
echo "GLANCE_HOSTPORT=$primary_node:9292" >>"$localrc_file"
|
||||
echo "Q_HOST=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "GLANCE_HOSTPORT" "$primary_node:9292"
|
||||
localrc_set "$localrc_file" "Q_HOST" "$primary_node"
|
||||
# Set HOST_IP in subnodes before copying localrc to each node
|
||||
else
|
||||
echo "HOST_IP=$primary_node" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "HOST_IP" "$primary_node"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -554,7 +548,7 @@ EOF
|
|||
# If we are in a multinode environment, we may want to specify 2
|
||||
# different sets of plugins
|
||||
if [[ -n "$DEVSTACK_SUBNODE_CONFIG" ]]; then
|
||||
echo "$DEVSTACK_SUBNODE_CONFIG" >>"$localrc_file"
|
||||
localrc_set "$localrc_file" "$DEVSTACK_SUBNODE_CONFIG" >>"$localrc_file"
|
||||
else
|
||||
if [[ -n "$DEVSTACK_LOCAL_CONFIG" ]]; then
|
||||
echo "$DEVSTACK_LOCAL_CONFIG" >>"$localrc_file"
|
||||
|
@ -582,11 +576,9 @@ function setup_access_for_stack_user {
|
|||
}
|
||||
|
||||
if [[ -n "$DEVSTACK_GATE_GRENADE" ]]; then
|
||||
cd $BASE/old/devstack
|
||||
setup_localrc "old" "localrc" "primary"
|
||||
|
||||
cd $BASE/new/devstack
|
||||
setup_localrc "new" "localrc" "primary"
|
||||
cd $BASE/new/grenade
|
||||
setup_localrc "old" "devstack.local.conf.base" "primary"
|
||||
setup_localrc "new" "devstack.local.conf.target" "primary"
|
||||
|
||||
cat <<EOF >$BASE/new/grenade/localrc
|
||||
BASE_RELEASE=old
|
||||
|
@ -614,14 +606,13 @@ EOF
|
|||
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]]; then
|
||||
# ensure local.conf exists to remove conditional logic
|
||||
touch local.conf
|
||||
if [[ $DEVSTACK_GATE_NEUTRON -eq "1" ]]; then
|
||||
echo -e "[[post-config|\$NEUTRON_CONF]]\n[DEFAULT]\nglobal_physnet_mtu=$EXTERNAL_BRIDGE_MTU" >> local.conf
|
||||
localconf_set "devstack.local.conf.base" "post-config" "\$NEUTRON_CONF" \
|
||||
"DEFAULT" "global_physnet_mtu" "$EXTERNAL_BRIDGE_MTU"
|
||||
localconf_set "devstack.local.conf.target" "post-config" "\$NEUTRON_CONF" \
|
||||
"DEFAULT" "global_physnet_mtu" "$EXTERNAL_BRIDGE_MTU"
|
||||
fi
|
||||
|
||||
# get this in our base config
|
||||
cp local.conf $BASE/old/devstack
|
||||
|
||||
# build the post-stack.sh config, this will be run as stack user so no sudo required
|
||||
cat > $BASE/new/grenade/post-stack.sh <<EOF
|
||||
#!/bin/bash
|
||||
|
@ -650,12 +641,11 @@ EOF
|
|||
|
||||
else
|
||||
cd $BASE/new/devstack
|
||||
setup_localrc "new" "localrc" "primary"
|
||||
setup_localrc "new" "local.conf" "primary"
|
||||
if [[ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]]; then
|
||||
# ensure local.conf exists to remove conditional logic
|
||||
touch local.conf
|
||||
if [[ $DEVSTACK_GATE_NEUTRON -eq "1" ]]; then
|
||||
echo -e "[[post-config|\$NEUTRON_CONF]]\n[DEFAULT]\nglobal_physnet_mtu=$EXTERNAL_BRIDGE_MTU" >> local.conf
|
||||
localconf_set "local.conf" "post-config" "\$NEUTRON_CONF" \
|
||||
"DEFAULT" "global_physnet_mtu" "$EXTERNAL_BRIDGE_MTU"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in New Issue