Fix v6 CI job - Return it to normal non-voting status

* Fixes the IPv6 job by utilizing HOST_IPV6 instead of
  SERVICE_IPV6, as Devstack now automatically wraps
  SERVICE_IPV6 with brackets as if it is for a URL.
* Locks ipv6 job to bios mode. Ubuntu Focal OVMF/EDK2 does not
  support IPv6 PXE boot by default.
* Split from Devstack in terms of IP usage, since full explicit
  V6 usage is not a thing anymore. 4+6 is the default in devstack
  and regardless of what we set on the job we see both now used.
  So we delineate apart our usage for our own sanity.
* Reduce VM Interface count for IPv6 in an attempt to eliminate
  in-kernel routing confusion by two interfaces on the same physical
  network.
* Set IPv6 mode to dhcpv6-stateless due to fun issues in dhcp clients.
  When we move to UEFI, this will need to be changed to stateful as
  stateless is not supported in general by OVMF/E2DK.

Once the job has run in normal non-voting for a while, and we
ensure that it seems to be stable, we can make it voting again.

Change-Id: Ia833bfb64c6c3cc8e48cbe34ed200536652a8adf
This commit is contained in:
Julia Kreger 2022-04-22 09:57:50 -07:00
parent cf8124deae
commit a9f4acfdb0
3 changed files with 18 additions and 8 deletions

View File

@ -500,7 +500,7 @@ else
# loopback cannot be used for v6 testing.
IRONIC_HOST_IPV6='fc00::1'
else
IRONIC_HOST_IPV6=$SERVICE_HOST
IRONIC_HOST_IPV6=$HOST_IPV6
fi
IRONIC_PROVISION_SUBNET_GATEWAY=${IRONIC_PROVISION_SUBNET_GATEWAY:-'fc01::1'}
IRONIC_PROVISION_SUBNET_SUBNODE_IP=${IRONIC_PROVISION_SUBNET_SUBNODE_IP:-'fc01::2'}
@ -1342,7 +1342,7 @@ function configure_ironic_rescue_network {
}
function configure_ironic_provision_network {
if [[ "$IP_VERSION" == "6" ]]; then
if [[ "$IRONIC_IP_VERSION" == "6" ]]; then
# NOTE(TheJulia): Ideally we should let this happen
# with our global address, but iPXE seems to have in
# consistant behavior in this configuration with devstack.
@ -1402,9 +1402,11 @@ function configure_ironic_provision_network {
--gateway $IRONIC_PROVISION_SUBNET_GATEWAY --network $net_id \
--subnet-range $IRONIC_PROVISION_SUBNET_PREFIX -f value -c id)"
else
# NOTE(TheJulia): Consider changing this to stateful to support UEFI once we move
# CI to Ubuntu Jammy as it will support v6 and v4 UEFI firmware driven boot ops.
subnet_id="$(openstack --os-cloud $OS_CLOUD subnet create --ip-version 6 \
--ipv6-address-mode dhcpv6-stateful \
--ipv6-ra-mode dhcpv6-stateful \
--ipv6-address-mode dhcpv6-stateless \
--ipv6-ra-mode dhcpv6-stateless \
--dns-nameserver 2001:4860:4860::8888 \
${net_segment_id:+--network-segment $net_segment_id} \
$IRONIC_PROVISION_PROVIDER_SUBNET_NAME \

View File

@ -744,8 +744,7 @@
devstack_localrc:
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
IPV6_ENABLED: True
IP_VERSION: 6
SERVICE_IP_VERSION: 6
IRONIC_IP_VERSION: 6
IRONIC_AUTOMATED_CLEAN_ENABLED: False
IRONIC_ENABLED_BOOT_INTERFACES: ipxe,pxe
IRONIC_DEFAULT_BOOT_INTERFACE: ipxe
@ -760,6 +759,7 @@
IRONIC_USE_LINK_LOCAL: True
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
IRONIC_VM_EPHEMERAL_DISK: 0
IRONIC_VM_INTERFACE_COUNT: 1
# This will swap and needs to get to tinycore soon.
IRONIC_VM_SPECS_CPU: 2
Q_PLUGIN: ml2
@ -773,6 +773,14 @@
BUILD_TIMEOUT: 2000
IRONIC_TEMPEST_BUILD_TIMEOUT: 2000
IRONIC_PING_TIMEOUT: 1440
# TODO(TheJulia): Change this to UEFI once we have Ubuntu Jammy
# as it auto-attempts to UEFI boot PXE v4 and PXE v6. Prior just
# does IPv4 and we cannot easily edit the nvram to inject just v6.
# TODO(TheJulia): The devstack plugin also needs to be changed to
# dhcpv6-stateful instead of stateless when this is changed to UEFI
# as OVMF/E2DK does not support stateless.
IRONIC_BOOT_MODE: bios
# NOTE(rpittau): OLD TINYIPA JOBS
# Those jobs are used by other projects, we leave them here until

View File

@ -45,6 +45,8 @@
voting: false
- ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib:
voting: false
- ironic-tempest-ipxe-ipv6:
voting: false
- ironic-inspector-tempest-rbac-scope-enforced:
voting: false
- bifrost-integration-tinyipa-ubuntu-focal:
@ -80,8 +82,6 @@
jobs:
# TODO(dtantsur): these jobs are useful but currently hopelessly
# broken. Fix them and bring back to the gate.
- ironic-tempest-ipxe-ipv6:
voting: false
- ironic-grenade-multinode-multitenant:
voting: false
- ironic-inspector-tempest-discovery-fast-track: