diff --git a/ansible/roles/openvswitch/defaults/main.yml b/ansible/roles/openvswitch/defaults/main.yml index b22283050d..f07c37e2e5 100644 --- a/ansible/roles/openvswitch/defaults/main.yml +++ b/ansible/roles/openvswitch/defaults/main.yml @@ -75,4 +75,4 @@ openvswitch_vswitchd_extra_volumes: "{{ openvswitch_extra_volumes }}" # OpenvSwitch ############# -openvswitch_system_id: "{{ inventory_hostname_short }}" +openvswitch_system_id: "{{ ansible_hostname }}" diff --git a/releasenotes/notes/bug-1884734-ec054799d3300778.yaml b/releasenotes/notes/bug-1884734-ec054799d3300778.yaml new file mode 100644 index 0000000000..ac7da0997e --- /dev/null +++ b/releasenotes/notes/bug-1884734-ec054799d3300778.yaml @@ -0,0 +1,10 @@ +--- +fixes: + - | + Fixes an issue when using ip addresses instead of hostnames in Ansible + inventory. OpenvSwitch role sets system-id based on inventory_hostname, + which in case of ip addresses in is first ip octet. + Such a deployment would result in multiple OVN chassis with duplicate name + e.g. "10" connecting to OVN Southbound database - which spawns high numbers + of create/delete events in Encap database table - leading to near 100% CPU + usage of OVN/OVS/Neutron processes. diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 6ac0cc215d..100cb7a330 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -168,7 +168,7 @@ parent: kolla-ansible-base voting: false files: - - ^ansible/roles/(ovn|neutron)/ + - ^ansible/roles/(neutron|openvswitch|ovn)/ - ^tests/test-ovn.sh - ^tests/test-core-openstack.sh vars: