From 990370a3673b8bdf4882816926868dd7b422db60 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 4 Oct 2023 08:57:52 +0200 Subject: [PATCH] Revert "CI: Disable bare metal testing on RL9/c9s" This requires disabling libvirt_vm_trust_guest_rx_filters, which when enabled triggers the following errors when booting baremetal instances with Tenks on Libvirt 9 (and most likely since 8.9.0): Cannot set interface flags on 'macvtap1': Value too large for defined data type This is apparently triggered by a Libvirt commit refreshing rx-filters more often [1]. As explained in I71a2051d8acd63379bd70bc1287a059d4a7f6387, this setting was added to allow traffic destined for other MAC addresses to reach VMs when using a macvtap interface. This will prevent multicast from working, but we don't need it for baremetal tests in CI. This setting will be enabled again once the issue is resolved in either Libvirt or Tenks. This reverts commit 21c68bbfafe529e1c337ba242c2e501c75bfedaa. Also increase timeout of upgrade jobs which is too short now due to the added delay added by bare metal testing. [1] https://gitlab.com/libvirt/libvirt/-/commit/060d4c83ef436cf56abfad51a4d64c39448e199d Change-Id: I2cfd2667abb1ae8988b7a7fd9761b75c20a0eaa4 --- dev/tenks-deploy-config-compute-libvirt-on-host.yml | 6 ++++++ dev/tenks-deploy-config-compute.yml | 6 ++++++ playbooks/kayobe-overcloud-base/run.yml | 2 -- playbooks/kayobe-overcloud-upgrade-base/run.yml | 4 ---- zuul.d/jobs.yaml | 2 +- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dev/tenks-deploy-config-compute-libvirt-on-host.yml b/dev/tenks-deploy-config-compute-libvirt-on-host.yml index d8cd1a14f..a6b80c104 100644 --- a/dev/tenks-deploy-config-compute-libvirt-on-host.yml +++ b/dev/tenks-deploy-config-compute-libvirt-on-host.yml @@ -54,3 +54,9 @@ libvirt_vm_emulator: "{% if ansible_facts.os_family == 'RedHat' %}/usr/libexec/q # Specify a log path in the kolla_logs Docker volume. It is accessible on the # host at the same path. libvirt_vm_default_console_log_dir: "/var/log/kolla/tenks" + +# NOTE(priteau): Disable libvirt_vm_trust_guest_rx_filters, which when enabled +# triggers the following errors when booting baremetal instances with Tenks on +# Libvirt 9: Cannot set interface flags on 'macvtap1': Value too large for +# defined data type +libvirt_vm_trust_guest_rx_filters: false diff --git a/dev/tenks-deploy-config-compute.yml b/dev/tenks-deploy-config-compute.yml index 0f859ccd9..984852bcb 100644 --- a/dev/tenks-deploy-config-compute.yml +++ b/dev/tenks-deploy-config-compute.yml @@ -55,3 +55,9 @@ libvirt_vm_default_console_log_dir: "/var/log/kolla/tenks" # Console logs are owned by the ID of the Nova user in the nova_libvirt # container. libvirt_vm_log_owner: 42436 + +# NOTE(priteau): Disable libvirt_vm_trust_guest_rx_filters, which when enabled +# triggers the following errors when booting baremetal instances with Tenks on +# Libvirt 9: Cannot set interface flags on 'macvtap1': Value too large for +# defined data type +libvirt_vm_trust_guest_rx_filters: false diff --git a/playbooks/kayobe-overcloud-base/run.yml b/playbooks/kayobe-overcloud-base/run.yml index 7468c32a1..ddcae18e5 100644 --- a/playbooks/kayobe-overcloud-base/run.yml +++ b/playbooks/kayobe-overcloud-base/run.yml @@ -41,5 +41,3 @@ cmd: dev/overcloud-test-baremetal.sh &> {{ logs_dir }}/ansible/overcloud-test-baremetal chdir: "{{ kayobe_src_dir }}" executable: /bin/bash - # FIXME(priteau): Bare metal testing fails on RL9/c9s with Libvirt 9.0.0 - when: ansible_facts.os_family == 'Debian' diff --git a/playbooks/kayobe-overcloud-upgrade-base/run.yml b/playbooks/kayobe-overcloud-upgrade-base/run.yml index 6564a8ea4..9fde32311 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/run.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml @@ -81,8 +81,6 @@ cmd: dev/overcloud-test-baremetal.sh &> {{ logs_dir }}/ansible/overcloud-test-bm-pre-upgrade chdir: "{{ previous_kayobe_src_dir }}" executable: /bin/bash - # FIXME(priteau): Bare metal testing fails on RL9/c9s with Libvirt 9.0.0 - when: ansible_facts.os_family == 'Debian' # Upgrade Kayobe, and use it to perform an upgrade of the control plane. @@ -110,8 +108,6 @@ cmd: dev/overcloud-test-baremetal.sh &> {{ logs_dir }}/ansible/overcloud-test-bm-post-upgrade chdir: "{{ kayobe_src_dir }}" executable: /bin/bash - # FIXME(priteau): Bare metal testing fails on RL9/c9s with Libvirt 9.0.0 - when: ansible_facts.os_family == 'Debian' environment: KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}" diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 8e7c3db08..131ef7875 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -162,7 +162,7 @@ OpenStack release, and upgrades it to the current release. pre-run: playbooks/kayobe-overcloud-upgrade-base/pre.yml run: playbooks/kayobe-overcloud-upgrade-base/run.yml - timeout: 9000 + timeout: 10800 - job: name: kayobe-overcloud-upgrade-rocky9