)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"84acd69bdc86d7078ecba75a52febbe53fd13ee0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Serguei Bezverkhi \u003csbezverk@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-19 08:32:47 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prevents noa from exiting if ovsdb socket not yet created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_3b513cd9","line":7,"updated":"2016-10-19 15:24:59.000000000","message":"Rephrase: Retry connection to ovsdb","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"f46a28ce3161848e3a88f7c00dc722d301ca4ed0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Serguei Bezverkhi \u003csbezverk@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-19 08:32:47 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prevents noa from exiting if ovsdb socket not yet created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_364dc372","line":7,"in_reply_to":"fa6399be_3b513cd9","updated":"2016-10-19 22:15:31.000000000","message":"Done","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"84acd69bdc86d7078ecba75a52febbe53fd13ee0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prevents noa from exiting if ovsdb socket not yet created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"},{"line_number":11,"context_line":"exit which was causing issues in environment like kubernetes when"},{"line_number":12,"context_line":"there is no way to ensure that ovsdb pod, which creates ovsdb socket"},{"line_number":13,"context_line":"get started before neutron-openvswitch-agent. New behavior introduced"},{"line_number":14,"context_line":"by this PS is to wait and check with 5 seconds interval for the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_9bdde844","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":29},"updated":"2016-10-19 15:24:59.000000000","message":"all this text doesn\u0027t add much and can be removed","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"f46a28ce3161848e3a88f7c00dc722d301ca4ed0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prevents noa from exiting if ovsdb socket not yet created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"},{"line_number":11,"context_line":"exit which was causing issues in environment like kubernetes when"},{"line_number":12,"context_line":"there is no way to ensure that ovsdb pod, which creates ovsdb socket"},{"line_number":13,"context_line":"get started before neutron-openvswitch-agent. New behavior introduced"},{"line_number":14,"context_line":"by this PS is to wait and check with 5 seconds interval for the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_5650770a","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":29},"in_reply_to":"fa6399be_9bdde844","updated":"2016-10-19 22:15:31.000000000","message":"Done","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"84acd69bdc86d7078ecba75a52febbe53fd13ee0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"},{"line_number":11,"context_line":"exit which was causing issues in environment like kubernetes when"},{"line_number":12,"context_line":"there is no way to ensure that ovsdb pod, which creates ovsdb socket"},{"line_number":13,"context_line":"get started before neutron-openvswitch-agent. New behavior introduced"},{"line_number":14,"context_line":"by this PS is to wait and check with 5 seconds interval for the"},{"line_number":15,"context_line":"socket availablility."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_5b04307d","line":12,"updated":"2016-10-19 15:24:59.000000000","message":"The remaining lines can be rephrased:\n\nIn some environment (e.g. Kubernetes) it\u0027s not possible to make sure that ovs has started before the ovs agent. This patch modifies the behavior of the ovs agent, instead of exiting if ovs is not up, it will retry to connect.","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"f46a28ce3161848e3a88f7c00dc722d301ca4ed0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This PS changes behavior of neutron-openvswitch-agent with regards"},{"line_number":10,"context_line":"to the check for openvswitch db socket. Original behavior was to"},{"line_number":11,"context_line":"exit which was causing issues in environment like kubernetes when"},{"line_number":12,"context_line":"there is no way to ensure that ovsdb pod, which creates ovsdb socket"},{"line_number":13,"context_line":"get started before neutron-openvswitch-agent. New behavior introduced"},{"line_number":14,"context_line":"by this PS is to wait and check with 5 seconds interval for the"},{"line_number":15,"context_line":"socket availablility."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa6399be_76573b02","line":12,"in_reply_to":"fa6399be_5b04307d","updated":"2016-10-19 22:15:31.000000000","message":"Done","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"9e58728e95963b44c53bf870bd507de0359d3fea","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Serguei Bezverkhi \u003csbezverk@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-19 23:02:50 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"noa retry connection to ovsdb"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In environments like kubernetes, there is no way to ensure that"},{"line_number":10,"context_line":"ovsdb pod, which creates ovsdb socket, starts before"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a629dbe_87aca0a1","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2016-11-09 12:15:20.000000000","message":"Do a","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"98e88a8da4c8ba1ff3ee508a135fa153fa77187e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Serguei Bezverkhi \u003csbezverk@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-19 23:02:50 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"noa retry connection to ovsdb"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In environments like kubernetes, there is no way to ensure that"},{"line_number":10,"context_line":"ovsdb pod, which creates ovsdb socket, starts before"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba2be162_82233255","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"in_reply_to":"9a629dbe_87aca0a1","updated":"2017-03-06 00:59:17.000000000","message":"Looking at the below, does it mean \u0027neutron-ovs-agent\u0027?\nAnyway no reviewers know what it means :-(","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"9e58728e95963b44c53bf870bd507de0359d3fea","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In environments like kubernetes, there is no way to ensure that"},{"line_number":10,"context_line":"ovsdb pod, which creates ovsdb socket, starts before"},{"line_number":11,"context_line":"neutron-openvswitch-agent. With this change, noa will retry to connect"},{"line_number":12,"context_line":"to ovsdb with 5 seconds interval until it succeeds."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iae2def10f480ab528b5867c5c0c9c0925ec275ec"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a629dbe_67ba2cc2","line":11,"range":{"start_line":11,"start_character":45,"end_line":11,"end_character":48},"updated":"2016-11-09 12:15:20.000000000","message":"i do not understand this.","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":18289,"name":"Sreekumar S","email":"sreesiv@gmail.com","username":"sreesiv"},"change_message_id":"5599e3c75763e5ca782c2918d0f71c72906ba941","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In environments like kubernetes, there is no way to ensure that"},{"line_number":10,"context_line":"ovsdb pod, which creates ovsdb socket, starts before"},{"line_number":11,"context_line":"neutron-openvswitch-agent. With this change, noa will retry to connect"},{"line_number":12,"context_line":"to ovsdb with 5 seconds interval until it succeeds."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iae2def10f480ab528b5867c5c0c9c0925ec275ec"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a629dbe_2766182a","line":11,"range":{"start_line":11,"start_character":45,"end_line":11,"end_character":48},"in_reply_to":"9a629dbe_67ba2cc2","updated":"2016-11-11 07:48:53.000000000","message":"Me too, did you mean \u0027neutron ovs agent\u0027 ?? I am trying to be smart here :)","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"cf0a6baa754030a34abf825bcbae0f7a7bc96e08","unresolved":false,"context_lines":[{"line_number":2171,"context_line":"         time.sleep(5)"},{"line_number":2172,"context_line":"      else:"},{"line_number":2173,"context_line":"         LOG.info(_LI(\"Connection to OVS database has been established\"))"},{"line_number":2174,"context_line":"         return"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":""},{"line_number":2177,"context_line":"def main(bridge_classes):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_37b6d28a","line":2174,"range":{"start_line":2174,"start_character":9,"end_line":2174,"end_character":15},"updated":"2016-10-19 00:52:52.000000000","message":"I think you might want to return agent here.","commit_id":"1b994f2956064520d1bec5697a709806d3f7bf38"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"582de585534fe769a767217f5e8f28ddc60267ee","unresolved":false,"context_lines":[{"line_number":2171,"context_line":"         time.sleep(5)"},{"line_number":2172,"context_line":"      else:"},{"line_number":2173,"context_line":"         LOG.info(_LI(\"Connection to OVS database has been established\"))"},{"line_number":2174,"context_line":"         return"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":""},{"line_number":2177,"context_line":"def main(bridge_classes):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_0c63801b","line":2174,"range":{"start_line":2174,"start_character":9,"end_line":2174,"end_character":15},"in_reply_to":"fa6399be_37b6d28a","updated":"2016-10-19 02:52:33.000000000","message":"Done","commit_id":"1b994f2956064520d1bec5697a709806d3f7bf38"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"cf0a6baa754030a34abf825bcbae0f7a7bc96e08","unresolved":false,"context_lines":[{"line_number":2179,"context_line":"    ovs_capabilities.register()"},{"line_number":2180,"context_line":"    validate_tunnel_config(cfg.CONF.AGENT.tunnel_types, cfg.CONF.OVS.local_ip)"},{"line_number":2181,"context_line":"    wait_ovsdb_socket(bridge_classes)"},{"line_number":2182,"context_line":"    agent.daemon_loop()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_f7bb7a73","line":2182,"range":{"start_line":2182,"start_character":4,"end_line":2182,"end_character":9},"updated":"2016-10-19 00:52:52.000000000","message":"Where would this agent come from?","commit_id":"1b994f2956064520d1bec5697a709806d3f7bf38"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"582de585534fe769a767217f5e8f28ddc60267ee","unresolved":false,"context_lines":[{"line_number":2179,"context_line":"    ovs_capabilities.register()"},{"line_number":2180,"context_line":"    validate_tunnel_config(cfg.CONF.AGENT.tunnel_types, cfg.CONF.OVS.local_ip)"},{"line_number":2181,"context_line":"    wait_ovsdb_socket(bridge_classes)"},{"line_number":2182,"context_line":"    agent.daemon_loop()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_eca56c47","line":2182,"range":{"start_line":2182,"start_character":4,"end_line":2182,"end_character":9},"in_reply_to":"fa6399be_f7bb7a73","updated":"2016-10-19 02:52:33.000000000","message":"thank you for your comment. fixed..","commit_id":"1b994f2956064520d1bec5697a709806d3f7bf38"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"84acd69bdc86d7078ecba75a52febbe53fd13ee0","unresolved":false,"context_lines":[{"line_number":2165,"context_line":"    while True:"},{"line_number":2166,"context_line":"        try:"},{"line_number":2167,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2168,"context_line":"            capabilities.notify_init_event(n_const.AGENT_TYPE_OVS, agent)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError) as e:"},{"line_number":2170,"context_line":"            LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2171,"context_line":"            time.sleep(5)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_88611cab","line":2168,"range":{"start_line":2168,"start_character":24,"end_line":2168,"end_character":26},"updated":"2016-10-19 15:24:59.000000000","message":"notify_init_event should be called only when the agent starts successfully, it doesn\u0027t belong here.","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"8c6702ab96364af2a4f4723c610994c50c01d54a","unresolved":false,"context_lines":[{"line_number":2165,"context_line":"    while True:"},{"line_number":2166,"context_line":"        try:"},{"line_number":2167,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2168,"context_line":"            capabilities.notify_init_event(n_const.AGENT_TYPE_OVS, agent)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError) as e:"},{"line_number":2170,"context_line":"            LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2171,"context_line":"            time.sleep(5)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_d5dd6471","line":2168,"range":{"start_line":2168,"start_character":24,"end_line":2168,"end_character":26},"in_reply_to":"fa6399be_88611cab","updated":"2016-10-19 18:47:02.000000000","message":"ok, but why then it was originally inside of try block? According to your logic it should be outside and right before agent.daemon_loop. Could you please re-confirm.","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"84acd69bdc86d7078ecba75a52febbe53fd13ee0","unresolved":false,"context_lines":[{"line_number":2166,"context_line":"        try:"},{"line_number":2167,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2168,"context_line":"            capabilities.notify_init_event(n_const.AGENT_TYPE_OVS, agent)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError) as e:"},{"line_number":2170,"context_line":"            LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2171,"context_line":"            time.sleep(5)"},{"line_number":2172,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_1b4c786f","line":2169,"range":{"start_line":2169,"start_character":8,"end_line":2169,"end_character":47},"updated":"2016-10-19 15:24:59.000000000","message":"we shouldn\u0027t retry in any case, only if the exception is caused by a connection failure","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"8c6702ab96364af2a4f4723c610994c50c01d54a","unresolved":false,"context_lines":[{"line_number":2166,"context_line":"        try:"},{"line_number":2167,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2168,"context_line":"            capabilities.notify_init_event(n_const.AGENT_TYPE_OVS, agent)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError) as e:"},{"line_number":2170,"context_line":"            LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2171,"context_line":"            time.sleep(5)"},{"line_number":2172,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_55d07453","line":2169,"range":{"start_line":2169,"start_character":8,"end_line":2169,"end_character":47},"in_reply_to":"fa6399be_1b4c786f","updated":"2016-10-19 18:47:02.000000000","message":"WIll address that, could you point me to the existing exception handlers used in neutron? I would like to follow similar approach with this one.","commit_id":"0f157ecd44e955011062bb6a325f832b338bdb8b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"9e58728e95963b44c53bf870bd507de0359d3fea","unresolved":false,"context_lines":[{"line_number":2161,"context_line":"        cfg.CONF.register_opts(ip_lib.OPTS)"},{"line_number":2162,"context_line":"        cfg.CONF.set_default(\u0027ip_lib_force_root\u0027, True)"},{"line_number":2163,"context_line":""},{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"def wait_ovsdb_socket(bridge_classes):"},{"line_number":2166,"context_line":"    while True:"},{"line_number":2167,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_a7860411","line":2164,"updated":"2016-11-09 12:15:20.000000000","message":"please use tenacity decorator here - here is an example of its usage - https://github.com/openstack/vmware-nsx/blob/master/vmware_nsx/common/utils.py#L147","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":18289,"name":"Sreekumar S","email":"sreesiv@gmail.com","username":"sreesiv"},"change_message_id":"add0e609cfefe2e76168b0ea9627c089b5295b67","unresolved":false,"context_lines":[{"line_number":2163,"context_line":""},{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"def wait_ovsdb_socket(bridge_classes):"},{"line_number":2166,"context_line":"    while True:"},{"line_number":2167,"context_line":"        try:"},{"line_number":2168,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError, IOError) as e:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_504b2487","line":2166,"range":{"start_line":2166,"start_character":1,"end_line":2166,"end_character":15},"updated":"2016-11-09 10:34:39.000000000","message":"Please see if you can get the same working with the --retry option, that\u0027s better that wait looping IMHO.","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"0835ae2ccfbff3feff513c049556df445b24f81d","unresolved":false,"context_lines":[{"line_number":2166,"context_line":"    while True:"},{"line_number":2167,"context_line":"        try:"},{"line_number":2168,"context_line":"            agent \u003d OVSNeutronAgent(bridge_classes, cfg.CONF)"},{"line_number":2169,"context_line":"        except (RuntimeError, ValueError, IOError) as e:"},{"line_number":2170,"context_line":"            if e.errno \u003d\u003d errno.ENOENT:"},{"line_number":2171,"context_line":"                LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2172,"context_line":"                time.sleep(5)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a74a57a_472f873e","line":2169,"range":{"start_line":2169,"start_character":42,"end_line":2169,"end_character":49},"updated":"2016-11-28 23:20:52.000000000","message":"Any reason for adding this type of exception that wasn\u0027t considered before?","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"0835ae2ccfbff3feff513c049556df445b24f81d","unresolved":false,"context_lines":[{"line_number":2169,"context_line":"        except (RuntimeError, ValueError, IOError) as e:"},{"line_number":2170,"context_line":"            if e.errno \u003d\u003d errno.ENOENT:"},{"line_number":2171,"context_line":"                LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2172,"context_line":"                time.sleep(5)"},{"line_number":2173,"context_line":"            else:"},{"line_number":2174,"context_line":"                LOG.error(_LE(\"%s Agent terminated!\"), e)"},{"line_number":2175,"context_line":"                sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a74a57a_470867da","line":2172,"range":{"start_line":2172,"start_character":27,"end_line":2172,"end_character":28},"updated":"2016-11-28 23:20:52.000000000","message":"This value should be defined as constant or value in the configuration file.","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"98e88a8da4c8ba1ff3ee508a135fa153fa77187e","unresolved":false,"context_lines":[{"line_number":2169,"context_line":"        except (RuntimeError, ValueError, IOError) as e:"},{"line_number":2170,"context_line":"            if e.errno \u003d\u003d errno.ENOENT:"},{"line_number":2171,"context_line":"                LOG.warning(_LW(\"%s Retrying in 5 seconds.\"), e)"},{"line_number":2172,"context_line":"                time.sleep(5)"},{"line_number":2173,"context_line":"            else:"},{"line_number":2174,"context_line":"                LOG.error(_LE(\"%s Agent terminated!\"), e)"},{"line_number":2175,"context_line":"                sys.exit(1)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba2be162_829972c6","line":2172,"range":{"start_line":2172,"start_character":27,"end_line":2172,"end_character":28},"in_reply_to":"5a74a57a_470867da","updated":"2017-03-06 00:59:17.000000000","message":"I agree with Gary\u0027s suggestion to use exponential interval or similar approach. At least,  it is not a good idea to repeat this kind of things with 5sec interval (too short interval) for a case where we don\u0027t know when ovsdb becomes ready.","commit_id":"e7bf1c0125c29b58ff7df1cfaa9ef3c1f7a0ce56"}]}
