)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"94165deeae800639a923ce422bad32909487e832","unresolved":false,"context_lines":[{"line_number":19,"context_line":"routing to occur in the compute host and the DNAT or Floating IP will be"},{"line_number":20,"context_line":"configured in the centralized network node."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Still the fast exit path for address scopes will be valid from the compute"},{"line_number":23,"context_line":"host through the fip namespace."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Ia5d7336e478e0fa5ba62b7ae5ed0c56656116d94"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff346bd7_6ac4c95f","line":22,"updated":"2017-07-27 00:16:47.000000000","message":"We don\u0027t want this, in the use case we are solving, the compute nodes have no external network connectivity so they would have no way to fast exit a packet onto the external network.\n\nperhapse the option should be called \u0027dvr_no_external\u0027 to make that clear.","commit_id":"ed1ff9933d332d171fcbdf4c95e64c3f99b8cc46"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"98a1622f394299f375beda0faebaaba9721d05aa","unresolved":false,"context_lines":[{"line_number":19,"context_line":"routing to occur in the compute host and the DNAT or Floating IP will be"},{"line_number":20,"context_line":"configured in the centralized network node."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Still the fast exit path for address scopes will be valid from the compute"},{"line_number":23,"context_line":"host through the fip namespace."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: Ia5d7336e478e0fa5ba62b7ae5ed0c56656116d94"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff346bd7_978cb57f","line":22,"in_reply_to":"ff346bd7_6ac4c95f","updated":"2017-07-27 01:31:40.000000000","message":"No problem, we can fix it.","commit_id":"ed1ff9933d332d171fcbdf4c95e64c3f99b8cc46"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In order to have a well defined behavior and when there are"},{"line_number":15,"context_line":"no external network connectivity available in the compute host,"},{"line_number":16,"context_line":", the DNAT functionality is centralized."},{"line_number":17,"context_line":"In order to achieve this we are introducing a new agent type"},{"line_number":18,"context_line":"option \u0027dvr_no_fip\u0027 to centralize the DNAT."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"ff346bd7_9a34aadf","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":2},"updated":"2017-07-28 06:39:54.000000000","message":"nit: remove","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In order to have a well defined behavior and when there are"},{"line_number":15,"context_line":"no external network connectivity available in the compute host,"},{"line_number":16,"context_line":", the DNAT functionality is centralized."},{"line_number":17,"context_line":"In order to achieve this we are introducing a new agent type"},{"line_number":18,"context_line":"option \u0027dvr_no_fip\u0027 to centralize the DNAT."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"df3967d1_0ef5dacb","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":2},"in_reply_to":"ff346bd7_9a34aadf","updated":"2017-07-29 00:34:20.000000000","message":"will fix it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"no external network connectivity available in the compute host,"},{"line_number":16,"context_line":", the DNAT functionality is centralized."},{"line_number":17,"context_line":"In order to achieve this we are introducing a new agent type"},{"line_number":18,"context_line":"option \u0027dvr_no_fip\u0027 to centralize the DNAT."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This new L3 agent type (\u0027dvr_no_fip\u0027) would only allow the East/West"},{"line_number":21,"context_line":"routing to occur in the compute host and the DNAT or Floating IP will be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"ff346bd7_5a50820b","line":18,"range":{"start_line":18,"start_character":8,"end_line":18,"end_character":18},"updated":"2017-07-28 06:39:54.000000000","message":"weren\u0027t you going to rename to dvr_no_external?","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"no external network connectivity available in the compute host,"},{"line_number":16,"context_line":", the DNAT functionality is centralized."},{"line_number":17,"context_line":"In order to achieve this we are introducing a new agent type"},{"line_number":18,"context_line":"option \u0027dvr_no_fip\u0027 to centralize the DNAT."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This new L3 agent type (\u0027dvr_no_fip\u0027) would only allow the East/West"},{"line_number":21,"context_line":"routing to occur in the compute host and the DNAT or Floating IP will be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"df3967d1_ee0176b1","line":18,"range":{"start_line":18,"start_character":8,"end_line":18,"end_character":18},"in_reply_to":"ff346bd7_5a50820b","updated":"2017-07-29 00:34:20.000000000","message":"Yes will fix it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7ca227aaddc49d4fcf28565d6229551111a65d0c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"In order to achieve this we are introducing a new agent type"},{"line_number":18,"context_line":"option \u0027dvr_no_external\u0027 to centralize the DNAT."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This new L3 agent type (\u0027dvr_no_external\u0027) would only allow the East/West"},{"line_number":21,"context_line":"routing to occur in the compute host and the DNAT or Floating IP will be"},{"line_number":22,"context_line":"configured in the centralized network node."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"9f436f4f_8993b1fa","line":20,"range":{"start_line":20,"start_character":72,"end_line":20,"end_character":73},"updated":"2017-08-10 21:21:53.000000000","message":"A little too long","commit_id":"4d9bc99cf57e209d578db47cd67ccb7c85c34d65"}],"neutron/agent/l3/agent.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1b9e72ab3b0a2bd32a797cdb065721bc811f1a9","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        chunk \u003d []"},{"line_number":566,"context_line":"        is_snat_agent \u003d (self.conf.agent_mode \u003d\u003d"},{"line_number":567,"context_line":"                         lib_const.L3_AGENT_MODE_DVR_SNAT)"},{"line_number":568,"context_line":"        is_dvr_only_agent \u003d ((self.conf.agent_mode \u003d\u003d"},{"line_number":569,"context_line":"                              lib_const.L3_AGENT_MODE_DVR) or"},{"line_number":570,"context_line":"                             (self.conf.agent_mode \u003d\u003d"},{"line_number":571,"context_line":"                              l3_constants.L3_AGENT_MODE_DVR_NO_FIP))"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_786c1236","line":568,"range":{"start_line":568,"start_character":30,"end_line":568,"end_character":50},"updated":"2017-07-24 12:35:37.000000000","message":"consider \"self.conf.agent_mode in [...]\"","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"046e6fc419dd5f67d33d240bf05286ed8d4aba31","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        chunk \u003d []"},{"line_number":566,"context_line":"        is_snat_agent \u003d (self.conf.agent_mode \u003d\u003d"},{"line_number":567,"context_line":"                         lib_const.L3_AGENT_MODE_DVR_SNAT)"},{"line_number":568,"context_line":"        is_dvr_only_agent \u003d ((self.conf.agent_mode \u003d\u003d"},{"line_number":569,"context_line":"                              lib_const.L3_AGENT_MODE_DVR) or"},{"line_number":570,"context_line":"                             (self.conf.agent_mode \u003d\u003d"},{"line_number":571,"context_line":"                              l3_constants.L3_AGENT_MODE_DVR_NO_FIP))"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_4d2bb893","line":568,"range":{"start_line":568,"start_character":30,"end_line":568,"end_character":50},"in_reply_to":"ff346bd7_786c1236","updated":"2017-07-24 23:44:20.000000000","message":"will fix it.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"}],"neutron/common/constants.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1b9e72ab3b0a2bd32a797cdb065721bc811f1a9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"FLOATINGIP_AGENT_INTF_KEY \u003d \u0027_floatingip_agent_interfaces\u0027"},{"line_number":30,"context_line":"SNAT_ROUTER_INTF_KEY \u003d \u0027_snat_router_interfaces\u0027"},{"line_number":31,"context_line":"DVR_SNAT_BOUND \u003d \u0027dvr_snat_bound\u0027"},{"line_number":32,"context_line":"L3_AGENT_MODE_DVR_NO_FIP \u003d \u0027dvr_no_fip\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"HA_NETWORK_NAME \u003d \u0027HA network tenant %s\u0027"},{"line_number":35,"context_line":"HA_SUBNET_NAME \u003d \u0027HA subnet tenant %s\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_9860d634","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":24},"updated":"2017-07-24 12:35:37.000000000","message":"so the process is to land in master first in then move to neutron_lib?","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"046e6fc419dd5f67d33d240bf05286ed8d4aba31","unresolved":false,"context_lines":[{"line_number":29,"context_line":"FLOATINGIP_AGENT_INTF_KEY \u003d \u0027_floatingip_agent_interfaces\u0027"},{"line_number":30,"context_line":"SNAT_ROUTER_INTF_KEY \u003d \u0027_snat_router_interfaces\u0027"},{"line_number":31,"context_line":"DVR_SNAT_BOUND \u003d \u0027dvr_snat_bound\u0027"},{"line_number":32,"context_line":"L3_AGENT_MODE_DVR_NO_FIP \u003d \u0027dvr_no_fip\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"HA_NETWORK_NAME \u003d \u0027HA network tenant %s\u0027"},{"line_number":35,"context_line":"HA_SUBNET_NAME \u003d \u0027HA subnet tenant %s\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_08047e14","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":24},"in_reply_to":"ff346bd7_9860d634","updated":"2017-07-24 23:44:20.000000000","message":"That\u0027s what I thought? Let me know if you need these constants to be declared first in neutron-lib.\nI have two constants here that are dependent. \u0027dvr_snat_bound and \u0027dvr_no_fip\u0027.\nOnce the patch merges, then we can move these to the neutron-lib or add it in parallel and remove one from the master.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"}],"neutron/conf/agent/l3/config.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                      \"functionality and must be used for an L3 agent \""},{"line_number":38,"context_line":"                      \"that runs on a compute host. \u0027dvr_snat\u0027 - this \""},{"line_number":39,"context_line":"                      \"enables centralized SNAT support in conjunction \""},{"line_number":40,"context_line":"                      \"with DVR.  This mode must be used for an L3 agent \""},{"line_number":41,"context_line":"                      \"running on a centralized node (or in single-host \""},{"line_number":42,"context_line":"                      \"deployments, e.g. devstack). \""},{"line_number":43,"context_line":"                      \"\u0027dvr_no_external\u0027 - this mode enables only East/West \""}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_496a8a80","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":34},"updated":"2017-08-01 03:26:03.000000000","message":"Normally I would never say to modify lines outside a change, but I can\u0027t help myself here since we\u0027re adding so much :)","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                      \"running on a centralized node (or in single-host \""},{"line_number":42,"context_line":"                      \"deployments, e.g. devstack). \""},{"line_number":43,"context_line":"                      \"\u0027dvr_no_external\u0027 - this mode enables only East/West \""},{"line_number":44,"context_line":"                      \"routing functionality through DVR routers, the \""},{"line_number":45,"context_line":"                      \"North/South functionality such as DNAT and SNAT \""},{"line_number":46,"context_line":"                      \"will be provided by the centralized network node \""},{"line_number":47,"context_line":"                      \"that is running in \u0027dvr_snat\u0027 mode. \""}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_093c8291","line":44,"range":{"start_line":44,"start_character":23,"end_line":44,"end_character":64},"updated":"2017-08-01 03:26:03.000000000","message":"s/DVR routing functionality for an L3 agent that runs on a compute host,","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                      \"running on a centralized node (or in single-host \""},{"line_number":42,"context_line":"                      \"deployments, e.g. devstack). \""},{"line_number":43,"context_line":"                      \"\u0027dvr_no_external\u0027 - this mode enables only East/West \""},{"line_number":44,"context_line":"                      \"routing functionality through DVR routers, the \""},{"line_number":45,"context_line":"                      \"North/South functionality such as DNAT and SNAT \""},{"line_number":46,"context_line":"                      \"will be provided by the centralized network node \""},{"line_number":47,"context_line":"                      \"that is running in \u0027dvr_snat\u0027 mode. \""}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_616ac7b3","line":44,"range":{"start_line":44,"start_character":23,"end_line":44,"end_character":64},"in_reply_to":"df3967d1_093c8291","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                      \"North/South functionality such as DNAT and SNAT \""},{"line_number":46,"context_line":"                      \"will be provided by the centralized network node \""},{"line_number":47,"context_line":"                      \"that is running in \u0027dvr_snat\u0027 mode. \""},{"line_number":48,"context_line":"                      \"This agent mode should be used when there is no \""},{"line_number":49,"context_line":"                      \"external network connectivity on the compute host.\")),"},{"line_number":50,"context_line":"    cfg.PortOpt(\u0027metadata_port\u0027,"},{"line_number":51,"context_line":"                default\u003d9697,"}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_8947521e","line":48,"range":{"start_line":48,"start_character":28,"end_line":48,"end_character":33},"updated":"2017-08-01 03:26:03.000000000","message":"i\u0027d delete \u0027agent\u0027 here","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                      \"North/South functionality such as DNAT and SNAT \""},{"line_number":46,"context_line":"                      \"will be provided by the centralized network node \""},{"line_number":47,"context_line":"                      \"that is running in \u0027dvr_snat\u0027 mode. \""},{"line_number":48,"context_line":"                      \"This agent mode should be used when there is no \""},{"line_number":49,"context_line":"                      \"external network connectivity on the compute host.\")),"},{"line_number":50,"context_line":"    cfg.PortOpt(\u0027metadata_port\u0027,"},{"line_number":51,"context_line":"                default\u003d9697,"}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_c19e13b7","line":48,"range":{"start_line":48,"start_character":28,"end_line":48,"end_character":33},"in_reply_to":"df3967d1_8947521e","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"}],"neutron/db/l3_agentschedulers_db.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1b9e72ab3b0a2bd32a797cdb065721bc811f1a9","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        agent_mode \u003d self._get_agent_mode(agent)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":113,"context_line":"            raise l3agentscheduler.DVRL3CannotAssignToDvrAgent()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":116,"context_line":"            raise l3agentscheduler.DVRL3CannotAssignToDvrAgent()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if (agent_mode \u003d\u003d constants.L3_AGENT_MODE_LEGACY and"},{"line_number":119,"context_line":"            router.get(\u0027distributed\u0027)):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_b89efa04","line":116,"range":{"start_line":112,"start_character":8,"end_line":116,"end_character":64},"updated":"2017-07-24 12:35:37.000000000","message":"if agent_mode in [..]:\n    raise l3agentscheduler.DVRL3CannotAssignToDvrAgent()","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"046e6fc419dd5f67d33d240bf05286ed8d4aba31","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        agent_mode \u003d self._get_agent_mode(agent)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":113,"context_line":"            raise l3agentscheduler.DVRL3CannotAssignToDvrAgent()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":116,"context_line":"            raise l3agentscheduler.DVRL3CannotAssignToDvrAgent()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if (agent_mode \u003d\u003d constants.L3_AGENT_MODE_LEGACY and"},{"line_number":119,"context_line":"            router.get(\u0027distributed\u0027)):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_a840d236","line":116,"range":{"start_line":112,"start_character":8,"end_line":116,"end_character":64},"in_reply_to":"ff346bd7_b89efa04","updated":"2017-07-24 23:44:20.000000000","message":"Will fix it.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"9439f2910481ebb1819d44e1bd13171a238286d6","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":200,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":203,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":204,"context_line":"        self._unbind_router(context, router_id, agent_id)"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_3805ed46","line":202,"updated":"2017-07-28 01:05:23.000000000","message":"Why not write like L112.:)","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":200,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":203,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":204,"context_line":"        self._unbind_router(context, router_id, agent_id)"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_3aa13ef9","line":202,"in_reply_to":"ff346bd7_3805ed46","updated":"2017-07-28 06:39:54.000000000","message":"+1","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":200,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":203,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":204,"context_line":"        self._unbind_router(context, router_id, agent_id)"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"df3967d1_ae2dae47","line":202,"in_reply_to":"ff346bd7_3805ed46","updated":"2017-07-29 00:34:20.000000000","message":"will fix it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        if agent_mode \u003d\u003d constants.L3_AGENT_MODE_DVR:"},{"line_number":200,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        if agent_mode \u003d\u003d l_consts.L3_AGENT_MODE_DVR_NO_FIP:"},{"line_number":203,"context_line":"            raise l3agentscheduler.DVRL3CannotRemoveFromDvrAgent()"},{"line_number":204,"context_line":"        self._unbind_router(context, router_id, agent_id)"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"df3967d1_cefeb2ad","line":202,"in_reply_to":"ff346bd7_3aa13ef9","updated":"2017-07-29 00:34:20.000000000","message":"Will fix it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"}],"neutron/db/l3_dvr_db.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1b9e72ab3b0a2bd32a797cdb065721bc811f1a9","unresolved":false,"context_lines":[{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def get_dvr_snat_agent_list(self, context):"},{"line_number":972,"context_line":"        agent_filters \u003d {\u0027agent_modes\u0027: [const.L3_AGENT_MODE_DVR_SNAT]}"},{"line_number":973,"context_line":"        agent_list \u003d self.get_l3_agents(context, active\u003dTrue,"},{"line_number":974,"context_line":"                                        filters\u003dagent_filters)"},{"line_number":975,"context_line":"        return agent_list"},{"line_number":976,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_187d06b1","line":973,"range":{"start_line":973,"start_character":8,"end_line":973,"end_character":20},"updated":"2017-07-24 12:35:37.000000000","message":"return self.get_l3_agents(...)","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"046e6fc419dd5f67d33d240bf05286ed8d4aba31","unresolved":false,"context_lines":[{"line_number":970,"context_line":""},{"line_number":971,"context_line":"    def get_dvr_snat_agent_list(self, context):"},{"line_number":972,"context_line":"        agent_filters \u003d {\u0027agent_modes\u0027: [const.L3_AGENT_MODE_DVR_SNAT]}"},{"line_number":973,"context_line":"        agent_list \u003d self.get_l3_agents(context, active\u003dTrue,"},{"line_number":974,"context_line":"                                        filters\u003dagent_filters)"},{"line_number":975,"context_line":"        return agent_list"},{"line_number":976,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_e86ffac2","line":973,"range":{"start_line":973,"start_character":8,"end_line":973,"end_character":20},"in_reply_to":"ff346bd7_187d06b1","updated":"2017-07-24 23:44:20.000000000","message":"Will fix it.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1b9e72ab3b0a2bd32a797cdb065721bc811f1a9","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1016,"context_line":"                        context, [router_id], dest_host)"},{"line_number":1017,"context_line":"            else:"},{"line_number":1018,"context_line":"                centralized_agent_list \u003d self.get_dvr_snat_agent_list(context)"},{"line_number":1019,"context_line":"                for agent in centralized_agent_list:"},{"line_number":1020,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1021,"context_line":"                        context, [router_id], agent.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_182bc694","line":1018,"range":{"start_line":1018,"start_character":16,"end_line":1018,"end_character":78},"updated":"2017-07-24 12:35:37.000000000","message":"should we notify only the snat agent where router is scheduled?","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"046e6fc419dd5f67d33d240bf05286ed8d4aba31","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1016,"context_line":"                        context, [router_id], dest_host)"},{"line_number":1017,"context_line":"            else:"},{"line_number":1018,"context_line":"                centralized_agent_list \u003d self.get_dvr_snat_agent_list(context)"},{"line_number":1019,"context_line":"                for agent in centralized_agent_list:"},{"line_number":1020,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1021,"context_line":"                        context, [router_id], agent.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_c882f64f","line":1018,"range":{"start_line":1018,"start_character":16,"end_line":1018,"end_character":78},"in_reply_to":"ff346bd7_182bc694","updated":"2017-07-24 23:44:20.000000000","message":"I am thinking about it, what might be right. If there are SNAT HA enabled, still should we be sending it only one snat host whose gateway port-binding matches with the scheduled one.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"598ede8c0085653d4315714ee3c958e2809a01ff","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1016,"context_line":"                        context, [router_id], dest_host)"},{"line_number":1017,"context_line":"            else:"},{"line_number":1018,"context_line":"                centralized_agent_list \u003d self.get_dvr_snat_agent_list(context)"},{"line_number":1019,"context_line":"                for agent in centralized_agent_list:"},{"line_number":1020,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1021,"context_line":"                        context, [router_id], agent.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_44645c4a","line":1018,"range":{"start_line":1018,"start_character":16,"end_line":1018,"end_character":78},"in_reply_to":"ff346bd7_74875d11","updated":"2017-07-26 23:02:58.000000000","message":"Then probably we should use \u0027list_l3_agents_hosting_router()\u0027.\nI will update it and push a patch for review.","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b5aa72967e27b4863880fc8b568a8bc05ccab3c7","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1016,"context_line":"                        context, [router_id], dest_host)"},{"line_number":1017,"context_line":"            else:"},{"line_number":1018,"context_line":"                centralized_agent_list \u003d self.get_dvr_snat_agent_list(context)"},{"line_number":1019,"context_line":"                for agent in centralized_agent_list:"},{"line_number":1020,"context_line":"                    self.l3_rpc_notifier.routers_updated_on_host("},{"line_number":1021,"context_line":"                        context, [router_id], agent.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_74875d11","line":1018,"range":{"start_line":1018,"start_character":16,"end_line":1018,"end_character":78},"in_reply_to":"ff346bd7_c882f64f","updated":"2017-07-25 07:18:04.000000000","message":"For HA routers I believe list_l3_agents_hosting_router() returns all snat nodes where router is scheduled","commit_id":"3c0fa0ea16171a7ef9b414cf50c4aac4fd7bcbaf"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":724,"context_line":"                        context,"},{"line_number":725,"context_line":"                        filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":726,"context_line":"                    l3_agent_mode \u003d self._get_agent_mode("},{"line_number":727,"context_line":"                        l3_agent_on_host[0])"},{"line_number":728,"context_line":"                    # If the agent requesting is dvr_snat but"},{"line_number":729,"context_line":"                    # the portbinding host resides in dvr_no_fip"},{"line_number":730,"context_line":"                    # agent then include the port."}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_9ae5ca3a","line":727,"range":{"start_line":727,"start_character":24,"end_line":727,"end_character":40},"updated":"2017-07-28 06:39:54.000000000","message":"please handle empty list case","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":724,"context_line":"                        context,"},{"line_number":725,"context_line":"                        filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":726,"context_line":"                    l3_agent_mode \u003d self._get_agent_mode("},{"line_number":727,"context_line":"                        l3_agent_on_host[0])"},{"line_number":728,"context_line":"                    # If the agent requesting is dvr_snat but"},{"line_number":729,"context_line":"                    # the portbinding host resides in dvr_no_fip"},{"line_number":730,"context_line":"                    # agent then include the port."}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_d571e377","line":727,"range":{"start_line":727,"start_character":24,"end_line":727,"end_character":40},"in_reply_to":"ff346bd7_9ae5ca3a","updated":"2017-07-29 00:34:20.000000000","message":"Sure.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":725,"context_line":"                        filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":726,"context_line":"                    l3_agent_mode \u003d self._get_agent_mode("},{"line_number":727,"context_line":"                        l3_agent_on_host[0])"},{"line_number":728,"context_line":"                    # If the agent requesting is dvr_snat but"},{"line_number":729,"context_line":"                    # the portbinding host resides in dvr_no_fip"},{"line_number":730,"context_line":"                    # agent then include the port."},{"line_number":731,"context_line":"                    if l3_agent_mode \u003d\u003d l3_const.L3_AGENT_MODE_DVR_NO_FIP:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_9abeeafc","line":728,"range":{"start_line":728,"start_character":22,"end_line":728,"end_character":57},"updated":"2017-07-28 06:39:54.000000000","message":"where do we check this?","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":725,"context_line":"                        filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":726,"context_line":"                    l3_agent_mode \u003d self._get_agent_mode("},{"line_number":727,"context_line":"                        l3_agent_on_host[0])"},{"line_number":728,"context_line":"                    # If the agent requesting is dvr_snat but"},{"line_number":729,"context_line":"                    # the portbinding host resides in dvr_no_fip"},{"line_number":730,"context_line":"                    # agent then include the port."},{"line_number":731,"context_line":"                    if l3_agent_mode \u003d\u003d l3_const.L3_AGENT_MODE_DVR_NO_FIP:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_f5762770","line":728,"range":{"start_line":728,"start_character":22,"end_line":728,"end_character":57},"in_reply_to":"ff346bd7_9abeeafc","updated":"2017-07-29 00:34:20.000000000","message":"Right now it is just the dvr_snat agent that would be requesting since that\u0027s were we are scheduling this floating_ip.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"00f82953c6f886cf96ad95884444678077154eb8","unresolved":false,"context_lines":[{"line_number":736,"context_line":"                if vm_port:"},{"line_number":737,"context_line":"                    port_host \u003d vm_port[portbindings.HOST_ID]"},{"line_number":738,"context_line":"                    if port_host:"},{"line_number":739,"context_line":"                        l3_agent_on_host \u003d self.get_l3_agents("},{"line_number":740,"context_line":"                            context,"},{"line_number":741,"context_line":"                            filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":742,"context_line":"                        l3_agent_mode \u003d self._get_agent_mode("},{"line_number":743,"context_line":"                            l3_agent_on_host[0])"},{"line_number":744,"context_line":"                        fip[\u0027host\u0027] \u003d port_host"},{"line_number":745,"context_line":"                        fip[\u0027dest_host\u0027] \u003d ("},{"line_number":746,"context_line":"                            self._get_dvr_migrating_service_port_hostid("}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_fa105602","line":743,"range":{"start_line":739,"start_character":24,"end_line":743,"end_character":48},"updated":"2017-07-28 06:39:54.000000000","message":"rather than doing db queries twice can we just mark all such ports at #732 and use this info in this loop?","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":736,"context_line":"                if vm_port:"},{"line_number":737,"context_line":"                    port_host \u003d vm_port[portbindings.HOST_ID]"},{"line_number":738,"context_line":"                    if port_host:"},{"line_number":739,"context_line":"                        l3_agent_on_host \u003d self.get_l3_agents("},{"line_number":740,"context_line":"                            context,"},{"line_number":741,"context_line":"                            filters\u003d{\u0027host\u0027: [port_host]})"},{"line_number":742,"context_line":"                        l3_agent_mode \u003d self._get_agent_mode("},{"line_number":743,"context_line":"                            l3_agent_on_host[0])"},{"line_number":744,"context_line":"                        fip[\u0027host\u0027] \u003d port_host"},{"line_number":745,"context_line":"                        fip[\u0027dest_host\u0027] \u003d ("},{"line_number":746,"context_line":"                            self._get_dvr_migrating_service_port_hostid("}],"source_content_type":"text/x-python","patch_set":13,"id":"df3967d1_8e32eaa6","line":743,"range":{"start_line":739,"start_character":24,"end_line":743,"end_character":48},"in_reply_to":"ff346bd7_fa105602","updated":"2017-07-29 00:34:20.000000000","message":"Yes will fix it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"9439f2910481ebb1819d44e1bd13171a238286d6","unresolved":false,"context_lines":[{"line_number":759,"context_line":"                    # Handle the case were there is no host binding"},{"line_number":760,"context_line":"                    # for the private ports that are associated with"},{"line_number":761,"context_line":"                    # floating ip."},{"line_number":762,"context_line":"                    if not fip[\u0027host\u0027] or fip[\u0027host\u0027] is None:"},{"line_number":763,"context_line":"                        fip[l3_const.DVR_SNAT_BOUND] \u003d True"},{"line_number":764,"context_line":"        routers_dict \u003d self._process_routers(context, routers, agent)"},{"line_number":765,"context_line":"        self._process_floating_ips_dvr(context, routers_dict,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ff346bd7_53b412d1","line":762,"range":{"start_line":762,"start_character":0,"end_line":762,"end_character":62},"updated":"2017-07-28 01:05:23.000000000","message":"What the difference about the conditions of this line..","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"45f58036b36329b5bed084a8f40dc3f8645cd61c","unresolved":false,"context_lines":[{"line_number":759,"context_line":"                    # Handle the case were there is no host binding"},{"line_number":760,"context_line":"                    # for the private ports that are associated with"},{"line_number":761,"context_line":"                    # floating ip."},{"line_number":762,"context_line":"                    if not fip[\u0027host\u0027] or fip[\u0027host\u0027] is None:"},{"line_number":763,"context_line":"                        fip[l3_const.DVR_SNAT_BOUND] \u003d True"},{"line_number":764,"context_line":"        routers_dict \u003d self._process_routers(context, routers, agent)"},{"line_number":765,"context_line":"        self._process_floating_ips_dvr(context, routers_dict,"}],"source_content_type":"text/x-python","patch_set":13,"id":"df3967d1_4e2c0247","line":762,"range":{"start_line":762,"start_character":0,"end_line":762,"end_character":62},"in_reply_to":"ff346bd7_53b412d1","updated":"2017-07-29 00:34:20.000000000","message":"My bad I was testing it and kind of let it go. Will remove it.","commit_id":"5eb2ac4bf2853493c678f06008a0a33f340c68c4"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                    context, host)"},{"line_number":1025,"context_line":"                agent_mode \u003d self._get_agent_mode(l3_agent_on_host[0])"},{"line_number":1026,"context_line":"                if agent_mode \u003d\u003d l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL:"},{"line_number":1027,"context_line":"                    # If the agent hosting the fixed port is on"},{"line_number":1028,"context_line":"                    # \u0027dvr_no_external\u0027 mode, then set the host to None,"},{"line_number":1029,"context_line":"                    # since we would be centralizing the floatingip for"},{"line_number":1030,"context_line":"                    # those fixed_ports."}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_c9bafadc","line":1027,"range":{"start_line":1027,"start_character":61,"end_line":1027,"end_character":63},"updated":"2017-08-01 03:26:03.000000000","message":"s/in","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                    context, host)"},{"line_number":1025,"context_line":"                agent_mode \u003d self._get_agent_mode(l3_agent_on_host[0])"},{"line_number":1026,"context_line":"                if agent_mode \u003d\u003d l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL:"},{"line_number":1027,"context_line":"                    # If the agent hosting the fixed port is on"},{"line_number":1028,"context_line":"                    # \u0027dvr_no_external\u0027 mode, then set the host to None,"},{"line_number":1029,"context_line":"                    # since we would be centralizing the floatingip for"},{"line_number":1030,"context_line":"                    # those fixed_ports."}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_419343a4","line":1027,"range":{"start_line":1027,"start_character":61,"end_line":1027,"end_character":63},"in_reply_to":"df3967d1_c9bafadc","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7ca227aaddc49d4fcf28565d6229551111a65d0c","unresolved":false,"context_lines":[{"line_number":731,"context_line":"                        # the portbinding host resides in dvr_no_external"},{"line_number":732,"context_line":"                        # agent then include the port."},{"line_number":733,"context_line":"                        requesting_agent_mode \u003d self._get_agent_mode(agent)"},{"line_number":734,"context_line":"                        if (l3_agent_mode \u003d\u003d ("},{"line_number":735,"context_line":"                            l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL) and"},{"line_number":736,"context_line":"                            requesting_agent_mode \u003d\u003d ("},{"line_number":737,"context_line":"                            const.L3_AGENT_MODE_DVR_SNAT)):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f436f4f_c62528c4","line":734,"range":{"start_line":734,"start_character":45,"end_line":734,"end_character":46},"updated":"2017-08-10 21:21:53.000000000","message":"Not needed. This parenthesis makes the expression a little confusing","commit_id":"4d9bc99cf57e209d578db47cd67ccb7c85c34d65"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7ca227aaddc49d4fcf28565d6229551111a65d0c","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                        # agent then include the port."},{"line_number":733,"context_line":"                        requesting_agent_mode \u003d self._get_agent_mode(agent)"},{"line_number":734,"context_line":"                        if (l3_agent_mode \u003d\u003d ("},{"line_number":735,"context_line":"                            l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL) and"},{"line_number":736,"context_line":"                            requesting_agent_mode \u003d\u003d ("},{"line_number":737,"context_line":"                            const.L3_AGENT_MODE_DVR_SNAT)):"},{"line_number":738,"context_line":"                            port[\u0027agent\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":19,"id":"9f436f4f_a620e4b1","line":735,"range":{"start_line":735,"start_character":66,"end_line":735,"end_character":67},"updated":"2017-08-10 21:21:53.000000000","message":"Ditto","commit_id":"4d9bc99cf57e209d578db47cd67ccb7c85c34d65"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7ca227aaddc49d4fcf28565d6229551111a65d0c","unresolved":false,"context_lines":[{"line_number":733,"context_line":"                        requesting_agent_mode \u003d self._get_agent_mode(agent)"},{"line_number":734,"context_line":"                        if (l3_agent_mode \u003d\u003d ("},{"line_number":735,"context_line":"                            l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL) and"},{"line_number":736,"context_line":"                            requesting_agent_mode \u003d\u003d ("},{"line_number":737,"context_line":"                            const.L3_AGENT_MODE_DVR_SNAT)):"},{"line_number":738,"context_line":"                            port[\u0027agent\u0027] \u003d ("},{"line_number":739,"context_line":"                                l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL)"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f436f4f_862f20a0","line":736,"range":{"start_line":736,"start_character":53,"end_line":736,"end_character":54},"updated":"2017-08-10 21:21:53.000000000","message":"Ditto","commit_id":"4d9bc99cf57e209d578db47cd67ccb7c85c34d65"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7ca227aaddc49d4fcf28565d6229551111a65d0c","unresolved":false,"context_lines":[{"line_number":734,"context_line":"                        if (l3_agent_mode \u003d\u003d ("},{"line_number":735,"context_line":"                            l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL) and"},{"line_number":736,"context_line":"                            requesting_agent_mode \u003d\u003d ("},{"line_number":737,"context_line":"                            const.L3_AGENT_MODE_DVR_SNAT)):"},{"line_number":738,"context_line":"                            port[\u0027agent\u0027] \u003d ("},{"line_number":739,"context_line":"                                l3_const.L3_AGENT_MODE_DVR_NO_EXTERNAL)"},{"line_number":740,"context_line":"                            port_dict.update({port[\u0027id\u0027]: port})"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f436f4f_e6170c51","line":737,"range":{"start_line":737,"start_character":56,"end_line":737,"end_character":57},"updated":"2017-08-10 21:21:53.000000000","message":"Ditto","commit_id":"4d9bc99cf57e209d578db47cd67ccb7c85c34d65"}],"neutron/db/l3_dvrscheduler_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":46,"context_line":"       This includes E/W traffic between VMs on the same Compute Node."},{"line_number":47,"context_line":"     - North/South traffic for Floating IPs (FIP N/S): this is supported on the"},{"line_number":48,"context_line":"       distributed routers on Compute Nodes when there is external network"},{"line_number":49,"context_line":"       connectivity and on centralized nodes when the port is unbound or when"},{"line_number":50,"context_line":"       the agent is configured as \u0027dvr_no_external\u0027."},{"line_number":51,"context_line":"     - North/South traffic for SNAT (SNAT N/S): this is supported via a"},{"line_number":52,"context_line":"       centralized element that handles the SNAT traffic."}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_89919255","line":49,"range":{"start_line":49,"start_character":62,"end_line":49,"end_character":69},"updated":"2017-08-01 03:26:03.000000000","message":"In the other review we were using \u0027unbound\u0027 and it\u0027s maybe carried-over here, but this should maybe say something like \"...on centralized nodes when the port is bound there...\" ?","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":46,"context_line":"       This includes E/W traffic between VMs on the same Compute Node."},{"line_number":47,"context_line":"     - North/South traffic for Floating IPs (FIP N/S): this is supported on the"},{"line_number":48,"context_line":"       distributed routers on Compute Nodes when there is external network"},{"line_number":49,"context_line":"       connectivity and on centralized nodes when the port is unbound or when"},{"line_number":50,"context_line":"       the agent is configured as \u0027dvr_no_external\u0027."},{"line_number":51,"context_line":"     - North/South traffic for SNAT (SNAT N/S): this is supported via a"},{"line_number":52,"context_line":"       centralized element that handles the SNAT traffic."}],"source_content_type":"text/x-python","patch_set":16,"id":"df3967d1_4146a323","line":49,"range":{"start_line":49,"start_character":62,"end_line":49,"end_character":69},"in_reply_to":"df3967d1_89919255","updated":"2017-08-02 18:04:22.000000000","message":"This is a generic statement so for the North/South case we need to say on what conditions the North/South floating IP will be centralized.","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"}],"releasenotes/notes/dvr-configure-centralized-floatingip-with-new-agent-type-05361f1f78853cf7.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_897ab221","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":20},"updated":"2017-08-01 03:26:03.000000000","message":"s/agent_mode","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_c99d5a5a","line":3,"range":{"start_line":3,"start_character":36,"end_line":3,"end_character":37},"updated":"2017-08-01 03:26:03.000000000","message":"s/has been added to allow...","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_0101ba05","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":20},"in_reply_to":"df3967d1_897ab221","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_61608702","line":3,"range":{"start_line":3,"start_character":36,"end_line":3,"end_character":37},"in_reply_to":"df3967d1_c99d5a5a","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_29b866c6","line":4,"range":{"start_line":4,"start_character":59,"end_line":4,"end_character":75},"updated":"2017-08-01 03:26:03.000000000","message":"period here?\n(``dvr_snat`` node)","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_a9a21699","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":15},"updated":"2017-08-01 03:26:03.000000000","message":"s/IPs","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_415b4353","line":4,"range":{"start_line":4,"start_character":59,"end_line":4,"end_character":75},"in_reply_to":"df3967d1_29b866c6","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_215a7f4e","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":15},"in_reply_to":"df3967d1_a9a21699","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_89c87255","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":23},"updated":"2017-08-01 03:26:03.000000000","message":"can just delete this after moving to beginning of sentence","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    A new agent_type for DVR routers to allow the server to configure"},{"line_number":4,"context_line":"    Floating IP associated with DVR at the centralized node.(dvr_snat node)"},{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_01553b1d","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":23},"in_reply_to":"df3967d1_89c87255","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."},{"line_number":9,"context_line":"    This agent type allows the floating IP (DNAT/ North-South routing) to"},{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_098fe22a","line":8,"range":{"start_line":8,"start_character":25,"end_line":8,"end_character":40},"updated":"2017-08-01 03:26:03.000000000","message":"In `` I think.","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    has been introduced."},{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."},{"line_number":9,"context_line":"    This agent type allows the floating IP (DNAT/ North-South routing) to"},{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_e131170d","line":8,"range":{"start_line":8,"start_character":25,"end_line":8,"end_character":40},"in_reply_to":"df3967d1_098fe22a","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."},{"line_number":9,"context_line":"    This agent type allows the floating IP (DNAT/ North-South routing) to"},{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_e9837e03","line":9,"range":{"start_line":9,"start_character":49,"end_line":9,"end_character":50},"updated":"2017-08-01 03:26:03.000000000","message":"blank space","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type dvr_no_external has been introduced with this release."},{"line_number":9,"context_line":"    This agent type allows the floating IP (DNAT/ North-South routing) to"},{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_a13b0fe9","line":9,"range":{"start_line":9,"start_character":49,"end_line":9,"end_character":50},"in_reply_to":"df3967d1_e9837e03","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_09e242d6","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":15},"updated":"2017-08-01 03:26:03.000000000","message":"s/There can be","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_a9d0d6f8","line":13,"range":{"start_line":13,"start_character":44,"end_line":13,"end_character":59},"updated":"2017-08-01 03:26:03.000000000","message":"s/``dvr_no_external``","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_e9e6dee8","line":13,"range":{"start_line":13,"start_character":29,"end_line":13,"end_character":32},"updated":"2017-08-01 03:26:03.000000000","message":"s/``dvr``","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_813ecbd7","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":15},"in_reply_to":"df3967d1_09e242d6","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_612527c2","line":13,"range":{"start_line":13,"start_character":44,"end_line":13,"end_character":59},"in_reply_to":"df3967d1_a9d0d6f8","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    be centralized while the East/West routing is still distributed."},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_212f1fa2","line":13,"range":{"start_line":13,"start_character":29,"end_line":13,"end_character":32},"in_reply_to":"df3967d1_e9e6dee8","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_29062688","line":14,"updated":"2017-08-01 03:26:03.000000000","message":"So on agent restart we will not tear-down the floating IP state on a compute node moving from \u0027dvr\u0027 to \u0027dvr_no_external\u0027?","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_012adb8e","line":14,"in_reply_to":"df3967d1_29062688","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_69f30ea0","line":15,"range":{"start_line":15,"start_character":66,"end_line":15,"end_character":76},"updated":"2017-08-01 03:26:03.000000000","message":"agent_mode (or maybe just use agent mode throughout)","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_090b628e","line":15,"range":{"start_line":15,"start_character":18,"end_line":15,"end_character":38},"updated":"2017-08-01 03:26:03.000000000","message":"s/ports with floating IPs","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_c11df373","line":15,"range":{"start_line":15,"start_character":18,"end_line":15,"end_character":38},"in_reply_to":"df3967d1_090b628e","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_a1142f4f","line":15,"range":{"start_line":15,"start_character":66,"end_line":15,"end_character":76},"in_reply_to":"df3967d1_69f30ea0","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"},{"line_number":19,"context_line":"    This change should not cause any issue while upgrade. As mentioned above"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_893bd236","line":16,"range":{"start_line":16,"start_character":29,"end_line":16,"end_character":40},"updated":"2017-08-01 03:26:03.000000000","message":"s/restrictions","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    We can have a mixture of dvr agents and dvr_no_external agents. But please"},{"line_number":14,"context_line":"    avoid any VM with FloatingIP migration between a dvr agent and a dvr_no_external"},{"line_number":15,"context_line":"    agent. All VM port with FloatingIP should be migrated to same agent_type."},{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"},{"line_number":19,"context_line":"    This change should not cause any issue while upgrade. As mentioned above"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_4109032f","line":16,"range":{"start_line":16,"start_character":29,"end_line":16,"end_character":40},"in_reply_to":"df3967d1_893bd236","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59e3ebaeed5ba02347328d1f749e3f774ebbd996","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"},{"line_number":19,"context_line":"    This change should not cause any issue while upgrade. As mentioned above"},{"line_number":20,"context_line":"    while upgrading avoid migrating VMs between two different agents."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_8924f20e","line":20,"range":{"start_line":19,"start_character":4,"end_line":20,"end_character":68},"updated":"2017-08-01 03:26:03.000000000","message":"This change will cause upgrade issues if an agent is changed from ``dvr`` to ``dvr_no_external`` agent mode.\n\nI\u0027m still thinking of a way to do this with minor disruption, like restarting all the compute nodes that have changed, followed by all the network nodes so they pick-up the FIP.","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7f826603537b6189f77981d7c21d19b1498b9b71","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    This would be one of the restriction."},{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"},{"line_number":19,"context_line":"    This change should not cause any issue while upgrade. As mentioned above"},{"line_number":20,"context_line":"    while upgrading avoid migrating VMs between two different agents."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"df3967d1_21083f2a","line":20,"range":{"start_line":19,"start_character":4,"end_line":20,"end_character":68},"in_reply_to":"df3967d1_8924f20e","updated":"2017-08-02 18:04:22.000000000","message":"Done","commit_id":"3f88abf12c4cb8e0b53f415771cf283e56bb6725"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8009220e1c7b68a1bd67cfff3a69f2dca6bd8e89","unresolved":false,"context_lines":[{"line_number":6,"context_line":"features:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    A new DVR agent type ``dvr_no_external`` has been introduced with this"},{"line_number":9,"context_line":"    release. This agent type allows the Floating IPs (DNAT/North-South routing)     to be centralized while the East/West routing is still distributed."},{"line_number":10,"context_line":"issues:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    There can be a mixture of ``dvr`` agents and ``dvr_no_external`` agents."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"9f436f4f_f44b77ad","line":9,"updated":"2017-08-08 21:58:30.000000000","message":"looks like this needs a line-wrap","commit_id":"0b8f01106e004273f576ed14dfc5e01f04180ac2"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8009220e1c7b68a1bd67cfff3a69f2dca6bd8e89","unresolved":false,"context_lines":[{"line_number":17,"context_line":"upgrade:"},{"line_number":18,"context_line":"  - |"},{"line_number":19,"context_line":"    This change will cause upgrade issues if an agent is changed from ``dvr``"},{"line_number":20,"context_line":"    to ``dvr_no_external`` agent mode or verse versa."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"9f436f4f_d4c63317","line":20,"updated":"2017-08-08 21:58:30.000000000","message":"Add that it has no upgrade impact if the agent mode is not changed just to make it clear.","commit_id":"0b8f01106e004273f576ed14dfc5e01f04180ac2"}]}
