)]}'
{"neutron/agent/common/config.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c5694ccde68dffabf3349b3fe58706100e327601","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027br-ex\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. This should be set to an empty value for the \""},{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_170d10e8","side":"PARENT","line":87,"updated":"2016-04-06 18:44:07.000000000","message":"I think we should keep the deprecation and resume work on [1] and figure out a migration process going forward. I would find hard to believe that anyone in prod would specify this variable (unless they obviously have one external network per agent, as the help string implies)\n\n[1] https://review.openstack.org/#/c/298443/","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8f5edc7e1881b3854f4e9ebe44159dfb7ca710ec","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027br-ex\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. This should be set to an empty value for the \""},{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_f8a50047","side":"PARENT","line":87,"in_reply_to":"5a18252c_a3638bdb","updated":"2016-04-14 09:18:40.000000000","message":"Changing the default is a backwards incompatible change. Is that okay?","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f315619b52a2018edaec723eaab32d74ec34e984","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027br-ex\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. This should be set to an empty value for the \""},{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_131c1ec0","side":"PARENT","line":87,"in_reply_to":"5a18252c_f8a50047","updated":"2016-04-14 09:42:51.000000000","message":"For master, it\u0027s ok, as long as we release a note.","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"07444f023b76ef6e7055018c5d3aafb2637ab505","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027br-ex\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. This should be set to an empty value for the \""},{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_e83156a3","side":"PARENT","line":87,"in_reply_to":"9a061dce_170d10e8","updated":"2016-04-07 19:39:22.000000000","message":"I don\u0027t want the deprecation warning to print for people doing the right thing, which is to specify it as blank.","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"46fb79cf1a70b35ce4ed2c41b45ed24ce4152ab7","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027br-ex\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. This should be set to an empty value for the \""},{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_a3638bdb","side":"PARENT","line":87,"in_reply_to":"9a061dce_e83156a3","updated":"2016-04-13 13:08:13.000000000","message":"The right thing would be leaving it unset and using the default value (which should be blank; so I suggest to change the default value in this patch instead).","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"2535882bf90b10a0f93799f43de00deded7ce149","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \"Linux Bridge. When this parameter is set, each L3 \""},{"line_number":91,"context_line":"                      \"agent can be associated with no more than one external \""},{"line_number":92,"context_line":"                      \"network. This option is deprecated and will be removed \""},{"line_number":93,"context_line":"                      \"in the M release.\")),"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_bda4cf07","side":"PARENT","line":93,"updated":"2016-06-01 09:38:11.000000000","message":"This should be fixed as well.","commit_id":"ab614a10a76c21dc1f4db172d9b550b3402ecd40"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"579becbd996105c1619f3b128a195ed04db377c6","unresolved":false,"context_lines":[{"line_number":83,"context_line":"]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. When this parameter is set, the L3 agent will \""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_c1477a1b","line":86,"updated":"2016-07-29 10:38:03.000000000","message":"It would be cool to see a functional test to validate router connectivity is in place when you change the option and restart the agent. Preferrably with backend validation to make sure that there are no dup ports or anything along those broken lines.","commit_id":"4eaef57f959d52792aff017a5116daa43309b84c"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"bf1066935e9d6ae34a55b9a1e6daa7708e889bcb","unresolved":false,"context_lines":[{"line_number":83,"context_line":"]"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"EXT_NET_BRIDGE_OPTS \u003d ["},{"line_number":86,"context_line":"    cfg.StrOpt(\u0027external_network_bridge\u0027, default\u003d\u0027\u0027,"},{"line_number":87,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":88,"context_line":"               help\u003d_(\"Name of bridge used for external network \""},{"line_number":89,"context_line":"                      \"traffic. When this parameter is set, the L3 agent will \""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_732adc2d","line":86,"updated":"2016-07-29 12:48:53.000000000","message":"working on it","commit_id":"4eaef57f959d52792aff017a5116daa43309b84c"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"579becbd996105c1619f3b128a195ed04db377c6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \"plug an interface directly into an external bridge \""},{"line_number":91,"context_line":"                      \"which will not allow any wiring by the L2 agent. Using \""},{"line_number":92,"context_line":"                      \"this will result in incorrect port statuses. This \""},{"line_number":93,"context_line":"                      \"option is deprecated and will be removed in Ocata.\"))"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_7ebaab6f","line":93,"updated":"2016-07-29 10:38:03.000000000","message":"Do we have a plan for those using the option to rewire their ports correctly in Ocata?","commit_id":"4eaef57f959d52792aff017a5116daa43309b84c"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"bf1066935e9d6ae34a55b9a1e6daa7708e889bcb","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \"plug an interface directly into an external bridge \""},{"line_number":91,"context_line":"                      \"which will not allow any wiring by the L2 agent. Using \""},{"line_number":92,"context_line":"                      \"this will result in incorrect port statuses. This \""},{"line_number":93,"context_line":"                      \"option is deprecated and will be removed in Ocata.\"))"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_d321084f","line":93,"updated":"2016-07-29 12:48:53.000000000","message":"Not yet if their external network isn\u0027t flat, but I think if we can get a way to have ports bind to a preferred segment, we can have them add the flat segment, then trigger rebinding of all of the router ports to that segment and then delete the existing segment (VXLAN or whatever it is). It could be as simple as allowing the segment index to be set via the new segments API and then clearing and re-entering the host_id on the router gateway port.","commit_id":"4eaef57f959d52792aff017a5116daa43309b84c"}],"neutron/db/l3_db.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"fab869e65b65c32fc9e47ad09860168fdbabfef0","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            ext_net_id \u003d agent[\u0027configurations\u0027].get("},{"line_number":333,"context_line":"                \u0027gateway_external_network_id\u0027)"},{"line_number":334,"context_line":"            ext_bridge \u003d agent[\u0027configurations\u0027].get("},{"line_number":335,"context_line":"                \u0027external_network_bridge\u0027, \u0027\u0027)"},{"line_number":336,"context_line":"            if (ext_net_id \u003d\u003d network_id or"},{"line_number":337,"context_line":"                    (not ext_net_id and not ext_bridge)):"},{"line_number":338,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_aa01ab08","line":335,"updated":"2016-08-03 14:10:57.000000000","message":"Right, I just wanted to make it consistent with how it would be set on the agent.","commit_id":"3f71a49e0f0603175e0d0f599ab4d73118b0e85a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"660123f92a4c916674e9f0bf808df2c39c1abf0d","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            ext_net_id \u003d agent[\u0027configurations\u0027].get("},{"line_number":333,"context_line":"                \u0027gateway_external_network_id\u0027)"},{"line_number":334,"context_line":"            ext_bridge \u003d agent[\u0027configurations\u0027].get("},{"line_number":335,"context_line":"                \u0027external_network_bridge\u0027, \u0027\u0027)"},{"line_number":336,"context_line":"            if (ext_net_id \u003d\u003d network_id or"},{"line_number":337,"context_line":"                    (not ext_net_id and not ext_bridge)):"},{"line_number":338,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_1abb1077","line":335,"updated":"2016-08-02 19:32:15.000000000","message":"nit: don\u0027t need the \u0027\u0027 here","commit_id":"3f71a49e0f0603175e0d0f599ab4d73118b0e85a"}],"releasenotes/notes/change_external_network_bridge_default-5de3a0c19182eb70.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"660123f92a4c916674e9f0bf808df2c39c1abf0d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    entry between the external network\u0027s flat segment physnet and \u0027br-ex\u0027 to"},{"line_number":13,"context_line":"    get the same connectivity. If the external network did not already have"},{"line_number":14,"context_line":"    the flat segment, you will need to detach all routers from the external"},{"line_number":15,"context_line":"    networks, delete the incorrect segment type, add the flat segment, and"},{"line_number":16,"context_line":"    re-attach the routers."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_5a43c86c","line":15,"updated":"2016-08-02 19:32:15.000000000","message":"nit: s/networks/network","commit_id":"3f71a49e0f0603175e0d0f599ab4d73118b0e85a"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"fab869e65b65c32fc9e47ad09860168fdbabfef0","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    entry between the external network\u0027s flat segment physnet and \u0027br-ex\u0027 to"},{"line_number":13,"context_line":"    get the same connectivity. If the external network did not already have"},{"line_number":14,"context_line":"    the flat segment, you will need to detach all routers from the external"},{"line_number":15,"context_line":"    networks, delete the incorrect segment type, add the flat segment, and"},{"line_number":16,"context_line":"    re-attach the routers."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_ca069f1f","line":15,"updated":"2016-08-03 14:10:57.000000000","message":"will fix if i need to respin it","commit_id":"3f71a49e0f0603175e0d0f599ab4d73118b0e85a"}]}
