)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"971ffd5d048bfb3f8c0fd75335c6011a99a5d9e5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"* Rely on the Neutron defaults, and force Neutron to make"},{"line_number":34,"context_line":"  sane defaults instead of all kinds of knobs in DevStack."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Remove rootwrap daemon support for now. Maybe we should be more"},{"line_number":37,"context_line":"  opinionated, and either use rootwrap daemon by default, or decide not"},{"line_number":38,"context_line":"  to."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"ba8a016a_5054ef1f","line":36,"updated":"2015-11-17 18:19:51.000000000","message":"Absolutely use rootwrap daemon by default.","commit_id":"1a50da2671e00c9991135fa34c0d86236739a74c"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"34ffe4d71fd2a926bc7dc7c17936a9239c8dfb73","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean M. Collins \u003csean@coreitpro.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-18 12:13:00 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Begin new lib/neutron"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* minor tweaks to lib/template"},{"line_number":10,"context_line":"* add new lib/neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"bae84128_5263951a","line":7,"updated":"2016-02-19 23:07:08.000000000","message":"how are you switching on the new part so that it is used instead of the legacy bit?","commit_id":"5e70a6d094b2ca1fc4a8f8eaee1d9f1f4c9fc020"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"974416519c9587eed05cd4adeef6e1bb2178a445","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean M. Collins \u003csean@coreitpro.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-18 12:13:00 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Begin new lib/neutron"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* minor tweaks to lib/template"},{"line_number":10,"context_line":"* add new lib/neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"bae84128_b2fa8fbb","line":7,"in_reply_to":"bae84128_5263951a","updated":"2016-02-22 18:58:52.000000000","message":"See L15","commit_id":"5e70a6d094b2ca1fc4a8f8eaee1d9f1f4c9fc020"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* neutron-l3"},{"line_number":18,"context_line":"* neutron-agent"},{"line_number":19,"context_line":"* neutron-dhcp"},{"line_number":20,"context_line":"* neutron-metadata-agent"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For now, the new neutron library supports just the ML2 plugin, with the"},{"line_number":23,"context_line":"Open vSwitch and Linux Bridge agents supported. All other Neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":57,"id":"dab17558_317aec77","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":1},"updated":"2016-05-10 15:39:05.000000000","message":"big kudos for changing this and keeping the backwards compatibility.","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"}],"lib/neutron":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6495b73256364355b13d2d99f887e09a4a6268f4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"XTRACE\u003d$(set +o | grep xtrace)"},{"line_number":23,"context_line":"set +o xtrace"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CINDER_AUTH_CACHE_DIR\u003d${CINDER_AUTH_CACHE_DIR:-/var/cache/cinder}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# Defaults"},{"line_number":28,"context_line":"# --------"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ba15a1d1_503502f5","line":25,"updated":"2015-09-20 10:02:19.000000000","message":"not clear why we need CINDER here","commit_id":"bb716116a22f4c3f18ddb587cff5b3a9ffcfffca"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6495b73256364355b13d2d99f887e09a4a6268f4","unresolved":false,"context_lines":[{"line_number":90,"context_line":"# cleanup_neutron() - Remove residual data files, anything left over from previous"},{"line_number":91,"context_line":"# runs that a clean run would need to clean up"},{"line_number":92,"context_line":"function cleanup_neutron_new {"},{"line_number":93,"context_line":"    # if is_provider_network \u0026\u0026 is_ironic_hardware; then"},{"line_number":94,"context_line":"    #     for IP in $(ip addr show dev $OVS_PHYSICAL_BRIDGE | grep \u0027 inet \u0027 | awk \u0027{print $2}\u0027); do"},{"line_number":95,"context_line":"    #         sudo ip addr del $IP dev $OVS_PHYSICAL_BRIDGE"},{"line_number":96,"context_line":"    #         sudo ip addr add $IP dev $PUBLIC_INTERFACE"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ba15a1d1_1048ea86","line":93,"updated":"2015-09-20 10:02:19.000000000","message":"i think that you can blow away the comments from line 93-99","commit_id":"bb716116a22f4c3f18ddb587cff5b3a9ffcfffca"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6495b73256364355b13d2d99f887e09a4a6268f4","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            iniset $NEUTRON_DHCP_CONF agent root_helper_daemon \"$NEUTRON_ROOTWRAP_DAEMON_CMD\""},{"line_number":184,"context_line":"        fi"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        # if ! is_service_enabled q-l3; then"},{"line_number":187,"context_line":"        #     if [[ \"$ENABLE_ISOLATED_METADATA\" \u003d \"True\" ]]; then"},{"line_number":188,"context_line":"        #         iniset $NEUTRON_DHCP_CONF DEFAULT enable_isolated_metadata $ENABLE_ISOLATED_METADATA"},{"line_number":189,"context_line":"        #         iniset $NEUTRON_DHCP_CONF DEFAULT enable_metadata_network $ENABLE_METADATA_NETWORK"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ba15a1d1_d05a7250","line":186,"updated":"2015-09-20 10:02:19.000000000","message":"ditto","commit_id":"bb716116a22f4c3f18ddb587cff5b3a9ffcfffca"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6495b73256364355b13d2d99f887e09a4a6268f4","unresolved":false,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    # Run Neutron db migrations"},{"line_number":357,"context_line":"    $NEUTRON_BIN_DIR/neutron-db-manage $NEUTRON_CONFIG_ARG upgrade head"},{"line_number":358,"context_line":"    # for svc in fwaas lbaas vpnaas; do"},{"line_number":359,"context_line":"    #     if [ \"$svc\" \u003d \"vpnaas\" ]; then"},{"line_number":360,"context_line":"    #         q_svc\u003d\"q-vpn\""},{"line_number":361,"context_line":"    #     else"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ba15a1d1_30308e07","line":358,"updated":"2015-09-20 10:02:19.000000000","message":"looks like this can be deleted too","commit_id":"bb716116a22f4c3f18ddb587cff5b3a9ffcfffca"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"c99d3d0358bedeba9cc2477bb1de57d7c5affc8c","unresolved":false,"context_lines":[{"line_number":443,"context_line":"}"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"# start_neutron() - Start running processes, including screen"},{"line_number":446,"context_line":"function start_neutron_new {"},{"line_number":447,"context_line":"    _set_config_files"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    # Start up the neutron agents if enabled"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"1a26ad4f_e479f130","line":446,"updated":"2015-10-28 00:30:18.000000000","message":"why the _new ? We went through the trouble of renaming all the functions in neutron-legacy so they wouldn\u0027t conflict.","commit_id":"def6aadc19e73479542e950bee5fd8b014446a19"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"3ce70cc5b65644680a0d2a6554ca70c871000558","unresolved":false,"context_lines":[{"line_number":443,"context_line":"}"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"# start_neutron() - Start running processes, including screen"},{"line_number":446,"context_line":"function start_neutron_new {"},{"line_number":447,"context_line":"    _set_config_files"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    # Start up the neutron agents if enabled"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"1a26ad4f_275ccb24","line":446,"in_reply_to":"1a26ad4f_e479f130","updated":"2015-10-28 01:01:47.000000000","message":"Because there were same name function in previous patch set. Please look at L560. It caused a issue(limitless loop). This behavior provides a knob for neutron-legacy.","commit_id":"def6aadc19e73479542e950bee5fd8b014446a19"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"d869acbd7472957bfdf4f69efa10ae2f964fff8f","unresolved":false,"context_lines":[{"line_number":443,"context_line":"}"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"# start_neutron() - Start running processes, including screen"},{"line_number":446,"context_line":"function start_neutron_new {"},{"line_number":447,"context_line":"    _set_config_files"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    # Start up the neutron agents if enabled"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"1a26ad4f_479b07ca","line":446,"in_reply_to":"1a26ad4f_e479f130","updated":"2015-10-28 00:59:35.000000000","message":"IIRC it is so there could be dispatch functions that can be removed and just rename these and keep the dispatching below separate.","commit_id":"def6aadc19e73479542e950bee5fd8b014446a19"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"5a959aa6cfda7363c2c38613e8a4f5120d1c45be","unresolved":false,"context_lines":[{"line_number":64,"context_line":"NEUTRON_SERVICE_PROTOCOL\u003d${NEUTRON_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"# RHEL\u0027s support for namespaces requires using veths with ovs"},{"line_number":67,"context_line":"NEUTRON_OVS_USE_VETH\u003d${NEUTRON_OVS_USE_VETH:-False}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"NEUTRON_AUTH_STRATEGY\u003d${NEUTRON_AUTH_STRATEGY:-keystone}"},{"line_number":70,"context_line":"NEUTRON_ROOTWRAP_CONF_FILE\u003d\u003d$NEUTRON_CONF_DIR/rootwrap.conf"}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"3a57f1b5_6038073e","line":67,"updated":"2016-02-11 22:32:38.000000000","message":"Don\u0027t think this is used anywhere","commit_id":"780b75d984604e457fe5b8e210f2d03ee7a01556"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"5a959aa6cfda7363c2c38613e8a4f5120d1c45be","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    git_clone $NEUTRON_REPO $NEUTRON_DIR $NEUTRON_BRANCH"},{"line_number":329,"context_line":"    setup_develop $NEUTRON_DIR"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    if [ \"$VIRT_DRIVER\" \u003d\u003d \u0027xenserver\u0027 ]; then"},{"line_number":332,"context_line":"        local dom0_ip"},{"line_number":333,"context_line":"        dom0_ip\u003d$(echo \"$XENAPI_CONNECTION_URL\" | cut -d \"/\" -f 3-)"},{"line_number":334,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"3a57f1b5_e044f7b7","line":331,"updated":"2016-02-11 22:32:38.000000000","message":"I wonder if I need this. It may be able to become a plugin.","commit_id":"780b75d984604e457fe5b8e210f2d03ee7a01556"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"5a959aa6cfda7363c2c38613e8a4f5120d1c45be","unresolved":false,"context_lines":[{"line_number":364,"context_line":"        git_clone_by_name \"python-neutronclient\""},{"line_number":365,"context_line":"        setup_dev_lib \"python-neutronclient\""},{"line_number":366,"context_line":"        sudo install -D -m 0644 -o $STACK_USER {${GITDIR[\"python-neutronclient\"]}/tools/,/etc/bash_completion.d/}neutron.bash_completion"},{"line_number":367,"context_line":"    fi"},{"line_number":368,"context_line":"}"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"# start_neutron_api() - Start the API process ahead of other things"}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"3a57f1b5_a0803fc1","line":367,"updated":"2016-02-11 22:32:38.000000000","message":"Think there have been some updates to this over in neutron-legacy that needs to be synced","commit_id":"780b75d984604e457fe5b8e210f2d03ee7a01556"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"a79fc76b9a3728d46535445eaa9bc45e41b3334a","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        iniset $NEUTRON_CONF DEFAULT notify_nova_on_port_status_changes $Q_NOTIFY_NOVA_PORT_STATUS_CHANGES"},{"line_number":158,"context_line":"        iniset $NEUTRON_CONF DEFAULT notify_nova_on_port_data_changes $Q_NOTIFY_NOVA_PORT_DATA_CHANGES"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        iniset $NEUTRON_CONF nova auth_plugin password"},{"line_number":161,"context_line":"        iniset $NEUTRON_CONF nova auth_url $KEYSTONE_AUTH_URI"},{"line_number":162,"context_line":"        iniset $NEUTRON_CONF nova username nova"},{"line_number":163,"context_line":"        iniset $NEUTRON_CONF nova password $SERVICE_PASSWORD"}],"source_content_type":"application/x-shellscript","patch_set":28,"id":"bae84128_3b959786","line":160,"updated":"2016-02-23 12:32:47.000000000","message":"Need to update this to auth_type\n\ncommit 28af7962e99a844675e175ec23bba15378231d5f","commit_id":"10a3e50929a635f3a69eb7b6b5c82bd4d398db91"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"84af60f3b9178d23d47f773e7854125df145e7cc","unresolved":false,"context_lines":[{"line_number":330,"context_line":"    recreate_database neutron"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    # Run Neutron db migrations"},{"line_number":333,"context_line":"    $NEUTRON_BIN_DIR/neutron-db-manage $NEUTRON_CONFIG_ARG upgrade head"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    create_neutron_cache_dir"},{"line_number":336,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_73ceca84","line":333,"range":{"start_line":333,"start_character":67,"end_line":333,"end_character":71},"updated":"2016-05-06 09:25:06.000000000","message":"heads. Though \u0027head\u0027 still works, \u0027heads\u0027 is the way recommended for neutron since we split branches, and it\u0027s also a bit more explicit about the split.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"f2116296efd510ded61ad7897ea492f9997eeab6","unresolved":false,"context_lines":[{"line_number":330,"context_line":"    recreate_database neutron"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    # Run Neutron db migrations"},{"line_number":333,"context_line":"    $NEUTRON_BIN_DIR/neutron-db-manage $NEUTRON_CONFIG_ARG upgrade head"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    create_neutron_cache_dir"},{"line_number":336,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_ebad9a89","line":333,"in_reply_to":"dab17558_73ceca84","updated":"2016-05-06 11:23:36.000000000","message":"thanks","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"84af60f3b9178d23d47f773e7854125df145e7cc","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Start the Neutron service"},{"line_number":382,"context_line":"    # TODO(sc68cal) Stop hard coding this"},{"line_number":383,"context_line":"    run_process neutron-api \"$NEUTRON_BIN_DIR/neutron-server --config-file $NEUTRON_PLUGIN_CONF --config-file $NEUTRON_CONF\""},{"line_number":384,"context_line":"    if is_ssl_enabled_service \"neutron\"; then"},{"line_number":385,"context_line":"        ssl_ca\u003d\"--ca-certificate\u003d${SSL_BUNDLE_FILE}\""},{"line_number":386,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_939c0e6b","line":383,"range":{"start_line":383,"start_character":61,"end_line":383,"end_character":95},"updated":"2016-05-06 09:25:06.000000000","message":"I think the usual order is first neutron.conf, then plugin.ini. So that you can override values in plugin.ini.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"f2116296efd510ded61ad7897ea492f9997eeab6","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Start the Neutron service"},{"line_number":382,"context_line":"    # TODO(sc68cal) Stop hard coding this"},{"line_number":383,"context_line":"    run_process neutron-api \"$NEUTRON_BIN_DIR/neutron-server --config-file $NEUTRON_PLUGIN_CONF --config-file $NEUTRON_CONF\""},{"line_number":384,"context_line":"    if is_ssl_enabled_service \"neutron\"; then"},{"line_number":385,"context_line":"        ssl_ca\u003d\"--ca-certificate\u003d${SSL_BUNDLE_FILE}\""},{"line_number":386,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_4bb026f5","line":383,"in_reply_to":"dab17558_939c0e6b","updated":"2016-05-06 11:23:36.000000000","message":"Cool, will fix.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"84af60f3b9178d23d47f773e7854125df145e7cc","unresolved":false,"context_lines":[{"line_number":444,"context_line":"# Compile the lost of enabled config files"},{"line_number":445,"context_line":"function _set_config_files {"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    #TODO(sc68cal) - see if we can clean up this and only"},{"line_number":448,"context_line":"    # pass in config files that make sense for certain agents"},{"line_number":449,"context_line":"    if is_service_enabled neutron-api; then"},{"line_number":450,"context_line":"        NEUTRON_CONFIG_ARG+\u003d\" --config-file $NEUTRON_CONF\""},{"line_number":451,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_53f58681","line":448,"range":{"start_line":447,"start_character":4,"end_line":448,"end_character":61},"updated":"2016-05-06 09:25:06.000000000","message":"This should definitely be tackled. If we don\u0027t solve it, we give users wrong impression about how config files should be loaded. We could as well just squash everything into a single neutron.conf and load it.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"f2116296efd510ded61ad7897ea492f9997eeab6","unresolved":false,"context_lines":[{"line_number":445,"context_line":"function _set_config_files {"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    #TODO(sc68cal) - see if we can clean up this and only"},{"line_number":448,"context_line":"    # pass in config files that make sense for certain agents"},{"line_number":449,"context_line":"    if is_service_enabled neutron-api; then"},{"line_number":450,"context_line":"        NEUTRON_CONFIG_ARG+\u003d\" --config-file $NEUTRON_CONF\""},{"line_number":451,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_aba3929d","line":448,"in_reply_to":"dab17558_53f58681","updated":"2016-05-06 11:23:36.000000000","message":"Agree. I had trouble with this function not being called before the call to start neutron-server, and I cut a corner and just passed the config args to neutron server instead of using this function. I might just remove this function and do the same for the other binaries in the future.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"84af60f3b9178d23d47f773e7854125df145e7cc","unresolved":false,"context_lines":[{"line_number":470,"context_line":"}"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"# Dispatch functions"},{"line_number":473,"context_line":"# These are needed for compatability between the old and new implementations"},{"line_number":474,"context_line":"# where there are function name overlaps.  These will be removed when"},{"line_number":475,"context_line":"# neutron-legacy is removed."},{"line_number":476,"context_line":"function cleanup_neutron {"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_9346cebd","line":473,"range":{"start_line":473,"start_character":23,"end_line":473,"end_character":36},"updated":"2016-05-06 09:25:06.000000000","message":"compatibility","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"f2116296efd510ded61ad7897ea492f9997eeab6","unresolved":false,"context_lines":[{"line_number":470,"context_line":"}"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"# Dispatch functions"},{"line_number":473,"context_line":"# These are needed for compatability between the old and new implementations"},{"line_number":474,"context_line":"# where there are function name overlaps.  These will be removed when"},{"line_number":475,"context_line":"# neutron-legacy is removed."},{"line_number":476,"context_line":"function cleanup_neutron {"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"dab17558_5e09062c","line":473,"in_reply_to":"dab17558_9346cebd","updated":"2016-05-06 11:23:36.000000000","message":"Done","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bc056a6e771cf0ef81477678c9800b1504a8e920","unresolved":false,"context_lines":[{"line_number":74,"context_line":"NEUTRON_CONFIG_ARG\u003d${NEUTRON_CONFIG_ARG:-\"\"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Tell Tempest this project is present"},{"line_number":77,"context_line":"TEMPEST_SERVICES+\u003d,neutron"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# Functions"}],"source_content_type":"application/x-shellscript","patch_set":54,"id":"dab17558_adf56184","line":77,"updated":"2016-05-06 13:54:02.000000000","message":"lib/tempest does not use this anymore.\nIt invokes \"is_service_enabled neutron\" instead to find out whether neutron is enabled.","commit_id":"ec277920e087bef1d2715556465ab662d14c05e8"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"97fe50434890f750222a60eb5d97c36f23739869","unresolved":false,"context_lines":[{"line_number":74,"context_line":"NEUTRON_CONFIG_ARG\u003d${NEUTRON_CONFIG_ARG:-\"\"}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Tell Tempest this project is present"},{"line_number":77,"context_line":"TEMPEST_SERVICES+\u003d,neutron"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# Functions"}],"source_content_type":"application/x-shellscript","patch_set":54,"id":"dab17558_131e5063","line":77,"in_reply_to":"dab17558_adf56184","updated":"2016-05-06 14:39:31.000000000","message":"Thanks. I\u0027ll remove it.","commit_id":"ec277920e087bef1d2715556465ab662d14c05e8"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# ``stack.sh`` calls the entry points in this order:"},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"# - is_XXXX_enabled"},{"line_number":14,"context_line":"# - install_XXXX"},{"line_number":15,"context_line":"# - configure_XXXX"},{"line_number":16,"context_line":"# - init_XXXX"}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_11440819","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":19},"updated":"2016-05-10 15:39:05.000000000","message":"I will change XXX for SERVICE but just a minor thing","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    fi"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    if is_service_enabled neutron-agent neutron-dhcp neutron-l3; then"},{"line_number":353,"context_line":"        #TODO(sc68cal) - kind of ugly"},{"line_number":354,"context_line":"        source $TOP_DIR/lib/neutron_plugins/${NEUTRON_AGENT}_agent"},{"line_number":355,"context_line":"        neutron_plugin_install_agent_packages"},{"line_number":356,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_44339014","line":353,"range":{"start_line":353,"start_character":29,"end_line":353,"end_character":30},"updated":"2016-05-10 15:39:05.000000000","message":"even if it is ugly, let\u0027s add a better comment here.","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":358,"context_line":"}"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"# install_neutronclient() - Collect source and prepare"},{"line_number":361,"context_line":"function install_neutronclient {"},{"line_number":362,"context_line":"    if use_library_from_git \"python-neutronclient\"; then"},{"line_number":363,"context_line":"        git_clone_by_name \"python-neutronclient\""},{"line_number":364,"context_line":"        setup_dev_lib \"python-neutronclient\""}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_d1c280e8","line":361,"range":{"start_line":361,"start_character":9,"end_line":361,"end_character":30},"updated":"2016-05-10 15:39:05.000000000","message":"should be using the OpenStack client instead of the neutron one? I am not sure if we have 100% API implementation.","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":412,"context_line":"    fi"},{"line_number":413,"context_line":"    if is_service_enabled neutron-l3; then"},{"line_number":414,"context_line":"        run_process neutron-l3 \"$NEUTRON_BIN_DIR/$NEUTRON_L3_BINARY $NEUTRON_CONFIG_ARG\""},{"line_number":415,"context_line":"        # XXX(sc68cal) - Here\u0027s where plugins can wire up their own networks instead"},{"line_number":416,"context_line":"        # of the code in lib/neutron_plugins/services/l3"},{"line_number":417,"context_line":"        if type -p neutron_plugin_create_initial_networks \u003e /dev/null; then"},{"line_number":418,"context_line":"            neutron_plugin_create_initial_networks"}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_7160f401","line":415,"range":{"start_line":415,"start_character":10,"end_line":415,"end_character":13},"updated":"2016-05-10 15:39:05.000000000","message":"XXX ??","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"96d60b8fd45367b93416ccd4945defffa93ec1f9","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        if type -p neutron_plugin_create_initial_networks \u003e /dev/null; then"},{"line_number":418,"context_line":"            neutron_plugin_create_initial_networks"},{"line_number":419,"context_line":"        else"},{"line_number":420,"context_line":"            # XXX(sc68cal) Load up the built in Neutron networking code and build a topology"},{"line_number":421,"context_line":"            source $TOP_DIR/lib/neutron_plugins/services/l3"},{"line_number":422,"context_line":"            # Create the networks using servic"},{"line_number":423,"context_line":"            create_neutron_initial_network"}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_113ec8d9","line":420,"range":{"start_line":420,"start_character":14,"end_line":420,"end_character":17},"updated":"2016-05-10 15:39:05.000000000","message":"ditto","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"}],"lib/neutron-legacy":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6495b73256364355b13d2d99f887e09a4a6268f4","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    echo \"$opts\""},{"line_number":412,"context_line":"}"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"# configure_mutnauq()"},{"line_number":415,"context_line":"# Set common config for all neutron server and agents."},{"line_number":416,"context_line":"function configure_mutnauq {"},{"line_number":417,"context_line":"    _configure_neutron_common"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"ba15a1d1_f039b6f3","line":414,"updated":"2015-09-20 10:02:19.000000000","message":"took me a while to dnatsrednu.","commit_id":"bb716116a22f4c3f18ddb587cff5b3a9ffcfffca"}],"lib/neutron_l3":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"268603aa6c31e95f8278789ce2508114d2ab9e01","unresolved":false,"context_lines":[{"line_number":1,"context_line":"source openrc admin"},{"line_number":2,"context_line":"neutron net-create \"public\" -- --router:external\u003dTrue"},{"line_number":3,"context_line":"neutron subnet-create --allocation-pool\u003dstart\u003d192.168.1.250,end\u003d192.168.1.254 --gateway 192.168.1.1 --name public_net --net-id public 192.168.1.0/24 -- --enable_dhcp\u003dFalse"},{"line_number":4,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":16,"id":"ba8a016a_f15a7ef1","line":1,"updated":"2015-11-18 22:01:48.000000000","message":"Doh, this belongs in my local.sh","commit_id":"1a50da2671e00c9991135fa34c0d86236739a74c"}],"lib/neutron_plugins/services/l3":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"a720f803e7b23edd41009158cce0e9ac17cb147d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"# Subnet IP version"},{"line_number":3,"context_line":"IP_VERSION\u003d${IP_VERSION:-\"4+6\"}"},{"line_number":4,"context_line":"# Validate IP_VERSION"}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"faac7902_38f9d1c9","line":1,"updated":"2016-05-05 20:16:57.000000000","message":"nit: put a licence here","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"a720f803e7b23edd41009158cce0e9ac17cb147d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"SUBNETPOOL_PREFIX_V6\u003d${SUBNETPOOL_PREFIX_V6:-2001:db8:8000::/48}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"SUBNETPOOL_SIZE_V4\u003d${SUBNETPOOL_SIZE_V4:-24}"},{"line_number":85,"context_line":"SUBNETPOOL_SIZE_V6\u003d${SUBNETPOOL_SIZE_V6:-64}"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"function _determine_config_l3 {"},{"line_number":88,"context_line":"    local opts\u003d\"--config-file $NEUTRON_CONF --config-file\u003d$Q_L3_CONF_FILE\""}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"faac7902_9830bda0","line":85,"updated":"2016-05-05 20:16:57.000000000","message":"honestly, I still want to trim these down, but I\u0027m happy to do that later.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"a720f803e7b23edd41009158cce0e9ac17cb147d","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        echo $PUBLIC_BRIDGE"},{"line_number":215,"context_line":"    fi"},{"line_number":216,"context_line":"}"},{"line_number":217,"context_line":"function create_neutron_initial_network {"},{"line_number":218,"context_line":"    local project_id"},{"line_number":219,"context_line":"    project_id\u003d$(openstack project list | grep \" demo \" | get_field 1)"},{"line_number":220,"context_line":"    die_if_not_set $LINENO project_id \"Failure retrieving project_id for demo\""}],"source_content_type":"application/x-shellscript","patch_set":50,"id":"faac7902_18e4cd0b","line":217,"updated":"2016-05-05 20:16:57.000000000","message":"I expect what we are probably going to do is make the hook create_initial_network, and make people write code for that which is pretty inline instead of all the variables.\n\nBut again, I\u0027m good with that in the future.","commit_id":"0a13c56fd87e70c7660e1ced7d6243a22c5784bc"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c0ba4f788cf9cabb5cc8966288b8b72ac10cb804","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# e.g.  _configure_neutron_l3_agent or lib/neutron_plugins/*"},{"line_number":28,"context_line":"#"},{"line_number":29,"context_line":"# The plugin supports L3."},{"line_number":30,"context_line":"Q_L3_ENABLED\u003d${Q_L3_ENABLED:-True}"},{"line_number":31,"context_line":"# L3 routers exist per tenant"},{"line_number":32,"context_line":"Q_L3_ROUTER_PER_TENANT\u003d${Q_L3_ROUTER_PER_TENANT:-True}"},{"line_number":33,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_eab6f0f7","line":30,"updated":"2016-05-13 17:04:45.000000000","message":"Was this default change intentional?  Q_L3_ENABLED was False by default.","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"15f41ad5842fb3d5ce1e20354cf971f087d88c39","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# e.g.  _configure_neutron_l3_agent or lib/neutron_plugins/*"},{"line_number":28,"context_line":"#"},{"line_number":29,"context_line":"# The plugin supports L3."},{"line_number":30,"context_line":"Q_L3_ENABLED\u003d${Q_L3_ENABLED:-True}"},{"line_number":31,"context_line":"# L3 routers exist per tenant"},{"line_number":32,"context_line":"Q_L3_ROUTER_PER_TENANT\u003d${Q_L3_ROUTER_PER_TENANT:-True}"},{"line_number":33,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":57,"id":"dab17558_ae86b7d8","line":30,"in_reply_to":"dab17558_eab6f0f7","updated":"2016-05-13 19:09:13.000000000","message":"I pushed a patch to keep the original default: https://review.openstack.org/#/c/316242/","commit_id":"2a242519f71e86416e78541826cac2b54fcd04a5"}]}
