)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"fee683314ce2658a5218e37a53f104f4b71f0671","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As in lib/neutron-legacy, add support for different L3"},{"line_number":10,"context_line":"agent modes in order to support DVR.  Relevant config"},{"line_number":11,"context_line":"files are tweaked accordingly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9f25921eefc5b935aad3bb1edc5e41ee0ce43a84"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf57530f_4dc98d76","line":11,"updated":"2017-09-20 18:37:09.000000000","message":"Are we going to have the DVR configuration both in lib/neutron-legacy and lib/neutron.\nOr else one will be deprecated later.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7d6e477a7740a71296e029a59097c3b3457eeed9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As in lib/neutron-legacy, add support for different L3"},{"line_number":10,"context_line":"agent modes in order to support DVR.  Relevant config"},{"line_number":11,"context_line":"files are tweaked accordingly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9f25921eefc5b935aad3bb1edc5e41ee0ce43a84"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf57530f_cdb1fde3","line":11,"in_reply_to":"bf57530f_4dc98d76","updated":"2017-09-20 18:40:43.000000000","message":"plan is to kill -legacy, but we are not there since gate uses it still.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"38ab3ed3ddf00fba917fda1404ee3594896507fe","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As in lib/neutron-legacy, add support for different L3"},{"line_number":10,"context_line":"agent modes in order to support DVR.  Relevant config"},{"line_number":11,"context_line":"files are tweaked accordingly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I9f25921eefc5b935aad3bb1edc5e41ee0ce43a84"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf57530f_0d06f587","line":11,"in_reply_to":"bf57530f_cdb1fde3","updated":"2017-09-20 19:01:34.000000000","message":"Thanks for the clarification.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"}],"lib/neutron":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8908a10cf390998c3141787d710507d8d9240702","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":40,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-legacy}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"},{"line_number":45,"context_line":"NEUTRON_DHCP_BINARY\u003d\"neutron-dhcp-agent\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"bf57530f_5335aad9","line":42,"updated":"2017-09-20 19:23:36.000000000","message":"you could have here:\n\nDISTRIBUTED_ROUTING\u003dFalse\nNEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-dvr}\n\nand then below in code paths, you would:\n\n1. check DISTRIBUTED_ROUTING instead\n2. write NEUTRON_DVR_MODE to config files\n\nIt will allow the user to merely ask for dvr with True/False option, and then it will work for them. They will also be able to pick a specific mode if really needed.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0cdb332bd0fb03520aeee8f401b4ecfbd52f7f5e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":40,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-legacy}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"},{"line_number":45,"context_line":"NEUTRON_DHCP_BINARY\u003d\"neutron-dhcp-agent\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7f515b1d_ca22aea4","line":42,"in_reply_to":"7f515b1d_19951be5","updated":"2017-09-26 19:52:49.000000000","message":"OK, agreed on the different default mode.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f12333eb47de6d49bcbfdee5b98511fa641139e3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":40,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-legacy}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"},{"line_number":45,"context_line":"NEUTRON_DHCP_BINARY\u003d\"neutron-dhcp-agent\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7f515b1d_19951be5","line":42,"in_reply_to":"7f515b1d_1ea181aa","updated":"2017-09-22 20:58:42.000000000","message":"In that case I would prefer that we have a default agent_type of \u0027dvr_snat\u0027 instead of dvr.\nSince \u0027dvr_snat\u0027 can handle legacy and dvr routers.\nThere is also a global variable configuration for the openvswitch agent for dvr. We should make sure that is also included.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"604d825c64f6d1c1b9fff898fecdfde217847aef","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":40,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-legacy}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"},{"line_number":45,"context_line":"NEUTRON_DHCP_BINARY\u003d\"neutron-dhcp-agent\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7f515b1d_1ea181aa","line":42,"in_reply_to":"7f515b1d_33747635","updated":"2017-09-22 19:40:55.000000000","message":"Not a reverse. I suggest we don\u0027t expose agent mode (at least by default) but just allow consumers to pick whether they want dvr, and then configure the default dvr agent mode for them unless they also asked to override it.\n\nEffectively, it\u0027s less details and knobs for consumers to care if they just want dvr.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"1597176ddced93e4d25aede78ceb78817c042208","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":40,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-legacy}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"},{"line_number":45,"context_line":"NEUTRON_DHCP_BINARY\u003d\"neutron-dhcp-agent\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7f515b1d_33747635","line":42,"in_reply_to":"bf57530f_5335aad9","updated":"2017-09-22 18:58:49.000000000","message":"Are you suggesting a reverse of what haleyb has done.","commit_id":"766a11d19bf6364fcae647d500301295df286eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6f20d3f213f1520459ed63f940f474f9dbc72424","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        fi"},{"line_number":202,"context_line":"        local mech_drivers \u003d \"openvswitch\""},{"line_number":203,"context_line":"        if [[ \"$NEUTRON_DISTRIBUTED_ROUTING\" \u003d \"True\" ]]; then"},{"line_number":204,"context_line":"            if [[ \"$NEUTRON_DVR_MODE\" !\u003d \"legacy\" ]]; then"},{"line_number":205,"context_line":"                mech_drivers+\u003d\",l2population\""},{"line_number":206,"context_line":"            fi"},{"line_number":207,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f91af0f_1dca506c","line":204,"updated":"2018-01-05 22:40:52.000000000","message":"I don;t think that the agent mode should influence what we enable for neutron-server, because it serves all agents from all nodes, not just this node.","commit_id":"6e9e5d17258a721319bd4262ef23edc8e6308f63"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6f20d3f213f1520459ed63f940f474f9dbc72424","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            iniset $NEUTRON_CORE_PLUGIN_CONF securitygroup firewall_driver iptables_hybrid"},{"line_number":231,"context_line":"            iniset $NEUTRON_CORE_PLUGIN_CONF ovs local_ip $HOST_IP"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"            if [[ \"$NEUTRON_DVR_MODE\" !\u003d \"legacy\" ]]; then"},{"line_number":234,"context_line":"                iniset $NEUTRON_CORE_PLUGIN_CONF agent l2_population True"},{"line_number":235,"context_line":"                iniset $NEUTRON_CORE_PLUGIN_CONF agent enable_distributed_routing True"},{"line_number":236,"context_line":"            fi"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f91af0f_bdaec495","line":233,"updated":"2018-01-05 22:40:52.000000000","message":"same here: core plugin configuration shouldn\u0027t depend on agent mode","commit_id":"6e9e5d17258a721319bd4262ef23edc8e6308f63"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aed52e385976715a56d8d6f9a2d4347cbeef7613","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        # TODO(sc68cal) not hardcode?"},{"line_number":195,"context_line":"        iniset $NEUTRON_CORE_PLUGIN_CONF ml2 tenant_network_types vxlan"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        local mech_drivers \u003d \"openvswitch\""},{"line_number":198,"context_line":"        if [[ \"$NEUTRON_DISTRIBUTED_ROUTING\" \u003d \"True\" ]]; then"},{"line_number":199,"context_line":"            mech_drivers+\u003d\",l2population\""},{"line_number":200,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"9f91af0f_d18cb0d8","line":197,"range":{"start_line":197,"start_character":26,"end_line":197,"end_character":29},"updated":"2018-01-08 21:14:36.000000000","message":"it\u0027s a syntax issue, there should be no spaces around \u003d I believe:\n\nhttp://logs.openstack.org/98/436798/47/check/tempest-full/fcc5bb2/job-output.txt.gz#_2018-01-05_23_18_54_025657\n\n2018-01-05 23:18:54.025582 | controller | 2018-01-05 23:18:54.025 | + lib/neutron:configure_neutron_new:197    :   local mech_drivers \u003d openvswitch\n2018-01-05 23:18:54.025657 | controller | 2018-01-05 23:18:54.025 | /opt/stack/devstack/lib/neutron: line 197: local: `\u003d\u0027: not a valid identifier","commit_id":"dee5fc8a3978e9f581449b0a1756df3768bca973"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"49714aaa1006986465c7ee4d33c49eab64f45a15","unresolved":false,"context_lines":[{"line_number":32,"context_line":"NEUTRON_DIR\u003d$DEST/neutron"},{"line_number":33,"context_line":"NEUTRON_AUTH_CACHE_DIR\u003d${NEUTRON_AUTH_CACHE_DIR:-/var/cache/neutron}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"NEUTRON_DISTRIBUTED_ROUTING\u003d${NEUTRON_DISTRIBUTED_ROUTING:-False}"},{"line_number":36,"context_line":"# Distributed Virtual Router (DVR) configuration"},{"line_number":37,"context_line":"# Can be:"},{"line_number":38,"context_line":"# - ``legacy``          - No DVR functionality"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"9f91af0f_60db827b","line":35,"updated":"2018-01-09 10:13:04.000000000","message":"Wouldn\u0027t it be better to use the trueorfalse function here? E.g.\n\nNEUTRON_DISTRIBUTED_ROUTING\u003d$(trueorfalse False NEUTRON_DISTRIBUTED_ROUTING)","commit_id":"b4549d5009d503dcb466a3a046d2c85c01dd944c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"221c2000f6650f5fa72ffd6c25f2717f60c4f359","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        # TODO(sc68cal) not hardcode?"},{"line_number":195,"context_line":"        iniset $NEUTRON_CORE_PLUGIN_CONF ml2 tenant_network_types vxlan"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        local mech_drivers\u003d\"openvswitch\""},{"line_number":198,"context_line":"        if [[ \"$NEUTRON_DISTRIBUTED_ROUTING\" \u003d \"True\" ]]; then"},{"line_number":199,"context_line":"            mech_drivers+\u003d\",l2population\""},{"line_number":200,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"9f91af0f_b4a9da7c","line":197,"updated":"2018-01-08 21:41:12.000000000","message":"Yeah, that should fix it.","commit_id":"b4549d5009d503dcb466a3a046d2c85c01dd944c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"469ea632f4cc63906e4c9826248abe168ba25c37","unresolved":false,"context_lines":[{"line_number":40,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":41,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":42,"context_line":"#"},{"line_number":43,"context_line":"# Default is \u0027dvr_snat\u0027 since it can handle both DVR and legacy routers"},{"line_number":44,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-dvr_snat}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"df7087c5_90252aae","line":43,"updated":"2018-03-09 11:15:30.000000000","message":"Actually I\u0027m not happy with this default, because it is inconsistent with Neutron defaults, leading to errors when running tests in a real default deployment, see https://bugs.launchpad.net/neutron/+bug/1731857\n\nBut I guess we have to stick to it until that bug is fixed.","commit_id":"9aaa529f65011e4bfa649043c35ee808970dc426"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"555e26e11b9636ec373df226d5d8b44cf4b90e05","unresolved":false,"context_lines":[{"line_number":40,"context_line":"# - ``dvr``             - Compute node in multi-node DVR"},{"line_number":41,"context_line":"# - ``dvr_no_external`` - Compute node in multi-node DVR, no external network"},{"line_number":42,"context_line":"#"},{"line_number":43,"context_line":"# Default is \u0027dvr_snat\u0027 since it can handle both DVR and legacy routers"},{"line_number":44,"context_line":"NEUTRON_DVR_MODE\u003d${NEUTRON_DVR_MODE:-dvr_snat}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"NEUTRON_BIN_DIR\u003d$(get_python_exec_prefix)"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"df7087c5_f2da60e7","line":43,"in_reply_to":"df7087c5_90252aae","updated":"2018-03-09 21:58:02.000000000","message":"This is consistent with the default in zuul jobs when DVR is enables - dvr_snat for first node, dvr for second.  I agree that bug should be fixed though, I just posted a comment on the review but it needs an update.","commit_id":"9aaa529f65011e4bfa649043c35ee808970dc426"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"469ea632f4cc63906e4c9826248abe168ba25c37","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if [[ \"$NEUTRON_DISTRIBUTED_ROUTING\" \u003d \"True\" ]]; then"},{"line_number":199,"context_line":"            mech_drivers+\u003d\",l2population\""},{"line_number":200,"context_line":"        else"},{"line_number":201,"context_line":"            mech_drivers+\u003d\",linuxbridge\""},{"line_number":202,"context_line":"        fi"},{"line_number":203,"context_line":"        iniset $NEUTRON_CORE_PLUGIN_CONF ml2 mechanism_drivers $mech_drivers"},{"line_number":204,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"df7087c5_506552e0","line":201,"updated":"2018-03-09 11:15:30.000000000","message":"So this is kind of assuming it a feature that DVR and LB are mutually exclusive. I had thought that it would be a bug that someday should get fixed. I think at least some explaining comment would be useful.","commit_id":"9aaa529f65011e4bfa649043c35ee808970dc426"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"555e26e11b9636ec373df226d5d8b44cf4b90e05","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if [[ \"$NEUTRON_DISTRIBUTED_ROUTING\" \u003d \"True\" ]]; then"},{"line_number":199,"context_line":"            mech_drivers+\u003d\",l2population\""},{"line_number":200,"context_line":"        else"},{"line_number":201,"context_line":"            mech_drivers+\u003d\",linuxbridge\""},{"line_number":202,"context_line":"        fi"},{"line_number":203,"context_line":"        iniset $NEUTRON_CORE_PLUGIN_CONF ml2 mechanism_drivers $mech_drivers"},{"line_number":204,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"df7087c5_92668429","line":201,"in_reply_to":"df7087c5_506552e0","updated":"2018-03-09 21:58:02.000000000","message":"Yes, DVR is not supported with linuxbridge, I actually have another change that fixes that in neutron-legacy:\n\nhttps://review.openstack.org/#/c/503741/\n\nI can add a comment.","commit_id":"9aaa529f65011e4bfa649043c35ee808970dc426"}]}
