)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a209dde5c0db2ee010a014be778bc6aa1763ba32","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     shanhe \u003cshan.he@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-30 09:02:55 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"router interface port should got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bacf61ea_451c0bc1","line":7,"range":{"start_line":7,"start_character":22,"end_line":7,"end_character":28},"updated":"2016-07-30 10:15:20.000000000","message":"should? should not?","commit_id":"89795e96ce48dfa3234783e71e9495314acf6c03"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"ff5848d714526363f24513ea5701e93bdd640b08","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     shanhe \u003cshan.he@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-30 09:02:55 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"router interface port should got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bacf61ea_86da78e6","line":7,"range":{"start_line":7,"start_character":22,"end_line":7,"end_character":28},"in_reply_to":"bacf61ea_451c0bc1","updated":"2016-08-01 03:23:54.000000000","message":"sorry, it should be \u0027should not\u0027","commit_id":"89795e96ce48dfa3234783e71e9495314acf6c03"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"a209dde5c0db2ee010a014be778bc6aa1763ba32","unresolved":false,"context_lines":[{"line_number":7,"context_line":"router interface port should got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bacf61ea_e5e6dfae","line":10,"range":{"start_line":10,"start_character":12,"end_line":10,"end_character":19},"updated":"2016-07-30 10:15:20.000000000","message":"I cannot get the idea of this bug.","commit_id":"89795e96ce48dfa3234783e71e9495314acf6c03"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d2f05ad95d72054e66c84adc99eeb4b89dc87217","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     heshan \u003cshan.he@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-01 03:24:07 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"router interface port should not got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bacf61ea_8f7bab27","line":7,"range":{"start_line":7,"start_character":33,"end_line":7,"end_character":36},"updated":"2016-08-01 06:20:03.000000000","message":"nit: got-\u003eget","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"3f612fd0a2e7e511b5dd7b037cfc803aa6dd4dbe","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     heshan \u003cshan.he@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-01 03:24:07 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"router interface port should not got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bacf61ea_baa50b48","line":7,"range":{"start_line":7,"start_character":33,"end_line":7,"end_character":36},"in_reply_to":"bacf61ea_8f7bab27","updated":"2016-08-01 07:12:09.000000000","message":"ok, thanks","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d2f05ad95d72054e66c84adc99eeb4b89dc87217","unresolved":false,"context_lines":[{"line_number":7,"context_line":"router interface port should not got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bacf61ea_4fea53ad","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":19},"updated":"2016-08-01 06:20:03.000000000","message":"There should be a space after the colon(Closes-bug: #1607709), I think that is why the patch not related to the lauchpad bug.","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"3f612fd0a2e7e511b5dd7b037cfc803aa6dd4dbe","unresolved":false,"context_lines":[{"line_number":7,"context_line":"router interface port should not got chassis"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id032345908fcd43c03ff18641673333abcd4ea11"},{"line_number":10,"context_line":"Closes-bug:#1607709"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bacf61ea_15018805","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":19},"in_reply_to":"bacf61ea_4fea53ad","updated":"2016-08-01 07:12:09.000000000","message":"I\u0027ll add the space","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"}],"dragonflow/neutron/ml2/mech_driver.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d2f05ad95d72054e66c84adc99eeb4b89dc87217","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        # Router GW ports are not needed by dragonflow controller and"},{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if updated_port.get(\u0027device_owner\u0027) \\"},{"line_number":512,"context_line":"                \u003d\u003d n_const.DEVICE_OWNER_ROUTER_INTF:"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_8ff72b8a","line":512,"range":{"start_line":511,"start_character":8,"end_line":512,"end_character":51},"updated":"2016-08-01 06:20:03.000000000","message":"The pep8 will prefer using brackets to include multiple lines, for example:\n\n        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d\n            n_const.DEVICE_OWNER_ROUTER_INTF):","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"3f612fd0a2e7e511b5dd7b037cfc803aa6dd4dbe","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        # Router GW ports are not needed by dragonflow controller and"},{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if updated_port.get(\u0027device_owner\u0027) \\"},{"line_number":512,"context_line":"                \u003d\u003d n_const.DEVICE_OWNER_ROUTER_INTF:"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_9a0e4739","line":512,"range":{"start_line":511,"start_character":8,"end_line":512,"end_character":51},"in_reply_to":"bacf61ea_8ff72b8a","updated":"2016-08-01 07:12:09.000000000","message":"ok, I\u0027ll modify it","commit_id":"92530ec1b8f87caa0ad1f9e059c7316a7c4beee8"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"259504da25a6b5a63c6dbb15808a007535d1fa3b","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_dd2120fe","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"updated":"2016-08-04 07:09:19.000000000","message":"how about the DEVICE_OWNER_ROUTER_GW port? you removed it from the check which means when this gateway port involves, it has the chassis.","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"519471ac5b87e6ddf3cd4a2bbd6fdf2bde58ad4d","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa7ab95a_0be197fe","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"in_reply_to":"3ac371cc_36443673","updated":"2016-08-26 23:23:57.000000000","message":"This patch is meaningful when l3-agent takes effective when router interface is added. Because, l3-agent will add the qg interface to OVS and Dragonflow got this event and add the flow jumping from L2 to L3 pipeline. But when the  patch[1] is merged, it\u0027s not necessary I think, because Dragonflow don\u0027t depends on qg interface any more to trigger the flushing of L2-\u003eL3 jumping flows, while previously it does. Back to the patch itself(DF depends on l3 agent), in order to deploy multiple nodes of Dragonflow , we must enable DVR, so the router interface will schedule to every compute nodes, but if we assign a valid chassis to the port, the scheduler will not scheduler it every other computes nodes even though DVR is enabled. As for DEVICE_OWNER_ROUTER_GW, I think it also needs to be scheduler to every computes, so chassis of gw port should also got None value.\n\nIn conclusion, Dragonflow don\u0027t depends on the qg ports any more, so we don\u0027t need to schedule it and then the patch should be abandoned.\n\n[1] https://review.openstack.org/#/c/329806/","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"e8d37b1a78a3521ef2b1b15bbd822263fe03e961","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_36443673","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"in_reply_to":"9ad45d7e_f05c71ef","updated":"2016-08-15 04:47:07.000000000","message":"I still don\u0027t understand. You mentioned dvr, but dragonflow just implements dvr functionality but doesn\u0027t support dvr extension. if we need to set router interface port\u0027s chassis to None, how about router gateway port?\n\nif updated_port.get(\u0027device_owner\u0027) \u003d\u003d n_const.DEVICE_OWNER_ROUTER_INTF or updated_port.get(\u0027device_owner\u0027) \u003d\u003d n_const.DEVICE_OWNER_ROUTER_GW:\n    chassis \u003d None\n\nBecause you mentioned in the previous thread that router gateway port should be checked here.\n\nOn the other hand, is it possible to set host_id to None for those ports? Any drawbacks?","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"76c53d5eba3a2480f5a57d9c7263d6f819a47fb6","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_f05c71ef","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"in_reply_to":"bacf61ea_17283785","updated":"2016-08-08 11:24:53.000000000","message":"actually, current code will cause qr-xxx not to be scheduled to every compute node when DVR is enabled. The reason is that the router interface port is assigned a host, so it can not be assigned to all others.\nBut when l3 agent is removed from the df, I think that scenarios will be reproduce, because we don\u0027t need qr-xxx interface any more","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"76c53d5eba3a2480f5a57d9c7263d6f819a47fb6","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_70b6c13e","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"in_reply_to":"bacf61ea_dd2120fe","updated":"2016-08-08 11:24:53.000000000","message":"DEVICE_OWNER_ROUTER_GW should be checked here, it\u0027s a different case just as the comments say","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"5845fc932619c86e4fa4dbd9d8b531910ac8bd06","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":510,"context_line":"        # a valid ofport (or location)"},{"line_number":511,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":512,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":513,"context_line":"            chassis \u003d None"},{"line_number":514,"context_line":"        else:"},{"line_number":515,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_17283785","line":512,"range":{"start_line":512,"start_character":20,"end_line":512,"end_character":44},"in_reply_to":"bacf61ea_dd2120fe","updated":"2016-08-07 13:04:37.000000000","message":"Please also add a short explanation in the commit message what issue you are trying to solve. It is very difficult to understand why the port\u0027s chassis should be None (And why only router_interface, and not router_gw, as @LiMa pointed out.)","commit_id":"2f06955ed8c224bd84570eb219453a1fa65c50d2"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"c9395c05ebaaafb2135f39bf6317fb0e905a120a","unresolved":false,"context_lines":[{"line_number":505,"context_line":"        # they currently cause error as they couldnt be mapped to"},{"line_number":506,"context_line":"        # a valid ofport (or location)"},{"line_number":507,"context_line":"        if (updated_port.get(\u0027device_owner\u0027) \u003d\u003d"},{"line_number":508,"context_line":"            n_const.DEVICE_OWNER_ROUTER_INTF):"},{"line_number":509,"context_line":"            chassis \u003d None"},{"line_number":510,"context_line":"        else:"},{"line_number":511,"context_line":"            chassis \u003d updated_port.get(\u0027binding:host_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_b729ec8b","line":508,"range":{"start_line":508,"start_character":20,"end_line":508,"end_character":44},"updated":"2016-08-27 02:14:52.000000000","message":"device_owner \u003d\u003d DEVICE_OWNER_ROUTER_INTF or\ndevice_owner \u003d\u003d DEVICE_OWNER_ROUTER_GW\nmay be better.\nupdate the comments also.","commit_id":"75754369fa8a18919205a660ed714f911f5973c0"}]}
