)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"9ebf42aeeea44d0953d68f431ec1b60db2b76e23","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"$TROVE_DIR\"/trove/templates/\"$TROVE_DATASTORE_TYPE\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"}],"source_content_type":"text/x-sh","patch_set":2,"id":"da85f559_50b92a78","line":201,"updated":"2015-11-10 20:00:03.000000000","message":"I believe the preferred variable usage syntax within concatenated strings is ${VAR}, as in the echo statement.  I\u0027m not sure if all shells would handle the quotes correctly as used.","commit_id":"2d785e527510e5f35597bbc2318e729c2dd76d89"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"ac1c11db1f835717ea0d212059cd6a2985313c2d","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"$TROVE_DIR\"/trove/templates/\"$TROVE_DATASTORE_TYPE\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"}],"source_content_type":"text/x-sh","patch_set":2,"id":"da85f559_fbd35f02","line":201,"in_reply_to":"da85f559_50b92a78","updated":"2015-11-10 20:11:14.000000000","message":"This is the code as it was in the old devstack but yes, the {} notation is also used. I have no idea which is better.","commit_id":"2d785e527510e5f35597bbc2318e729c2dd76d89"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"c992007ddf8b2c781e8fef66b4150db208f1ed24","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"$TROVE_DIR\"/trove/templates/\"$TROVE_DATASTORE_TYPE\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"}],"source_content_type":"text/x-sh","patch_set":2,"id":"dab17558_f2662b28","line":201,"in_reply_to":"da85f559_fbd35f02","updated":"2016-05-12 15:56:19.000000000","message":"Quotes indicates that the value for the variable should be handled as a single word (no matter if it\u0027s a string with spaces), and braces are used for disambiguation. In this case, handling paths, I think either notation is fine.","commit_id":"2d785e527510e5f35597bbc2318e729c2dd76d89"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7d1cfdaeae5a5f81bf8962b974c074c4e3cc6e16","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    # If no guest image is specified, skip remaining setup"},{"line_number":176,"context_line":"    [ -z \"$TROVE_GUEST_IMAGE_URL\" ] \u0026\u0026 return 0"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    # Find the glance id for the trove guest image"},{"line_number":179,"context_line":"    # The image is uploaded by stack.sh -- see $IMAGE_URLS handling"},{"line_number":180,"context_line":"    GUEST_IMAGE_NAME\u003d$(basename \"$TROVE_GUEST_IMAGE_URL\")"},{"line_number":181,"context_line":"    GUEST_IMAGE_NAME\u003d${GUEST_IMAGE_NAME%.*}"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    TOKEN\u003d$(openstack token issue -c id -f value)"},{"line_number":184,"context_line":"    TROVE_GUEST_IMAGE_ID\u003d$(openstack --os-token $TOKEN --os-url $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT image list | grep \"${GUEST_IMAGE_NAME}\" | get_field 1)"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_627b047c","line":181,"range":{"start_line":178,"start_character":0,"end_line":181,"end_character":43},"updated":"2015-11-11 22:42:48.000000000","message":"GUEST_IMAGE_NAME ends up being \u0027mysql\u0027 by default, so can\u0027t we just use TROVE_DATASTORE_TYPE instead?  All devstack will ever support (in my opinion) is the image that is currently uploaded, so maybe we can get rid of TROVE_GUEST_IMAGE_URL entirely.","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4f1218721e073e5f3fdbaec92398ae1a70c6e474","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    # If no guest image is specified, skip remaining setup"},{"line_number":176,"context_line":"    [ -z \"$TROVE_GUEST_IMAGE_URL\" ] \u0026\u0026 return 0"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    # Find the glance id for the trove guest image"},{"line_number":179,"context_line":"    # The image is uploaded by stack.sh -- see $IMAGE_URLS handling"},{"line_number":180,"context_line":"    GUEST_IMAGE_NAME\u003d$(basename \"$TROVE_GUEST_IMAGE_URL\")"},{"line_number":181,"context_line":"    GUEST_IMAGE_NAME\u003d${GUEST_IMAGE_NAME%.*}"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    TOKEN\u003d$(openstack token issue -c id -f value)"},{"line_number":184,"context_line":"    TROVE_GUEST_IMAGE_ID\u003d$(openstack --os-token $TOKEN --os-url $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT image list | grep \"${GUEST_IMAGE_NAME}\" | get_field 1)"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_cf051546","line":181,"range":{"start_line":178,"start_character":0,"end_line":181,"end_character":43},"in_reply_to":"da85f559_627b047c","updated":"2015-11-12 12:54:40.000000000","message":"We should talk about this because I don\u0027t know how you could do that.","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7d1cfdaeae5a5f81bf8962b974c074c4e3cc6e16","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    $TROVE_MANAGE datastore_update \"Inactive_Datastore\" \"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_dc75f931","line":200,"range":{"start_line":200,"start_character":26,"end_line":200,"end_character":34},"updated":"2015-11-11 22:42:48.000000000","message":"typo - should be \u0027configure\u0027","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4f1218721e073e5f3fdbaec92398ae1a70c6e474","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    $TROVE_MANAGE datastore_update \"Inactive_Datastore\" \"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_ef24990d","line":200,"range":{"start_line":200,"start_character":26,"end_line":200,"end_character":34},"in_reply_to":"da85f559_dc75f931","updated":"2015-11-12 12:54:40.000000000","message":"It\u0027s a new word.","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7d1cfdaeae5a5f81bf8962b974c074c4e3cc6e16","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_fc147de9","line":201,"updated":"2015-11-11 22:42:48.000000000","message":"Typically I\u0027ve seen this written with one set of quotes:\n\n  if [ -f \"${TROVE_DIR}/trove/templates/${TROVE_DATASTORE_TYPE}/validation-rules.json\" ]; then\n\n\nBut I ran a quick test and it doesn\u0027t make a difference:\n\n    # mkdir \"my dir\"\n    # echo \"data\" \u003e \"my dir/myfile\"\n    # cat \"my dir/myfile\"\n    data\n    # export DIR\u003d\"my dir\"\n    # cat \"${DIR}\"/myfile\n    data\n    # cat \"${DIR}/myfile\"\n    data\n    # cat ${DIR}/myfile\n    cat: my: No such file or directory\n    cat: dir/myfile: No such file or directory\n\nI tend to like the quotes around the whole expression, but that\u0027s just personal preference.","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4f1218721e073e5f3fdbaec92398ae1a70c6e474","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    # Some datastores provide validation rules."},{"line_number":200,"context_line":"    # if one is provided, configre it."},{"line_number":201,"context_line":"    if [ -f \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json ]; then"},{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_2fd381d6","line":201,"in_reply_to":"da85f559_fc147de9","updated":"2015-11-12 12:54:40.000000000","message":"Thanks, what would you like me to change or not change? I picked up this hunk of code from redstack. Would you like me to change redstack?","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7d1cfdaeae5a5f81bf8962b974c074c4e3cc6e16","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"},{"line_number":205,"context_line":"            \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json"},{"line_number":206,"context_line":"    fi"},{"line_number":207,"context_line":"}"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_9ca451ba","line":205,"updated":"2015-11-11 22:42:48.000000000","message":"ditto","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4f1218721e073e5f3fdbaec92398ae1a70c6e474","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        echo \"Configuring validation rules for ${TROVE_DATASTORE_TYPE}\""},{"line_number":203,"context_line":"        $TROVE_MANAGE db_load_datastore_config_parameters \\"},{"line_number":204,"context_line":"            \"$TROVE_DATASTORE_TYPE\" \"$TROVE_DATASTORE_VERSION\" \\"},{"line_number":205,"context_line":"            \"${TROVE_DIR}\"/trove/templates/\"${TROVE_DATASTORE_TYPE}\"/validation-rules.json"},{"line_number":206,"context_line":"    fi"},{"line_number":207,"context_line":"}"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"da85f559_8fe4edab","line":205,"in_reply_to":"da85f559_9ca451ba","updated":"2015-11-12 12:54:40.000000000","message":"ditto","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"}],"devstack/settings":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"9ebf42aeeea44d0953d68f431ec1b60db2b76e23","unresolved":false,"context_lines":[{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"da85f559_5b238ba7","line":47,"updated":"2015-11-10 20:00:03.000000000","message":"Is this used anywhere?","commit_id":"2d785e527510e5f35597bbc2318e729c2dd76d89"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"ac1c11db1f835717ea0d212059cd6a2985313c2d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"da85f559_9b96d33d","line":47,"in_reply_to":"da85f559_5b238ba7","updated":"2015-11-10 20:11:14.000000000","message":"It is ... see the commit message. You have to set this if you want to trigger the code in init_trove.","commit_id":"2d785e527510e5f35597bbc2318e729c2dd76d89"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7d1cfdaeae5a5f81bf8962b974c074c4e3cc6e16","unresolved":false,"context_lines":[{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da85f559_ff178f42","line":47,"updated":"2015-11-11 22:42:48.000000000","message":"Not sure how having a commented out line here helps.  devstack pulls the code from the repo and runs the plugin.  By the time the user can see this, devstack is already installed and the image won\u0027t be uploaded unless PRECACHE_IMAGES is True (and devstack uploads from a hardcoded URL).  Plus the variable is only used in the plugin to check if the image is uploaded; if the value is changed incorrectly then even that won\u0027t work.  Plus see my other comment - maybe we don\u0027t need this at all ...","commit_id":"8283d7ef50a66100012a385510ecb36785f6b5e4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"ed9a517a1d4b043bd9e2d68064f0f4d66f1fa62d","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1a122d0e_b0ef5c85","line":46,"updated":"2016-05-03 22:23:28.000000000","message":"Any reason to keep these 2 commented lines here?","commit_id":"4c81e247f256d0ea4fdeffcd4256bf7ab3a2a928"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"2a390db628b2483558fc733e65200bf77b7d11b3","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1a122d0e_f42408c7","line":46,"in_reply_to":"1a122d0e_3253353b","updated":"2016-05-04 14:56:43.000000000","message":"whatever, I\u0027ll just remove it.","commit_id":"4c81e247f256d0ea4fdeffcd4256bf7ab3a2a928"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"77cd67ee33d4d52cd7c1507347a1c829ad0d1caa","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1a122d0e_3253353b","line":46,"in_reply_to":"1a122d0e_6117b845","updated":"2016-05-04 14:16:24.000000000","message":"Fair enough, I don\u0027t mind having it here, tbh. Sounds like keeping it uncommented wouldn\u0027t hurt either and It\u0027d avoid making changes to the file when it\u0027s needed.\n\nThoughts?","commit_id":"4c81e247f256d0ea4fdeffcd4256bf7ab3a2a928"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"713fcd109e4fd2439d9d6eb2e5a66b9afde97af4","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"enable_service trove tr-api tr-tmgr tr-cond"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# identify the default image URL"},{"line_number":47,"context_line":"# TROVE_GUEST_IMAGE_URL\u003dhttp://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1a122d0e_6117b845","line":46,"in_reply_to":"1a122d0e_b0ef5c85","updated":"2016-05-03 23:56:41.000000000","message":"Other than the reason provided in the commit message, none.\n\n\u003e The change to settings provides a commented line \n\u003e that indicates the default location of the trove \n\u003e image on tarballs.openstack.org.\n\nI\u0027ve had occasion to uncomment this line and find that it is useful not to delete it and have to remember what it should have been.","commit_id":"4c81e247f256d0ea4fdeffcd4256bf7ab3a2a928"}]}
