From 8b7b8e373982b9f2e315afe1e16c58a270ed185b 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. [1] https://gitlab.com/libvirt/libvirt/-/commit/060d4c83ef436cf56abfad51a4d64c39448e199d Change-Id: I2cfd2667abb1ae8988b7a7fd9761b75c20a0eaa4 (cherry picked from commit 990370a3673b8bdf4882816926868dd7b422db60) (cherry picked from commit 46d15a76304f51b02836e37c5bebf1ebab875db5) --- 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 ---- 4 files changed, 12 insertions(+), 6 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 4208bd448..350b47dfd 100644 --- a/playbooks/kayobe-overcloud-base/run.yml +++ b/playbooks/kayobe-overcloud-base/run.yml @@ -30,5 +30,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 b04af449c..c74299b1f 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/run.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml @@ -80,8 +80,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. @@ -109,8 +107,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 }}"