[OVN] Manual sync misidentifies Octavia OVN Load Balancer health monitor port and deletes metadata port
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Fernando Royo |
Bug Description
Versions:
Neutron: Stable/Yoga (from commit cbe514ecf6)
Octavia: Stable/Yoga (from commit 5bf40c89)
OVN: 22.09 - ovn22.09-
Looks related to https:/
Doing manual ovn sync:
neutron-
Misidentifies Octavia OVN Load Balancer Health Monitor Port and Deletes Metadata Port:
47:2023-09-28 13:22:29.565 2053 WARNING neutron.
48:2023-09-28 13:22:29.565 2053 WARNING neutron.
OVN LB health monitor port got .3 IP, and metadata uses it now as its port:
ip netns exec ovnmeta-
1: lo: <LOOPBACK,
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: tapdd8dbcd7-
link/ether fa:16:3e:c9:12:45 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 169.254.169.254/32 brd 169.254.169.254 scope global tapdd8dbcd7-01
valid_lft forever preferred_lft forever
inet 192.168.100.3/24 brd 192.168.100.255 scope global tapdd8dbcd7-01
valid_lft forever preferred_lft forever
openstack port show ovn-lb-
+------
| Field | Value |
+------
| admin_state_up | UP |
| allowed_
| binding_host_id | |
| binding_profile | |
| binding_vif_details | |
| binding_vif_type | unbound |
| binding_vnic_type | normal |
| created_at | 2023-09-
| data_plane_status | None |
| description | |
| device_id | |
| device_owner | network:distributed |
| device_profile | None |
| dns_assignment | None |
| dns_domain | None |
| dns_name | None |
| extra_dhcp_opts | |
| fixed_ips | ip_address=
| id | 2831bc8f-
| ip_allocation | None |
| mac_address | fa:16:3e:c9:12:45 |
| name | ovn-lb-
| network_id | dd8dbcd7-
| numa_affinity_
| port_security_
| project_id | e4529e5a687e412
| propagate_
| qos_network_
| qos_policy_id | None |
| resource_request | None |
| revision_number | 1 |
| security_group_ids | |
| status | DOWN |
| tags | |
| trunk_details | None |
| updated_at | 2023-09-
+------
Workaround - removed health monitor, readded manually ovnmeta port, restart metadata agents.
tags: | added: ovn-octavia-provider |
Changed in neutron: | |
importance: | Undecided → Medium |
Changed in neutron: | |
assignee: | nobody → Fernando Royo (froyoredhat) |
The sync script is checking for all metadata ports (network: distributed owner) - https:/ /github. com/openstack/ neutron/ blob/ea0bc376a2 ec93a78ee5c9d47 72a970832dc367b /neutron/ plugins/ ml2/drivers/ ovn/mech_ driver/ ovsdb/ovn_ db_sync. py#L971
And ovn-octavia- provider is creating port per HM with network:distributed owner (https:/ /review. opendev. org/c/openstack /ovn-octavia- provider/ +/874271/ 1/ovn_octavia_ provider/ helper. py#144)