In OVN, when a new network and the first subnet are created, a metadata port is created (with an IP address assigned). This is not happening with other ML2 drivers.
The method "_check_network_internal_connectivity" [1] retrieves the network ports (that belong to a project) and filters those ones with "device_owner" "network:xxx" and "compute:xxx". From this list we need to remove the metadata ports; the "device_owner" of the metadata ports is "network:distributed" [2][3].
In OVN, when a new network and the first subnet are created, a metadata port is created (with an IP address assigned). This is not happening with other ML2 drivers.
The method "_check_ network_ internal_ connectivity" [1] retrieves the network ports (that belong to a project) and filters those ones with "device_owner" "network:xxx" and "compute:xxx". From this list we need to remove the metadata ports; the "device_owner" of the metadata ports is "network: distributed" [2][3].
[1]https:/ /github. com/openstack/ tempest/ blob/393e94a604 f29940025c2c2d8 f406419e7733e5c /tempest/ scenario/ test_network_ basic_ops. py#L332- L338 /review. opendev. org/c/openstack /neutron- lib/+/732141 /review. opendev. org/c/openstack /neutron/ +/732364
[2]https:/
[3]https:/