Merge "Add congress to plugin registry"
diff --git a/doc/source/plugins.rst b/doc/source/plugins.rst
index b8da7e1..83e5609 100644
--- a/doc/source/plugins.rst
+++ b/doc/source/plugins.rst
@@ -21,12 +21,12 @@
An external git repository that includes a ``devstack/`` top level
directory. Inside this directory there can be 3 files.
-- ``override_defaults`` - a file containing global variables that
+- ``override-defaults`` - a file containing global variables that
will be sourced before the lib/* files. This allows the plugin
to override the defaults that are otherwise set in the lib/*
files.
- For example, override_defaults may export CINDER_ENABLED_BACKENDS
+ For example, override-defaults may export CINDER_ENABLED_BACKENDS
to include the plugin-specific storage backend and thus be able
to override the default lvm only storage backend for Cinder.
diff --git a/functions-common b/functions-common
index d4099ff..1b01eef 100644
--- a/functions-common
+++ b/functions-common
@@ -1760,17 +1760,18 @@
if [[ -d $TOP_DIR/extras.d ]]; then
local extra_plugin_file_name
for extra_plugin_file_name in $TOP_DIR/extras.d/*.sh; do
- [[ -r $extra_plugin_file_name ]] && source $extra_plugin_file_name $mode $phase
- # NOTE(sdague): generate a big warning about using
- # extras.d in an unsupported way which will let us track
- # unsupported usage in the gate.
+ # NOTE(sdague): only process extras.d for the 3 explicitly
+ # white listed elements in tree. We want these to move out
+ # over time as well, but they are in tree, so we need to
+ # manage that.
local exceptions="50-ironic.sh 60-ceph.sh 80-tempest.sh"
local extra
extra=$(basename $extra_plugin_file_name)
if [[ ! ( $exceptions =~ "$extra" ) ]]; then
- deprecated "extras.d support is being removed in Mitaka-1"
- deprecated "jobs for project $extra will break after that point"
- deprecated "please move project to a supported devstack plugin model"
+ warn "use of extras.d is no longer supported"
+ warn "processing of project $extra is skipped"
+ else
+ [[ -r $extra_plugin_file_name ]] && source $extra_plugin_file_name $mode $phase
fi
done
fi
diff --git a/lib/cinder b/lib/cinder
index 2119858..569f3ab 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -270,10 +270,6 @@
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
- # NOTE(thingee): Cinder V1 API is deprecated and defaults to off as of
- # Juno. Keep it enabled so we can continue testing while it's still
- # supported.
- iniset $CINDER_CONF DEFAULT enable_v1_api true
iniset $CINDER_CONF DEFAULT os_region_name "$REGION_NAME"
@@ -550,9 +546,7 @@
local be be_name
for be in ${CINDER_ENABLED_BACKENDS//,/ }; do
be_name=${be##*:}
- # FIXME(jamielennox): Remove --os-volume-api-version pinning when
- # osc supports volume type create on v2 api. bug #1475060
- openstack volume type create --os-volume-api-version 1 --property volume_backend_name="${be_name}" ${be_name}
+ openstack volume type create --property volume_backend_name="${be_name}" ${be_name}
done
fi
}
diff --git a/lib/neutron-legacy b/lib/neutron-legacy
index caf89e3..e0c4676 100644
--- a/lib/neutron-legacy
+++ b/lib/neutron-legacy
@@ -112,6 +112,9 @@
NEUTRON_CONF=$NEUTRON_CONF_DIR/neutron.conf
export NEUTRON_TEST_CONFIG_FILE=${NEUTRON_TEST_CONFIG_FILE:-"$NEUTRON_CONF_DIR/debug.ini"}
+# Default provider for load balancer service
+DEFAULT_LB_PROVIDER=LOADBALANCER:Haproxy:neutron_lbaas.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
+
# Agent binaries. Note, binary paths for other agents are set in per-service
# scripts in lib/neutron_plugins/services/
AGENT_DHCP_BINARY="$NEUTRON_BIN_DIR/neutron-dhcp-agent"
@@ -799,6 +802,7 @@
local IP_ADD=""
local IP_DEL=""
+ local IP_UP=""
local DEFAULT_ROUTE_GW
DEFAULT_ROUTE_GW=$(ip -f $af r | awk "/default.+$from_intf/ { print \$3; exit }")
local ADD_OVS_PORT=""
@@ -816,9 +820,10 @@
if [[ "$IP_BRD" != "" ]]; then
IP_DEL="sudo ip addr del $IP_BRD dev $from_intf"
IP_ADD="sudo ip addr add $IP_BRD dev $to_intf"
+ IP_UP="sudo ip link set $to_intf up"
fi
- $IP_DEL; $IP_ADD; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE
+ $IP_DEL; $IP_ADD; $IP_UP; $ADD_OVS_PORT; $ADD_DEFAULT_ROUTE
fi
}
@@ -1058,8 +1063,12 @@
}
function _configure_neutron_lbaas {
- if [ -f $NEUTRON_LBAAS_DIR/etc/neutron_lbaas.conf ]; then
- cp $NEUTRON_LBAAS_DIR/etc/neutron_lbaas.conf $NEUTRON_CONF_DIR
+ # Uses oslo config generator to generate LBaaS sample configuration files
+ (cd $NEUTRON_LBAAS_DIR && exec ./tools/generate_config_file_samples.sh)
+
+ if [ -f $NEUTRON_LBAAS_DIR/etc/neutron_lbaas.conf.sample ]; then
+ cp $NEUTRON_LBAAS_DIR/etc/neutron_lbaas.conf.sample $NEUTRON_CONF_DIR/neutron_lbaas.conf
+ iniset $NEUTRON_CONF_DIR/neutron_lbaas.conf service_providers service_provider $DEFAULT_LB_PROVIDER
fi
neutron_agent_lbaas_configure_common
neutron_agent_lbaas_configure_agent
@@ -1079,8 +1088,10 @@
}
function _configure_neutron_vpn {
- if [ -f $NEUTRON_VPNAAS_DIR/etc/neutron_vpnaas.conf ]; then
- cp $NEUTRON_VPNAAS_DIR/etc/neutron_vpnaas.conf $NEUTRON_CONF_DIR
+ # Uses oslo config generator to generate VPNaaS sample configuration files
+ (cd $NEUTRON_VPNAAS_DIR && exec ./tools/generate_config_file_samples.sh)
+ if [ -f $NEUTRON_VPNAAS_DIR/etc/neutron_vpnaas.conf.sample ]; then
+ cp $NEUTRON_VPNAAS_DIR/etc/neutron_vpnaas.conf.sample $NEUTRON_CONF_DIR/neutron_vpnaas.conf
fi
neutron_vpn_install_agent_packages
neutron_vpn_configure_common
@@ -1328,7 +1339,7 @@
sudo ip addr add $ext_gw_ip/$cidr_len dev $ext_gw_interface
sudo ip link set $ext_gw_interface up
fi
- ROUTER_GW_IP=`neutron port-list -c fixed_ips -c device_owner | grep router_gateway | awk -F '"' -v subnet_id=$PUB_SUBNET_ID '$4 == subnet_id { print $8; }'`
+ ROUTER_GW_IP=`neutron port-list -c fixed_ips -c device_owner | grep router_gateway | awk -F'ip_address' '{ print $2 }' | cut -f3 -d\" | tr '\n' ' '`
die_if_not_set $LINENO ROUTER_GW_IP "Failure retrieving ROUTER_GW_IP"
sudo ip route replace $FIXED_RANGE via $ROUTER_GW_IP
fi
@@ -1359,7 +1370,7 @@
sudo sysctl -w net.ipv6.conf.all.forwarding=1
# Configure and enable public bridge
# Override global IPV6_ROUTER_GW_IP with the true value from neutron
- IPV6_ROUTER_GW_IP=`neutron port-list -c fixed_ips | grep $ipv6_pub_subnet_id | awk -F '"' -v subnet_id=$ipv6_pub_subnet_id '$4 == subnet_id { print $8; }'`
+ IPV6_ROUTER_GW_IP=`neutron port-list -c fixed_ips | grep $ipv6_pub_subnet_id | awk -F'ip_address' '{ print $2 }' | cut -f3 -d\" | tr '\n' ' '`
die_if_not_set $LINENO IPV6_ROUTER_GW_IP "Failure retrieving IPV6_ROUTER_GW_IP"
if is_neutron_ovs_base_plugin; then
diff --git a/lib/neutron_plugins/services/loadbalancer b/lib/neutron_plugins/services/loadbalancer
index b07d06c..30e9480 100644
--- a/lib/neutron_plugins/services/loadbalancer
+++ b/lib/neutron_plugins/services/loadbalancer
@@ -28,7 +28,7 @@
LBAAS_AGENT_CONF_FILENAME="$LBAAS_AGENT_CONF_PATH/lbaas_agent.ini"
- cp $NEUTRON_LBAAS_DIR/etc/lbaas_agent.ini $LBAAS_AGENT_CONF_FILENAME
+ cp $NEUTRON_LBAAS_DIR/etc/lbaas_agent.ini.sample $LBAAS_AGENT_CONF_FILENAME
# ovs_use_veth needs to be set before the plugin configuration
# occurs to allow plugins to override the setting.
diff --git a/lib/neutron_plugins/services/vpn b/lib/neutron_plugins/services/vpn
index 8a379f5..e790913 100644
--- a/lib/neutron_plugins/services/vpn
+++ b/lib/neutron_plugins/services/vpn
@@ -29,7 +29,9 @@
}
function neutron_vpn_configure_agent {
- cp $NEUTRON_VPNAAS_DIR/etc/vpn_agent.ini $Q_VPN_CONF_FILE
+ # Uses oslo config generator to generate LBaaS sample configuration files
+ (cd $NEUTRON_VPNAAS_DIR && exec ./tools/generate_config_file_samples.sh)
+ cp $NEUTRON_VPNAAS_DIR/etc/vpn_agent.ini.sample $Q_VPN_CONF_FILE
if [[ "$IPSEC_PACKAGE" == "strongswan" ]]; then
iniset_multiline $Q_VPN_CONF_FILE vpnagent vpn_device_driver neutron_vpnaas.services.vpn.device_drivers.strongswan_ipsec.StrongSwanDriver
if is_fedora; then
diff --git a/lib/tempest b/lib/tempest
index 6adc449..61351c0 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -357,6 +357,30 @@
compute_api_extensions=$(remove_disabled_extensions $compute_api_extensions $DISABLE_COMPUTE_API_EXTENSIONS)
fi
+ # Set the microversion range for compute tests.
+ # This is used to run the Nova microversions tests.
+ # Setting [None, latest] range of microversion which allow Tempest to run all microversions tests.
+ # NOTE- To avoid microversion tests failure on stable branch, we need to change "tempest_compute_max_microversion"
+ # for stable branch on each release which should be changed from "latest" to max supported version of that release.
+ local tempest_compute_min_microversion=${TEMPEST_COMPUTE_MIN_MICROVERSION:-None}
+ local tempest_compute_max_microversion=${TEMPEST_COMPUTE_MAX_MICROVERSION:-"latest"}
+ # Reset microversions to None where v2.0 is running which does not support microversion.
+ # Both "None" means no microversion testing.
+ if [[ "$TEMPEST_COMPUTE_TYPE" == "compute_legacy" ]]; then
+ tempest_compute_min_microversion=None
+ tempest_compute_max_microversion=None
+ fi
+ if [ "$tempest_compute_min_microversion" == "None" ]; then
+ inicomment $TEMPEST_CONFIG compute-feature-enabled min_microversion
+ else
+ iniset $TEMPEST_CONFIG compute-feature-enabled min_microversion $tempest_compute_min_microversion
+ fi
+ if [ "$tempest_compute_max_microversion" == "None" ]; then
+ inicomment $TEMPEST_CONFIG compute-feature-enabled max_microversion
+ else
+ iniset $TEMPEST_CONFIG compute-feature-enabled max_microversion $tempest_compute_max_microversion
+ fi
+
iniset $TEMPEST_CONFIG compute-feature-enabled resize True
iniset $TEMPEST_CONFIG compute-feature-enabled live_migration ${LIVE_MIGRATION_AVAILABLE:-False}
iniset $TEMPEST_CONFIG compute-feature-enabled change_password False
diff --git a/stack.sh b/stack.sh
index 19d05c9..09ab474 100755
--- a/stack.sh
+++ b/stack.sh
@@ -75,6 +75,7 @@
# Check if run in POSIX shell
if [[ "${POSIXLY_CORRECT}" == "y" ]]; then
+ set +o xtrace
echo "You are running POSIX compatibility mode, DevStack requires bash 4.2 or newer."
exit 1
fi
@@ -85,11 +86,11 @@
# action to create a suitable user account.
if [[ $EUID -eq 0 ]]; then
- echo "You are running this script as root."
- echo "Cut it out."
- echo "Really."
- echo "If you need an account to run DevStack, do this (as root, heh) to create a non-root account:"
- echo "$TOP_DIR/tools/create-stack-user.sh"
+ set +o xtrace
+ echo "DevStack should be run as a user with sudo permissions, "
+ echo "not root."
+ echo "A \"stack\" user configured correctly can be created with:"
+ echo " $TOP_DIR/tools/create-stack-user.sh"
exit 1
fi
@@ -98,6 +99,7 @@
# virtual env, and will fail in really odd ways if you do this. Make
# this explicit as it has come up on the mailing list.
if [[ -n "$VIRTUAL_ENV" ]]; then
+ set +o xtrace
echo "You appear to be running under a python virtualenv."
echo "DevStack does not support this, as we may break the"
echo "virtualenv you are currently in by modifying "
@@ -111,6 +113,7 @@
# on a lot of different environments, you sometimes run it on the
# wrong box. This makes there be a way to prevent that.
if [[ -e $HOME/.no-devstack ]]; then
+ set +o xtrace
echo "You've marked this host as a no-devstack host, to save yourself from"
echo "running devstack accidentally. If this is in error, please remove the"
echo "~/.no-devstack file"