Merge "Add a config option for BGP speaker scheduling"
diff --git a/devstack/customize_image.sh b/devstack/customize_image.sh
index 77ff699..0b9d8ab 100644
--- a/devstack/customize_image.sh
+++ b/devstack/customize_image.sh
@@ -149,6 +149,7 @@
function customize_image {
local image_file=$1
local top_dir=$(dirname "${NEUTRON_TEMPEST_PLUGIN_DIR}")
+ install_customize_image_tools
(
export TEMP_DIR DISK_FORMAT RC_DIR
if [[ "$(basename ${image_file})" == ubuntu-* ]]; then
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 2e3ac20..42c31cd 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -6,7 +6,6 @@
# install_neutron_tempest_plugin
function install_neutron_tempest_plugin {
setup_dev_lib "neutron-tempest-plugin"
- install_customize_image_tools
}
if [[ "$1" == "stack" ]]; then
@@ -20,7 +19,7 @@
test-config)
echo_summary "Configuring neutron-tempest-plugin tempest options"
configure_advanced_image
- create_flavor_for_advance_image ntp_image_384M 384 4 1
+ create_flavor_for_advance_image $ADVANCED_INSTANCE_TYPE 256 4 1
configure_flavor_for_advanced_image
esac
fi
diff --git a/neutron_tempest_plugin/scenario/test_dns_integration.py b/neutron_tempest_plugin/scenario/test_dns_integration.py
index 79c0993..240a5a8 100644
--- a/neutron_tempest_plugin/scenario/test_dns_integration.py
+++ b/neutron_tempest_plugin/scenario/test_dns_integration.py
@@ -47,8 +47,7 @@
@classmethod
def setup_clients(cls):
super(BaseDNSIntegrationTests, cls).setup_clients()
- cls.dns_client = cls.os_tempest.zones_client
- cls.query_client = cls.os_tempest.query_client
+ cls.dns_client = cls.os_tempest.dns_v2.ZonesClient()
cls.query_client.build_timeout = 30
@classmethod
diff --git a/tools/customize_ubuntu_image b/tools/customize_ubuntu_image
index 3697265..fdd2d12 100755
--- a/tools/customize_ubuntu_image
+++ b/tools/customize_ubuntu_image
@@ -16,6 +16,13 @@
INSTALL_GUEST_PACKAGES=(
socat # used to replace nc for testing advanced network features like
# multicast
+ iperf3
+ iputils-ping
+ ncat
+ psmisc # provides killall command
+ python3
+ tcpdump
+ vlan
)
# Function to be executed once after chroot on guest image
@@ -33,8 +40,8 @@
# Install desired packages to Ubuntu guest image
(
DEBIAN_FRONTEND=noninteractive
- apt-get update -y
- apt-get install -y "${INSTALL_GUEST_PACKAGES[@]}"
+ sudo apt-get update -y
+ sudo apt-get install -y "${INSTALL_GUEST_PACKAGES[@]}"
)
}
diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml
index 880e64f..12408ea 100644
--- a/zuul.d/base.yaml
+++ b/zuul.d/base.yaml
@@ -110,9 +110,10 @@
devstack_localrc:
PHYSICAL_NETWORK: default
CIRROS_VERSION: 0.5.1
- IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
- ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
- ADVANCED_INSTANCE_TYPE: ntp_image_384M
+ IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img
+ ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
+ ADVANCED_INSTANCE_TYPE: ntp_image_256M
ADVANCED_INSTANCE_USER: ubuntu
+ CUSTOMIZE_IMAGE: true
BUILD_TIMEOUT: 784
tempest_concurrency: 3 # out of 4
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index f9a081a..68c7209 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -404,6 +404,14 @@
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
+ # NOTE(slaweq): In the job with OVN backend we can't use Ubuntu minimal
+ # image because kernel in that image don't supports MULTICAST traffic
+ # thus multicast scenario test with IGMP snooping enabled would fail
+ IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
+ ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
+ ADVANCED_INSTANCE_TYPE: ntp_image_384M
+ ADVANCED_INSTANCE_USER: ubuntu
+ CUSTOMIZE_IMAGE: false
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
@@ -518,10 +526,11 @@
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}"
PHYSICAL_NETWORK: default
CIRROS_VERSION: 0.5.1
- IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
- ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
- ADVANCED_INSTANCE_TYPE: ntp_image_384M
+ IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img
+ ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
+ ADVANCED_INSTANCE_TYPE: ntp_image_256M
ADVANCED_INSTANCE_USER: ubuntu
+ CUSTOMIZE_IMAGE: true
BUILD_TIMEOUT: 784
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
@@ -688,46 +697,15 @@
network_api_extensions_common: *api_extensions
devstack_localrc:
DESIGNATE_BACKEND_DRIVER: bind9
- Q_AGENT: openvswitch
- Q_ML2_TENANT_NETWORK_TYPE: vxlan
- Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
# In this job advanced image is not needed, so it's name should be
# empty
ADVANCED_IMAGE_NAME: ""
NETWORK_API_EXTENSIONS: "{{ network_api_extensions_common | join(',') }}"
- devstack_local_conf:
- post-config:
- $NEUTRON_CONF:
- DEFAULT:
- enable_dvr: false
- # NOTE(slaweq): We can get rid of this hardcoded absolute path when
- # devstack-tempest job will be switched to use lib/neutron instead of
- # lib/neutron-legacy
- /$NEUTRON_CORE_PLUGIN_CONF:
- agent:
- tunnel_types: vxlan,gre
- ovs:
- tunnel_bridge: br-tun
- bridge_mappings: public:br-ex
devstack_plugins:
designate: https://opendev.org/openstack/designate.git
devstack_services:
cinder: false
designate: true
- # Disable OVN services
- br-ex-tcpdump: false
- br-int-flows: false
- ovn-controller: false
- ovn-northd: false
- ovs-vswitchd: false
- ovsdb-server: false
- q-ovn-metadata-agent: false
- # Neutron services
- q-agt: true
- q-dhcp: true
- q-l3: true
- q-meta: true
- q-metering: true
tempest_plugins:
- designate-tempest-plugin
- neutron-tempest-plugin
@@ -938,9 +916,9 @@
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
DOWNLOAD_DEFAULT_IMAGES: false
- IMAGE_URLS: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img"
+ IMAGE_URLS: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img"
DEFAULT_IMAGE_NAME: cirros-0.3.4-i386-disk
- ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
+ ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
BUILD_TIMEOUT: 784
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
@@ -953,7 +931,7 @@
test-config:
$TEMPEST_CONFIG:
taas_plugin_options:
- advanced_image_ref: ubuntu-18.04-server-cloudimg-amd64
+ advanced_image_ref: ubuntu-20.04-minimal-cloudimg-amd64
advanced_image_ssh_user: ubuntu
provider_physical_network: public
provider_segmentation_id: 100
diff --git a/zuul.d/rocky_jobs.yaml b/zuul.d/rocky_jobs.yaml
index 5cb6125..83b2f26 100644
--- a/zuul.d/rocky_jobs.yaml
+++ b/zuul.d/rocky_jobs.yaml
@@ -441,7 +441,7 @@
CIRROS_VERSION: 0.5.1
IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
- ADVANCED_INSTANCE_TYPE: ntp_image_384M
+ ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
diff --git a/zuul.d/stein_jobs.yaml b/zuul.d/stein_jobs.yaml
index f84df2a..689aa30 100644
--- a/zuul.d/stein_jobs.yaml
+++ b/zuul.d/stein_jobs.yaml
@@ -6,7 +6,7 @@
required-projects: &required-projects-stein
- openstack/neutron
- name: openstack/neutron-tempest-plugin
- override-checkout: 1.3.0
+ override-checkout: 1.1.0
- openstack/tempest
vars:
devstack_services:
@@ -96,6 +96,14 @@
- dvr
network_available_features: &available_features
-
+ # NOTE(bcafarel): filtering out unstable tests or tests with known
+ # issues in the used pinned version for this EM branch
+ tempest_black_regex: &stein_tempest_exclude "\
+ (^neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest.test_connectivity_min_max_mtu)|\
+ (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
+ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_parent_port_connectivity_after_trunk_deleted_lb)|\
+ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
+ (^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)"
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
@@ -128,6 +136,7 @@
branch_override: stable/stein
network_api_extensions: *api_extensions
network_available_features: *available_features
+ tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
ADVANCED_INSTANCE_TYPE: ds512M
@@ -170,9 +179,7 @@
q-metering: true
network_api_extensions: *api_extensions
network_available_features: *available_features
- # TODO(slaweq): remove trunks subport_connectivity test from blacklist
- # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
- tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)"
+ tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
@@ -257,9 +264,7 @@
network_api_extensions_linuxbridge:
- vlan-transparent
network_available_features: *available_features
- # TODO(eolivare): remove VLAN Transparency tests from blacklist
- # when bug https://bugs.launchpad.net/neutron/+bug/1907548 will be fixed
- tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)"
+ tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
Q_AGENT: linuxbridge
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_linuxbridge) | join(',') }}"