Skip to content

Commit 5485a0f

Browse files
authored
Merge pull request #1013 from stackhpc/fix-houston-tc-mirred
add playbook with workaround for 'tc mirred to Houston'
2 parents e859424 + 084e47a commit 5485a0f

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

etc/kayobe/ansible/fix-houston.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
# When OVS HW offloading is enabled - typically in conjunction with VF-LAG and ASAP^2
3+
# the DMESG log reports frequent errors on the internal OVS Bridge interface:
4+
# "tc mirred to Houston: device bond0-ovs is down".
5+
# This interface is down by default. The errors are mitigated by bringing the interface up.
6+
# For further context, see:
7+
# https://bugs.launchpad.net/charm-neutron-openvswitch/+bug/1899364
8+
# https://patchwork.kernel.org/project/netdevbpf/patch/c2ef23da1d9a4eb62f4e7b7c4540f9bafb553c15.1658420239.git.dcaratti@redhat.com/
9+
# To deploy this playbook, use the following commands:
10+
# kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/fix-houston.yml
11+
# Enable with Kayobe Hooks by running:
12+
# mkdir -p ${KAYOBE_CONFIG_PATH}/hooks/overcloud-service-deploy/post.d
13+
# cd ${KAYOBE_CONFIG_PATH}/hooks/overcloud-service-deploy/post.d
14+
# ln -s ../../../ansible/fix-houston.yml 90-fix-houston.yml
15+
16+
- name: Create Systemd Unit to workaround 'tc mirred to Houston' error
17+
hosts: network,compute
18+
become: yes
19+
20+
tasks:
21+
- name: Include kolla-ansible host vars
22+
include_vars: "{{ kolla_config_path }}/inventory/overcloud/host_vars/{{ inventory_hostname }}"
23+
24+
- name: Create systemd service for -ovs network interface
25+
template:
26+
src: fix-houston-interface.service.j2
27+
dest: "/etc/systemd/system/fix-houston-{{ item }}.service"
28+
loop: "{{ neutron_bridge_name.split(',') }}"
29+
vars:
30+
interface_name: "{{ item }}"
31+
when: neutron_bridge_name | length > 0
32+
notify: reload systemd
33+
34+
- name: Enable and start systemd service for -ovs network interface
35+
systemd:
36+
name: "fix-houston-{{ item }}"
37+
enabled: yes
38+
state: started
39+
when: neutron_bridge_name | length > 0
40+
loop: "{{ neutron_bridge_name.split(',') }}"
41+
42+
handlers:
43+
- name: reload systemd
44+
command: systemctl daemon-reload
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Unit]
2+
# This service addresses a specific issue when OVS HW offloading is enabled
3+
# typically in conjunction with VF-LAG and ASAP^2
4+
# the DMESG log reports frequent errors on the internal OVS Bridge interface:
5+
# "tc mirred to Houston: device bond0-ovs is down".
6+
# This interface is down by default. The errors are mitigated by bringing the interface up.
7+
# For further context, see:
8+
# https://bugs.launchpad.net/charm-neutron-openvswitch/+bug/1899364
9+
# https://patchwork.kernel.org/project/netdevbpf/patch/c2ef23da1d9a4eb62f4e7b7c4540f9bafb553c15.1658420239.git.dcaratti@redhat.com/
10+
Description=Bring up {{ interface_name }} interface
11+
After=kolla-openvswitch_vswitchd-container.service
12+
13+
[Service]
14+
Type=oneshot
15+
ExecStartPre=/usr/bin/timeout 60s /bin/bash -c 'until ip link show {{ interface_name }}; do sleep 1; done'
16+
ExecStart=/sbin/ip link set {{ interface_name }} up
17+
RemainAfterExit=yes
18+
19+
[Install]
20+
WantedBy=multi-user.target
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
fixes:
3+
- |
4+
Adds a custom ``fix-houston.yml`` playbook to address dmesg errors, specifically:
5+
"tc mirred to Houston: device bond0-ovs is down". This error typically appears
6+
when OVS HW offloading is enabled, often in conjunction with VF-LAG and ASAP^2.
7+
Detailed usage instructions are provided within the playbook's comments.
8+
Additional context is available at the following links:
9+
`LP#1899364
10+
<https://bugs.launchpad.net/charm-neutron-openvswitch/+bug/1899364>`__
11+
`Kernel Patch
12+
<https://patchwork.kernel.org/project/netdevbpf/patch/c2ef23da1d9a4eb62f4e7b7c4540f9bafb553c15.1658420239.git.dcaratti@redhat.com/>`__

0 commit comments

Comments
 (0)