OVN UEFI IPv6 CI job
IPv6 job using UEFI and OVN with dhcpv6-stateful address mode. Updates the devstack plugin to ensure CentOS DIB ironic-python-agent is always used for dhcpb6-stateful, udhcpc in tinycore does not support DHCPv6. Ensure mtu on the ironic-provision network matches PUBLIC_BRIDGE_MTU when Ironic IPv6 is used. This ensures we do not get packet drops from over-mtu. Devstack plugin will ignore any HOST_IPV6 address discovered, always using the magigv6 interface and 'fc00::1' as IRONIC_HOST_IPV6. Change-Id: Iab97d78d7a075eaef3bdcfc08fc4f184a5ea490a
This commit is contained in:
@@ -304,7 +304,8 @@ fi
|
||||
# NOTE(TheJulia): If we ever run any arm64, we will need to consider doing
|
||||
# the same. Nested virt is not a thing there.
|
||||
# Prevent a case that will likely result in a failure.
|
||||
if [[ $IRONIC_HW_ARCH != "aarch64" ]]; then
|
||||
# NOTE(hjensas): tinyipa does not support dhcpv6-stateful
|
||||
if [[ $IRONIC_HW_ARCH != "aarch64" ]] && [[ $IRONIC_IPV6_ADDRESS_MODE != "dhcpv6-stateful" ]]; then
|
||||
if [[ "$hostdomain" =~ "rax" ]] || [[ "$hostdomain" =~ "iweb" ]] || ! $(grep -q -E 'vmx|svm' /proc/cpuinfo) ; then
|
||||
if [[ "$IRONIC_RAMDISK_TYPE" == "dib" ]]; then
|
||||
echo "** WARNING ** - DIB based IPA images have been defined, however we are running devstack on an environment which does not support nested VMs. Due to virtualization constraints, we are automatically falling back to TinyIPA to ensure CI job passage."
|
||||
@@ -528,16 +529,9 @@ if [[ "$IRONIC_IP_VERSION" != '6' ]]; then
|
||||
IRONIC_PROVISION_SUBNET_PREFIX=${IRONIC_PROVISION_SUBNET_PREFIX:-'10.0.5.0/24'}
|
||||
else
|
||||
IRONIC_IP_VERSION='6'
|
||||
# NOTE(TheJulia): The IPv6 address devstack has identified is the
|
||||
# local loopback. This does not really serve our purposes very
|
||||
# well, so we need to setup something that will work.
|
||||
if [[ "$HOST_IPV6" == '::1' ]] || [[ ! $HOST_IPV6 =~ "::" ]]; then
|
||||
# We setup an address elsewhere because the service address of
|
||||
# loopback cannot be used for v6 testing.
|
||||
IRONIC_HOST_IPV6='fc00::1'
|
||||
else
|
||||
IRONIC_HOST_IPV6=$HOST_IPV6
|
||||
fi
|
||||
# HOST_IPV6 cannot be used for v6 testing.
|
||||
IRONIC_HOST_IPV6='fc00::1'
|
||||
IRONIC_PROVISION_SUBNET_GATEWAY=${IRONIC_PROVISION_SUBNET_GATEWAY:-'fc01::1'}
|
||||
IRONIC_PROVISION_SUBNET_SUBNODE_IP=${IRONIC_PROVISION_SUBNET_SUBNODE_IP:-'fc01::2'}
|
||||
IRONIC_PROVISION_SUBNET_PREFIX=${IRONIC_PROVISION_SUBNET_PREFIX:-'fc01::/64'}
|
||||
@@ -1519,6 +1513,10 @@ function configure_ironic_provision_network {
|
||||
--subnet-range $IRONIC_PROVISION_SUBNET_PREFIX \
|
||||
--dns-nameserver 8.8.8.8 -f value -c id)"
|
||||
else
|
||||
# NOTE(hjensas) Ensure mtu matches public bridge mtu, to avoid "dropped over-mtu packet" issue on IPv6
|
||||
if [[ -n "$PUBLIC_BRIDGE_MTU" ]]; then
|
||||
openstack network set --mtu "$PUBLIC_BRIDGE_MTU" $net_id
|
||||
fi
|
||||
subnet_id="$(openstack --os-cloud $OS_CLOUD subnet create --ip-version 6 \
|
||||
--ipv6-address-mode $IRONIC_IPV6_ADDRESS_MODE \
|
||||
--ipv6-ra-mode $IRONIC_IPV6_ADDRESS_MODE \
|
||||
|
@@ -939,6 +939,64 @@
|
||||
IRONIC_PING_TIMEOUT: 1440
|
||||
IRONIC_BOOT_MODE: bios
|
||||
|
||||
- job:
|
||||
name: ironic-tempest-ovn-uefi-ipxe-ipv6
|
||||
description: ironic-tempest-ovn-uefi-ipxe-ipv6
|
||||
parent: ironic-base
|
||||
required-projects:
|
||||
- opendev.org/openstack/networking-generic-switch
|
||||
vars:
|
||||
tempest_test_timeout: 2400
|
||||
devstack_services:
|
||||
q-agt: false
|
||||
q-dhcp: false
|
||||
q-l3: false
|
||||
ovn-controller: true
|
||||
ovn-northd: true
|
||||
ovsdb-server: true
|
||||
q-ovn-metadata-agent: true
|
||||
q-metering: false
|
||||
swift: true
|
||||
devstack_plugins:
|
||||
ironic: https://opendev.org/openstack/ironic
|
||||
networking-generic-switch: https://opendev.org/openstack/networking-generic-switch
|
||||
tempest_test_regex: BaremetalSingleTenant
|
||||
devstack_localrc:
|
||||
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
||||
IRONIC_RAMDISK_TYPE: dib
|
||||
IRONIC_DIB_RAMDISK_OS: centos9
|
||||
IPV6_ENABLED: True
|
||||
IRONIC_IP_VERSION: 6
|
||||
IRONIC_IPV6_ADDRESS_MODE: dhcpv6-stateful
|
||||
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
||||
IRONIC_ENABLED_BOOT_INTERFACES: ipxe,pxe
|
||||
IRONIC_DEFAULT_BOOT_INTERFACE: ipxe
|
||||
IRONIC_IPXE_ENABLED: True
|
||||
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
||||
OVS_PHYSICAL_BRIDGE: brbm
|
||||
PHYSICAL_NETWORK: mynetwork
|
||||
OVN_BRIDGE_MAPPINGS: "public:br-ex,mynetwork:brbm"
|
||||
TENANT_VLAN_RANGE: 100:150
|
||||
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
||||
IRONIC_NETWORK_INTERFACE: neutron
|
||||
IRONIC_DEFAULT_RESCUE_INTERFACE: no-rescue
|
||||
IRONIC_USE_LINK_LOCAL: True
|
||||
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
||||
IRONIC_VM_EPHEMERAL_DISK: 0
|
||||
IRONIC_VM_INTERFACE_COUNT: 1
|
||||
IRONIC_VM_SPECS_CPU: 2
|
||||
Q_AGENT: ovn
|
||||
ENABLE_CHASSIS_AS_GW: true
|
||||
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn
|
||||
ML2_L3_PLUGIN: ovn-router,trunk
|
||||
ENABLE_TENANT_VLANS: True
|
||||
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
||||
PUBLIC_PHYSICAL_NETWORK: public
|
||||
PUBLIC_PROVIDERNET_TYPE: flat
|
||||
BUILD_TIMEOUT: 2000
|
||||
IRONIC_TEMPEST_BUILD_TIMEOUT: 2000
|
||||
IRONIC_PING_TIMEOUT: 1440
|
||||
|
||||
# NOTE(rpittau): OLD TINYIPA JOBS
|
||||
# Those jobs are used by other projects, we leave them here until
|
||||
# we can convert them to dib.
|
||||
|
@@ -22,6 +22,7 @@
|
||||
- ironic-tempest-ramdisk-bios-snmp-pxe
|
||||
- ironic-tempest-uefi-redfish-https
|
||||
- ironic-tempest-ovn-uefi-ipmi-pxe
|
||||
- ironic-tempest-ovn-uefi-ipxe-ipv6
|
||||
# NOTE(TheJulia) Marking multinode non-voting on 20210311
|
||||
# Due to a high failure rate on limestone where the compute1
|
||||
# machine never appears to be able to communicate across the
|
||||
@@ -81,6 +82,7 @@
|
||||
- ironic-tempest-ramdisk-bios-snmp-pxe
|
||||
- ironic-tempest-uefi-redfish-https
|
||||
- ironic-tempest-ovn-uefi-ipmi-pxe
|
||||
- ironic-tempest-ovn-uefi-ipxe-ipv6
|
||||
# NOTE(TheJulia): Disabled multinode on 20210311 due to Limestone
|
||||
# seeming to be
|
||||
# - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
|
||||
|
Reference in New Issue
Block a user