)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Don\u0027t skip DVR port while neutron-openvswitch-agent is restared."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_1e83acab","line":10,"range":{"start_line":10,"start_character":44,"end_line":10,"end_character":45},"updated":"2018-06-04 08:38:49.000000000","message":"nitty nit: missing space after comma","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Don\u0027t skip DVR port while neutron-openvswitch-agent is restared."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_d60747c9","line":10,"range":{"start_line":10,"start_character":44,"end_line":10,"end_character":45},"in_reply_to":"5f7c97a3_1e83acab","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_3eb5487f","line":12,"range":{"start_line":12,"start_character":60,"end_line":12,"end_character":61},"updated":"2018-06-04 08:38:49.000000000","message":"and here","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_9ec01ce3","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":32},"updated":"2018-06-04 08:38:49.000000000","message":"same nit here","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_760c33ec","line":12,"range":{"start_line":12,"start_character":60,"end_line":12,"end_character":61},"in_reply_to":"5f7c97a3_3eb5487f","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron-openvswitch-agent will refresh flows when it\u0027s restarted."},{"line_number":10,"context_line":"But the port\u0027s binding status is not changed,update_port_postcommit"},{"line_number":11,"context_line":"will be skipped at function \u0027_update_individual_port_db_status\u0027 in"},{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_9611cf07","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":32},"in_reply_to":"5f7c97a3_9ec01ce3","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"},{"line_number":16,"context_line":"is restared."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #1773286"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_5eba846e","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":3},"updated":"2018-06-04 08:38:49.000000000","message":"and here","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u0027neutron/plugins/ml2/plugin.py\u0027,l2pop don\u0027t handle DVR ports,the"},{"line_number":13,"context_line":"fdb entries about DVR port will not be added."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"So,we can\u0027t skip DVR port at notify_l2pop_port_wiring when agent"},{"line_number":16,"context_line":"is restared."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #1773286"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_36f6bbda","line":15,"range":{"start_line":15,"start_character":2,"end_line":15,"end_character":3},"in_reply_to":"5f7c97a3_5eba846e","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"}],"neutron/plugins/ml2/drivers/l2pop/mech_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            segment, agent_ip, network_id)"},{"line_number":287,"context_line":"        other_fdb_ports \u003d other_fdb_entries[network_id][\u0027ports\u0027]"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        if agent_active_ports \u003d\u003d 1 or (l2pop_db.get_agent_uptime(agent) \u003c"},{"line_number":290,"context_line":"                                       cfg.CONF.l2pop.agent_boot_time):"},{"line_number":291,"context_line":"            # First port activated on current agent in this network,"},{"line_number":292,"context_line":"            # we have to provide it with the whole list of fdb entries"},{"line_number":293,"context_line":"            agent_fdb_entries \u003d self._create_agent_fdb(port_context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_de49b4b7","line":290,"range":{"start_line":289,"start_character":39,"end_line":290,"end_character":69},"updated":"2018-06-04 08:38:49.000000000","message":"maybe You can here reuse Your new method \"agent_restarted()\"?","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            segment, agent_ip, network_id)"},{"line_number":287,"context_line":"        other_fdb_ports \u003d other_fdb_entries[network_id][\u0027ports\u0027]"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        if agent_active_ports \u003d\u003d 1 or (l2pop_db.get_agent_uptime(agent) \u003c"},{"line_number":290,"context_line":"                                       cfg.CONF.l2pop.agent_boot_time):"},{"line_number":291,"context_line":"            # First port activated on current agent in this network,"},{"line_number":292,"context_line":"            # we have to provide it with the whole list of fdb entries"},{"line_number":293,"context_line":"            agent_fdb_entries \u003d self._create_agent_fdb(port_context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_56f337e8","line":290,"range":{"start_line":289,"start_character":39,"end_line":290,"end_character":69},"in_reply_to":"5f7c97a3_de49b4b7","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"}],"neutron/plugins/ml2/rpc.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"43f836e8a9b7a7b180876bf86bef93421a9cf43c","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                          \" notify fdb entry because agent restarted\","},{"line_number":321,"context_line":"                          {\u0027port\u0027: port_id, \u0027host\u0027: host})"},{"line_number":322,"context_line":"                l2pop_driver.obj.update_port_up(port_context)"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":"        port \u003d port_context.current"},{"line_number":325,"context_line":"        if (status \u003d\u003d n_const.PORT_STATUS_ACTIVE and"},{"line_number":326,"context_line":"            port[portbindings.HOST_ID] !\u003d host and"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5eecc48e","line":323,"updated":"2018-06-04 08:38:49.000000000","message":"can\u0027t it just be something like:\n\n    if port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and not l2pop_driver.agent_restarted(port_context):\n        return\n\nThan if agent was restarted You will treat this port as any other port and process it in L337 as any other port","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                          \" notify fdb entry because agent restarted\","},{"line_number":321,"context_line":"                          {\u0027port\u0027: port_id, \u0027host\u0027: host})"},{"line_number":322,"context_line":"                l2pop_driver.obj.update_port_up(port_context)"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":"        port \u003d port_context.current"},{"line_number":325,"context_line":"        if (status \u003d\u003d n_const.PORT_STATUS_ACTIVE and"},{"line_number":326,"context_line":"            port[portbindings.HOST_ID] !\u003d host and"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_16fdbfb0","line":323,"in_reply_to":"5f7c97a3_370b2b7e","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                          \" notify fdb entry because agent restarted\","},{"line_number":321,"context_line":"                          {\u0027port\u0027: port_id, \u0027host\u0027: host})"},{"line_number":322,"context_line":"                l2pop_driver.obj.update_port_up(port_context)"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":"        port \u003d port_context.current"},{"line_number":325,"context_line":"        if (status \u003d\u003d n_const.PORT_STATUS_ACTIVE and"},{"line_number":326,"context_line":"            port[portbindings.HOST_ID] !\u003d host and"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f6ffe3a8","line":323,"in_reply_to":"5f7c97a3_5eecc48e","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"4fdfa9990f3899912d40dd049f5e450a6b36a333","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                          \" notify fdb entry because agent restarted\","},{"line_number":321,"context_line":"                          {\u0027port\u0027: port_id, \u0027host\u0027: host})"},{"line_number":322,"context_line":"                l2pop_driver.obj.update_port_up(port_context)"},{"line_number":323,"context_line":"            return"},{"line_number":324,"context_line":"        port \u003d port_context.current"},{"line_number":325,"context_line":"        if (status \u003d\u003d n_const.PORT_STATUS_ACTIVE and"},{"line_number":326,"context_line":"            port[portbindings.HOST_ID] !\u003d host and"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_370b2b7e","line":323,"in_reply_to":"5f7c97a3_5eecc48e","updated":"2018-06-04 11:00:18.000000000","message":"Yes, It\u0027s more perfect. Thank you for your guide.","commit_id":"f7e03a2c9b798cd5abbcd17ce9d1e23f9e51b0b5"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6c85bf212dea1b41cd90a48a84d9b6ca40e76e8","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_e9738f15","line":314,"range":{"start_line":314,"start_character":10,"end_line":314,"end_character":15},"updated":"2018-06-04 17:37:15.000000000","message":"nit: handle","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6c85bf212dea1b41cd90a48a84d9b6ca40e76e8","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2901873a","line":314,"range":{"start_line":314,"start_character":70,"end_line":314,"end_character":74},"updated":"2018-06-04 17:37:15.000000000","message":"s/need to","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6c85bf212dea1b41cd90a48a84d9b6ca40e76e8","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_89ec5b90","line":314,"range":{"start_line":314,"start_character":32,"end_line":314,"end_character":65},"updated":"2018-06-04 17:37:15.000000000","message":"s/restarting the neutron-*-agent\n\n\"*\" might be better since this is generic code and not OVS-specific.","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_76a8b38b","line":314,"range":{"start_line":314,"start_character":70,"end_line":314,"end_character":74},"in_reply_to":"5f7c97a3_2901873a","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_96ad4f9d","line":314,"range":{"start_line":314,"start_character":32,"end_line":314,"end_character":65},"in_reply_to":"5f7c97a3_89ec5b90","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            return"},{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_36923b5a","line":314,"range":{"start_line":314,"start_character":10,"end_line":314,"end_character":15},"in_reply_to":"5f7c97a3_e9738f15","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"0ae35afee91f6ff73857d788ed2bebafaba235e2","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"},{"line_number":318,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0c7b79be","line":315,"updated":"2018-06-04 16:53:39.000000000","message":"Nice: This check would solve the log issue as well as the missing flow issue.\nThanks for the update patch.","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        # NOTE: DVR ports are already handled and updated through l2pop"},{"line_number":313,"context_line":"        # and so we don\u0027t need to update it again here. But, l2pop did not"},{"line_number":314,"context_line":"        # hadle DVR ports while restart neutron-openvswitch-agent, we need"},{"line_number":315,"context_line":"        # handle it here."},{"line_number":316,"context_line":"        if (port[\u0027device_owner\u0027] \u003d\u003d n_const.DEVICE_OWNER_DVR_INTERFACE and"},{"line_number":317,"context_line":"                not l2pop_driver.obj.agent_restarted(port_context)):"},{"line_number":318,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_76b3d30b","line":315,"in_reply_to":"5f7c97a3_0c7b79be","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"}],"neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f6c85bf212dea1b41cd90a48a84d9b6ca40e76e8","unresolved":false,"context_lines":[{"line_number":1399,"context_line":"        ctx.host \u003d \"__host1__\""},{"line_number":1400,"context_line":"        ctx._plugin_context \u003d {}"},{"line_number":1401,"context_line":"        agent \u003d mock.Mock()"},{"line_number":1402,"context_line":"        agent.started_at \u003d datetime.datetime(2018, 5, 25, 15, 51, 20, 0)"},{"line_number":1403,"context_line":"        agent.heartbeat_timestamp \u003d datetime.datetime(2018, 5, 25, 15,"},{"line_number":1404,"context_line":"                                                      51, 50, 0)"},{"line_number":1405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ac7365b4","line":1402,"range":{"start_line":1402,"start_character":70,"end_line":1402,"end_character":71},"updated":"2018-06-04 17:37:15.000000000","message":"nit: don\u0027t really need the microseconds since it defaults to zero anyways.","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"3d528475b8ba77d033e4fc2e2b85ee20fa305f9b","unresolved":false,"context_lines":[{"line_number":1399,"context_line":"        ctx.host \u003d \"__host1__\""},{"line_number":1400,"context_line":"        ctx._plugin_context \u003d {}"},{"line_number":1401,"context_line":"        agent \u003d mock.Mock()"},{"line_number":1402,"context_line":"        agent.started_at \u003d datetime.datetime(2018, 5, 25, 15, 51, 20, 0)"},{"line_number":1403,"context_line":"        agent.heartbeat_timestamp \u003d datetime.datetime(2018, 5, 25, 15,"},{"line_number":1404,"context_line":"                                                      51, 50, 0)"},{"line_number":1405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_568fb72d","line":1402,"range":{"start_line":1402,"start_character":70,"end_line":1402,"end_character":71},"in_reply_to":"5f7c97a3_ac7365b4","updated":"2018-06-05 05:39:35.000000000","message":"Done","commit_id":"d36de050021aecf3966f081bf5f5b8b4578f7755"}]}
