Currently DNS resolution is a blocking call in OVN controller. If DNS server is not reachable for any reason then, ovn-controller thread blocks for longer time and other events are not processed.
Ex: If we try to run ovn-appctl commands during this then, ovn-controller will not respond for a longer time. Signed-off-by: Naveen Yerramneni <naveen.yerramn...@nutanix.com> --- controller/ovn-controller.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c index c9ff5967a..b84f6dfd4 100644 --- a/controller/ovn-controller.c +++ b/controller/ovn-controller.c @@ -85,6 +85,7 @@ #include "mirror.h" #include "mac_cache.h" #include "statctrl.h" +#include "lib/dns-resolve.h" VLOG_DEFINE_THIS_MODULE(main); @@ -5090,6 +5091,7 @@ main(int argc, char *argv[]) mirror_init(); vif_plug_provider_initialize(); statctrl_init(); + dns_resolve_init(true); /* Connect to OVS OVSDB instance. */ struct ovsdb_idl_loop ovs_idl_loop = OVSDB_IDL_LOOP_INITIALIZER( @@ -6176,6 +6178,7 @@ loop_done: unixctl_server_destroy(unixctl); service_stop(); ovsrcu_exit(); + dns_resolve_destroy(); exit(retval); } -- 2.36.6 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev