Also hit this issue with containerized setup. Investigated a bit and found 3 places where fix is possible
1. In Neutron, at conf load stage. https://github.com/openstack/neutron/blob/master/neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py#L231 Solution will be klunky: parse config string with possibly several hosts defined, resolve all addresses and re-assemble string back
2. In ovsdbapp https://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/backend/ovs_idl/idlutils.py#L183 Slightly better, here we have single record to process
3. In ovs somewhere here: https://github.com/openvswitch/ovs/blame/master/python/ovs/socket_util.py#L237
Best solution probably to fix in ovs, but fix in ovsdbapp is smaller and easier to test
Also hit this issue with containerized setup. Investigated a bit and found 3 places where fix is possible
1. In Neutron, at conf load stage. https:/ /github. com/openstack/ neutron/ blob/master/ neutron/ conf/plugins/ ml2/drivers/ ovn/ovn_ conf.py# L231
Solution will be klunky: parse config string with possibly several hosts defined, resolve all addresses and re-assemble string back
2. In ovsdbapp https:/ /github. com/openstack/ ovsdbapp/ blob/master/ ovsdbapp/ backend/ ovs_idl/ idlutils. py#L183
Slightly better, here we have single record to process
3. In ovs somewhere here: https:/ /github. com/openvswitch /ovs/blame/ master/ python/ ovs/socket_ util.py# L237
Best solution probably to fix in ovs, but fix in ovsdbapp is smaller and easier to test