)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"36621957532054caf5717778da50d4957a6accc3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: Use generated config file if available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Try and generate neutron.con file by using the oslo generator. If"},{"line_number":10,"context_line":"the generated file exists then use it. The alternative is to use"},{"line_number":11,"context_line":"the static config file. Once the generation code is delivered"},{"line_number":12,"context_line":"the static config file will be removed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba8a016a_f7795dfd","line":9,"updated":"2015-11-17 17:27:45.000000000","message":"Typo","commit_id":"43d7790ff6d79cd9f55908981e6701e7c658d505"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"e4f873c3b936655a1d78c655341b5b6d2e35f612","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: Use generated config file if available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Try and generate neutron.con file by using the oslo generator. If"},{"line_number":10,"context_line":"the generated file exists then use it. The alternative is to use"},{"line_number":11,"context_line":"the static config file. Once the generation code is delivered"},{"line_number":12,"context_line":"the static config file will be removed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba8a016a_075008d3","line":9,"in_reply_to":"ba8a016a_8b730ce7","updated":"2015-11-19 12:27:58.000000000","message":"Matthew, I am little unsure what your comment means but I have updated the commit message. Maybe take a look and see if it is any clearer?","commit_id":"43d7790ff6d79cd9f55908981e6701e7c658d505"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"b4f864ffb5adf2190deeea845f27b28e2b696170","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: Use generated config file if available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Try and generate neutron.con file by using the oslo generator. If"},{"line_number":10,"context_line":"the generated file exists then use it. The alternative is to use"},{"line_number":11,"context_line":"the static config file. Once the generation code is delivered"},{"line_number":12,"context_line":"the static config file will be removed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba8a016a_8b730ce7","line":9,"in_reply_to":"ba8a016a_f7795dfd","updated":"2015-11-17 18:38:45.000000000","message":"If you want to get all documentation... \"Try to generate...\" :)","commit_id":"43d7790ff6d79cd9f55908981e6701e7c658d505"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"e4f873c3b936655a1d78c655341b5b6d2e35f612","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Neutron: Use generated config file if available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Try and generate neutron.con file by using the oslo generator. If"},{"line_number":10,"context_line":"the generated file exists then use it. The alternative is to use"},{"line_number":11,"context_line":"the static config file. Once the generation code is delivered"},{"line_number":12,"context_line":"the static config file will be removed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba8a016a_e7e62443","line":9,"in_reply_to":"ba8a016a_f7795dfd","updated":"2015-11-19 12:27:58.000000000","message":"Updated.","commit_id":"43d7790ff6d79cd9f55908981e6701e7c658d505"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"44e4b5360ceddfe3c582d1b0b82f5bbe98778fcb","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104"},{"line_number":15,"context_line":"Related-blueprint: autogen-neutron-conf-file"},{"line_number":16,"context_line":"Closes--bug: #1199963"},{"line_number":17,"context_line":"Depends-On: I1c6dc4e7d479f1b7c755597caded24a0f018c712"},{"line_number":18,"context_line":"Co-Authored-By: Martin Hickey \u003cmartin.hickey@ie.ibm.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ba8a016a_74572426","line":16,"updated":"2015-11-19 19:24:13.000000000","message":"Extra \"-\" - remove so it links it and closes it in LP","commit_id":"b406e35ed47ede57894fe0beeee5164465d77ddc"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"26a108beaf3c603907a56d9785c2a610e0114df5","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104"},{"line_number":15,"context_line":"Related-blueprint: autogen-neutron-conf-file"},{"line_number":16,"context_line":"Closes--bug: #1199963"},{"line_number":17,"context_line":"Depends-On: I1c6dc4e7d479f1b7c755597caded24a0f018c712"},{"line_number":18,"context_line":"Co-Authored-By: Martin Hickey \u003cmartin.hickey@ie.ibm.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ba8a016a_88511ddb","line":16,"in_reply_to":"ba8a016a_74572426","updated":"2015-11-20 15:38:39.000000000","message":"Copy/paste error! :) Good catch Sean.","commit_id":"b406e35ed47ede57894fe0beeee5164465d77ddc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"d1d5aa943f58135cd5dd3328809f57d754bd6a0b","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104"},{"line_number":17,"context_line":"Related-blueprint: autogen-neutron-conf-file"},{"line_number":18,"context_line":"Closes-bug: #1199963"},{"line_number":19,"context_line":"Depends-On: I1c6dc4e7d479f1b7c755597caded24a0f018c712"},{"line_number":20,"context_line":"Co-Authored-By: Louis Taylor \u003clouis@kragniz.eu\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"9a8ffd7b_82d01ff9","line":18,"updated":"2015-11-30 16:25:20.000000000","message":"It would require more changes for *aas, so Partial-Bug","commit_id":"66c11815d9299be8a7788ab50d45fa80be6cbb06"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"93a6d3601933665a502754920ee304f7a618eeea","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104"},{"line_number":17,"context_line":"Related-blueprint: autogen-neutron-conf-file"},{"line_number":18,"context_line":"Closes-bug: #1199963"},{"line_number":19,"context_line":"Depends-On: I1c6dc4e7d479f1b7c755597caded24a0f018c712"},{"line_number":20,"context_line":"Co-Authored-By: Louis Taylor \u003clouis@kragniz.eu\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"9a8ffd7b_7da27a9c","line":18,"in_reply_to":"9a8ffd7b_82d01ff9","updated":"2015-11-30 16:43:49.000000000","message":"ok, updated.","commit_id":"66c11815d9299be8a7788ab50d45fa80be6cbb06"}],"lib/neutron-legacy":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"dfc93fa40efb62f520793c5152163c4604b5642a","unresolved":false,"context_lines":[{"line_number":913,"context_line":"    iniset $NEUTRON_CONF DEFAULT state_path $DATA_DIR/neutron"},{"line_number":914,"context_line":"    iniset $NEUTRON_CONF DEFAULT use_syslog $SYSLOG"},{"line_number":915,"context_line":"    iniset $NEUTRON_CONF DEFAULT bind_host $Q_LISTEN_ADDRESS"},{"line_number":916,"context_line":"    iniset $NEUTRON_CONF oslo_concurrency lock_path $DATA_DIR/neutron/lock"},{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    # If addition config files are set, make sure their path name is set as well"},{"line_number":919,"context_line":"    if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} \u003e 0 \u0026\u0026 $Q_PLUGIN_EXTRA_CONF_PATH \u003d\u003d \u0027\u0027 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"ba8a016a_18b6b73d","line":916,"updated":"2015-11-22 09:33:34.000000000","message":"why is this change required for the generation?","commit_id":"96a4d2afcb9ba4b13f127ae5bafdf9b10f353df2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"2b47a6020e4f5ff243c01a9b5d42a0260a67dd9c","unresolved":false,"context_lines":[{"line_number":913,"context_line":"    iniset $NEUTRON_CONF DEFAULT state_path $DATA_DIR/neutron"},{"line_number":914,"context_line":"    iniset $NEUTRON_CONF DEFAULT use_syslog $SYSLOG"},{"line_number":915,"context_line":"    iniset $NEUTRON_CONF DEFAULT bind_host $Q_LISTEN_ADDRESS"},{"line_number":916,"context_line":"    iniset $NEUTRON_CONF oslo_concurrency lock_path $DATA_DIR/neutron/lock"},{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    # If addition config files are set, make sure their path name is set as well"},{"line_number":919,"context_line":"    if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} \u003e 0 \u0026\u0026 $Q_PLUGIN_EXTRA_CONF_PATH \u003d\u003d \u0027\u0027 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"ba8a016a_f348b4ce","line":916,"in_reply_to":"ba8a016a_18b6b73d","updated":"2015-11-22 14:10:19.000000000","message":"Probably because the default value for lock_path via auto-generation is blank and prevents neutron from starting. Other services do something similar.","commit_id":"96a4d2afcb9ba4b13f127ae5bafdf9b10f353df2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9a3af76ac1a25661e09594ef985566371eda833f","unresolved":false,"context_lines":[{"line_number":914,"context_line":"    iniset $NEUTRON_CONF DEFAULT use_syslog $SYSLOG"},{"line_number":915,"context_line":"    iniset $NEUTRON_CONF DEFAULT bind_host $Q_LISTEN_ADDRESS"},{"line_number":916,"context_line":"    iniset $NEUTRON_CONF oslo_concurrency lock_path $DATA_DIR/neutron/lock"},{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    # If addition config files are set, make sure their path name is set as well"},{"line_number":919,"context_line":"    if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} \u003e 0 \u0026\u0026 $Q_PLUGIN_EXTRA_CONF_PATH \u003d\u003d \u0027\u0027 ]]; then"},{"line_number":920,"context_line":"        die $LINENO \"Neutron additional plugin config not set.. exiting\""}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"ba8a016a_54639141","line":917,"updated":"2015-11-23 12:33:31.000000000","message":"Yeah, lock_path does not have a proper default value and we need to set it. We had it in stock neutron.conf before, but now that we generate config files, and we don\u0027t control the output for oslo library options, we need to explicitly set it here.","commit_id":"96a4d2afcb9ba4b13f127ae5bafdf9b10f353df2"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"52544d3755e9a9e00f6817c244f5fb362abf5d23","unresolved":false,"context_lines":[{"line_number":914,"context_line":"    iniset $NEUTRON_CONF DEFAULT use_syslog $SYSLOG"},{"line_number":915,"context_line":"    iniset $NEUTRON_CONF DEFAULT bind_host $Q_LISTEN_ADDRESS"},{"line_number":916,"context_line":"    iniset $NEUTRON_CONF oslo_concurrency lock_path $DATA_DIR/neutron/lock"},{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    # If addition config files are set, make sure their path name is set as well"},{"line_number":919,"context_line":"    if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} \u003e 0 \u0026\u0026 $Q_PLUGIN_EXTRA_CONF_PATH \u003d\u003d \u0027\u0027 ]]; then"},{"line_number":920,"context_line":"        die $LINENO \"Neutron additional plugin config not set.. exiting\""}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"ba8a016a_c92a87e7","line":917,"in_reply_to":"ba8a016a_54639141","updated":"2015-11-23 14:12:28.000000000","message":"Thanks for adding the response Ihar. This was uncovered when working on the neutron patch part [1]\n\n[1] https://review.openstack.org/#/c/204206/","commit_id":"96a4d2afcb9ba4b13f127ae5bafdf9b10f353df2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7cc6d4ee406813b5e6456bc7f0c19c53253d4d9d","unresolved":false,"context_lines":[{"line_number":879,"context_line":"    # Uses oslo config generation to create the neutron.conf file as first"},{"line_number":880,"context_line":"    # option. Can use static config file as the alternative."},{"line_number":881,"context_line":"    # TODO (mhickey): decision needs to be made when static file is removed"},{"line_number":882,"context_line":"    (cd $NEUTRON_DIR \u0026\u0026 exec ./tools/generate_config_file_samples.sh)"},{"line_number":883,"context_line":"    cp $NEUTRON_DIR/etc/neutron.conf.sample $NEUTRON_CONF"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"    Q_POLICY_FILE\u003d$NEUTRON_CONF_DIR/policy.json"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"9a8ffd7b_09c3338a","line":882,"updated":"2015-11-27 18:54:11.000000000","message":"I guess we want to generate other files too. Make sure that generator is called once only. Also remove TODO since that\u0027s the approach we take - removing sample files from the tree.","commit_id":"d508b447c3fa7f9373ca78630a4c6dac12d8e9a6"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"d3d54edc7975025cd59eee16c556f4ea1a40adf4","unresolved":false,"context_lines":[{"line_number":879,"context_line":"    # Uses oslo config generation to create the neutron.conf file as first"},{"line_number":880,"context_line":"    # option. Can use static config file as the alternative."},{"line_number":881,"context_line":"    # TODO (mhickey): decision needs to be made when static file is removed"},{"line_number":882,"context_line":"    (cd $NEUTRON_DIR \u0026\u0026 exec ./tools/generate_config_file_samples.sh)"},{"line_number":883,"context_line":"    cp $NEUTRON_DIR/etc/neutron.conf.sample $NEUTRON_CONF"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"    Q_POLICY_FILE\u003d$NEUTRON_CONF_DIR/policy.json"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"9a8ffd7b_ef982f7a","line":882,"in_reply_to":"9a8ffd7b_09c3338a","updated":"2015-11-27 20:55:47.000000000","message":"OK, updates done.","commit_id":"d508b447c3fa7f9373ca78630a4c6dac12d8e9a6"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"d1d5aa943f58135cd5dd3328809f57d754bd6a0b","unresolved":false,"context_lines":[{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"},{"line_number":906,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a8ffd7b_221613a8","line":903,"updated":"2015-11-30 16:25:20.000000000","message":"note to reviewers: this is for those plugins that don\u0027t use generator yet.","commit_id":"66c11815d9299be8a7788ab50d45fa80be6cbb06"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"93a6d3601933665a502754920ee304f7a618eeea","unresolved":false,"context_lines":[{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"},{"line_number":906,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a8ffd7b_3dc3923a","line":903,"in_reply_to":"9a8ffd7b_221613a8","updated":"2015-11-30 16:43:49.000000000","message":"Ok.","commit_id":"66c11815d9299be8a7788ab50d45fa80be6cbb06"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"459fa5989505a19cddafffe51d6e8c53c66bf20c","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_4aa0f2a5","line":902,"updated":"2015-12-01 05:43:41.000000000","message":"\"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" points ml2_conf.ini.sample only. We should fix the following rather than cheking sample file.\n\nhttps://github.com/openstack-dev/devstack/blob/master/lib/neutron_plugins/ml2#L59","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"45af6cbe22808c726db04e51f27c3d586a174a8a","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_dff42c5c","line":902,"in_reply_to":"9a8ffd7b_0546f44e","updated":"2015-12-02 19:11:27.000000000","message":"Hirofumi, so I see what you mean, but it\u0027s already that way, and out of scope for the patch.","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"49ffbe403229bf7907659792af9e29e79eddd544","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_887b197b","line":902,"in_reply_to":"9a8ffd7b_4aa0f2a5","updated":"2015-12-01 17:27:15.000000000","message":"Hirofumi, I don\u0027t follow. We copy sample file to ml2_conf.ini location, then use the file to configure ml2. What\u0027s the problem you try to point to?\n\nNote that Q_PLUGIN_CONF_FILE may be not ml2, in which case we cannot expect that sample files are available (those plugins can still manage their config files statically, not using generator). That\u0027s why we should leave the if-else here.","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"ce6e5185f5a8de590eb074ab9057a6aac87384a6","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_9200ed02","line":902,"in_reply_to":"9a8ffd7b_887b197b","updated":"2015-12-02 14:56:06.000000000","message":"Because neutron oslo generator creates ml2_conf.ini.sample only. Q_PLUGIN_CONF_FILE may set midonet, vmware, odl or another but these config is \"NOT\" in $NEUTRON_DIR. These vendor plugin configs are generated in other places and each plugin will copy it to \"/$Q_PLUGIN_CONF_FILE\" by themself.\n\nTherefore, this if-statement checks ml2_conf.ini.sample only.","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"},{"author":{"_account_id":9551,"name":"Martin Hickey","email":"martin.hickey@ie.ibm.com","username":"mhickey"},"change_message_id":"5dcbf9e4d312eed2af12285c05883586bb69c69c","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_0546f44e","line":902,"in_reply_to":"9a8ffd7b_9200ed02","updated":"2015-12-02 16:15:13.000000000","message":"Hirofumi, it is correct that the if statement copies ml2_conf.ini.sample only. \n\nIs this however because the underlying DevStack code does not following the paradigm as defined in \u0027lib/neutron_plugins/README.md\u0027? The paradigm is that each file in the plugins directory provides it name as the \u0027$Q_PLUGIN\u0027 variable and subsequently \u0027Q_PLUGIN_CONF_FILE\u0027 variable. If it followed the paradigm then you would have the likes of linuxbridge_agent and openvswitch_agent and therefore the need for the different core sample config file and this is where the if statement would be needed.\n\nMaybe the paradigm is obsoleted or maybe there is a bug? Either way, I think this is out the scope of this patch and therefore the changes need to follow the current code paradigm.","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7aada6fe502fd4dfb69f90091390c059d83b3669","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    # NOTE(hichihara): Some neutron vendor plugins were already decomposed and"},{"line_number":900,"context_line":"    # there is no config file in Neutron tree. They should prepare the file in each plugin."},{"line_number":901,"context_line":"    if [ -f \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" ]; then"},{"line_number":902,"context_line":"        cp \"$NEUTRON_DIR/$Q_PLUGIN_CONF_FILE.sample\" /$Q_PLUGIN_CONF_FILE"},{"line_number":903,"context_line":"    elif [ -f $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE ]; then"},{"line_number":904,"context_line":"        cp $NEUTRON_DIR/$Q_PLUGIN_CONF_FILE /$Q_PLUGIN_CONF_FILE"},{"line_number":905,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"9a8ffd7b_9dfa2276","line":902,"in_reply_to":"9a8ffd7b_dff42c5c","updated":"2015-12-02 23:28:12.000000000","message":"I understand that this patch avoids facing another bug. That is certainly true. This is simple way to circumvent the bug.\n\nI\u0027ll take care of it by myself.","commit_id":"30d5fae31548ed998e4c053ba957f95e068eaebc"}]}
