)]}'
{"7bcd2a25.diff":[{"author":{"_account_id":22514,"name":"fengchaoyang","email":"fengchaoyang@unitedstack.com","username":"fengchaoyang"},"change_message_id":"a5fd3ed7ef1276110b42b2a22551634759751c2d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"@@ -167,8 +167,12 @@"},{"line_number":17,"context_line":"     def _list_object_names_to_process(self, prefix\u003d\"\"):"},{"line_number":18,"context_line":"         with rados.ReadOpCtx() as op:"},{"line_number":19,"context_line":"             omaps, ret \u003d self.ioctx.get_omap_vals(op, \"\", prefix, -1)"},{"line_number":20,"context_line":"-            self.ioctx.operate_read_op("},{"line_number":21,"context_line":"-                op, self.MEASURE_PREFIX, flag\u003dself.OMAP_READ_FLAGS)"},{"line_number":22,"context_line":"+            try:"}],"source_content_type":"text/x-diff","patch_set":27,"id":"1a95cdbc_bb579ac8","line":19,"range":{"start_line":19,"start_character":30,"end_line":19,"end_character":31},"updated":"2016-10-09 09:07:39.000000000","message":"Why do we need this file?","commit_id":"bd142765daff8ced7b6919d2e33158bcc9bcfd6e"}],"run-upgrade-tests.sh":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    echo \"* Injecting measures in Gnocchi\""},{"line_number":34,"context_line":"    # TODO(sileht): Generate better data that ensure we have enought split that cover all"},{"line_number":35,"context_line":"    # situation"},{"line_number":36,"context_line":"    resource_ids\u003d\"5a301761-aaaa-46e2-8900-8b4f6fe6675a 5a301761-bbbb-46e2-8900-8b4f6fe6675a 5a301761-cccc-46e2-8900-8b4f6fe6675a\""},{"line_number":37,"context_line":"    batch\u003d$1/batch"},{"line_number":38,"context_line":"    batch_tmp\u003d$1/batch_tmp"},{"line_number":39,"context_line":"    \u003e $batch"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_70b675dd","line":36,"updated":"2016-09-12 09:41:59.000000000","message":"nit can you use an array or something so it\u0027s more readable?","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9a12d6e144b667208b076933ad5d7750d73cb3a7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    echo \"* Injecting measures in Gnocchi\""},{"line_number":34,"context_line":"    # TODO(sileht): Generate better data that ensure we have enought split that cover all"},{"line_number":35,"context_line":"    # situation"},{"line_number":36,"context_line":"    resource_ids\u003d\"5a301761-aaaa-46e2-8900-8b4f6fe6675a 5a301761-bbbb-46e2-8900-8b4f6fe6675a 5a301761-cccc-46e2-8900-8b4f6fe6675a\""},{"line_number":37,"context_line":"    batch\u003d$1/batch"},{"line_number":38,"context_line":"    batch_tmp\u003d$1/batch_tmp"},{"line_number":39,"context_line":"    \u003e $batch"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_4ea1cda8","line":36,"in_reply_to":"9a89bdaa_70b675dd","updated":"2016-09-12 11:28:11.000000000","message":"Done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    data\u003d$(cat $batch)"},{"line_number":52,"context_line":"    cat \u003e $batch \u003c\u003cEOF"},{"line_number":53,"context_line":"{${data::-1}}"},{"line_number":54,"context_line":"EOF"},{"line_number":55,"context_line":"    gnocchi measures batch-resources-metrics $batch"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    echo \"* Waiting for measures computation\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_f0f8c57e","line":54,"updated":"2016-09-12 09:41:59.000000000","message":"I\u0027m a bit disapointed you used a temporary file ;)","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9a12d6e144b667208b076933ad5d7750d73cb3a7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    data\u003d$(cat $batch)"},{"line_number":52,"context_line":"    cat \u003e $batch \u003c\u003cEOF"},{"line_number":53,"context_line":"{${data::-1}}"},{"line_number":54,"context_line":"EOF"},{"line_number":55,"context_line":"    gnocchi measures batch-resources-metrics $batch"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    echo \"* Waiting for measures computation\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_aeaed995","line":54,"in_reply_to":"9a89bdaa_f0f8c57e","updated":"2016-09-12 11:28:11.000000000","message":"Done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    echo \"* Waiting for measures computation\""},{"line_number":58,"context_line":"    count\u003d1"},{"line_number":59,"context_line":"    while [ $count -gt 0 ]; do"},{"line_number":60,"context_line":"        count\u003d$(gnocchi status -c \"storage/total number of measures to process\" -f value)"},{"line_number":61,"context_line":"        sleep 1"},{"line_number":62,"context_line":"    done"},{"line_number":63,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_9015b99c","line":60,"updated":"2016-09-12 09:41:59.000000000","message":"You could just while on that directly no?\n\nwhile [ $(gnocchi status -f value blabla) -gt 0]; do sleep 1; done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9a12d6e144b667208b076933ad5d7750d73cb3a7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    echo \"* Waiting for measures computation\""},{"line_number":58,"context_line":"    count\u003d1"},{"line_number":59,"context_line":"    while [ $count -gt 0 ]; do"},{"line_number":60,"context_line":"        count\u003d$(gnocchi status -c \"storage/total number of measures to process\" -f value)"},{"line_number":61,"context_line":"        sleep 1"},{"line_number":62,"context_line":"    done"},{"line_number":63,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_ce95dd40","line":60,"in_reply_to":"9a89bdaa_9015b99c","updated":"2016-09-12 11:28:11.000000000","message":"Done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":83,"context_line":"gnocchi-upgrade --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi"},{"line_number":84,"context_line":"gnocchi-metricd --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e/dev/null \u0026"},{"line_number":85,"context_line":"gnocchi-api -p 8041 -- --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e$GNOCCHI_DATA/out \u0026"},{"line_number":86,"context_line":"wait_for_line \"Available at\" $GNOCCHI_DATA/out"},{"line_number":87,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":88,"context_line":"dump_data $GNOCCHI_DATA/old \"$resource_ids\""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_9063f940","line":86,"updated":"2016-09-12 09:41:59.000000000","message":"Why don\u0027t you use pifpaf here?","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"2912867382b918faf917bfcc9195c9683e885533","unresolved":false,"context_lines":[{"line_number":83,"context_line":"gnocchi-upgrade --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi"},{"line_number":84,"context_line":"gnocchi-metricd --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e/dev/null \u0026"},{"line_number":85,"context_line":"gnocchi-api -p 8041 -- --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e$GNOCCHI_DATA/out \u0026"},{"line_number":86,"context_line":"wait_for_line \"Available at\" $GNOCCHI_DATA/out"},{"line_number":87,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":88,"context_line":"dump_data $GNOCCHI_DATA/old \"$resource_ids\""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_ebe29300","line":86,"in_reply_to":"9a89bdaa_9063f940","updated":"2016-09-12 11:15:02.000000000","message":"Because pifpaf run it own database, I need to keep the database between old and new gnocchi. Also pifpaf support only file backend.","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0b67605fa2a6589c1e290a9cf3db6f76accf3fa0","unresolved":false,"context_lines":[{"line_number":83,"context_line":"gnocchi-upgrade --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi"},{"line_number":84,"context_line":"gnocchi-metricd --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e/dev/null \u0026"},{"line_number":85,"context_line":"gnocchi-api -p 8041 -- --config-dir\u003d$VIRTUAL_ENV/etc/gnocchi \u0026\u003e$GNOCCHI_DATA/out \u0026"},{"line_number":86,"context_line":"wait_for_line \"Available at\" $GNOCCHI_DATA/out"},{"line_number":87,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":88,"context_line":"dump_data $GNOCCHI_DATA/old \"$resource_ids\""},{"line_number":89,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_d4200cb3","line":86,"in_reply_to":"9a89bdaa_ebe29300","updated":"2016-09-12 12:01:41.000000000","message":"Right. We could fix that in pifpaf I guess.","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"echo \"* Checking output difference between Gnocchi $old_version and $new_version\""},{"line_number":105,"context_line":"diff -uNr $GNOCCHI_DATA/old $GNOCCHI_DATA/new"},{"line_number":106,"context_line":"ret\u003d$?"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"exit $ret"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_70ee758c","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":9},"updated":"2016-09-12 09:41:59.000000000","message":"Not sure that\u0027s useful since you set -e","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9a12d6e144b667208b076933ad5d7750d73cb3a7","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"echo \"* Checking output difference between Gnocchi $old_version and $new_version\""},{"line_number":105,"context_line":"diff -uNr $GNOCCHI_DATA/old $GNOCCHI_DATA/new"},{"line_number":106,"context_line":"ret\u003d$?"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"exit $ret"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a89bdaa_ee90e150","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":9},"in_reply_to":"9a89bdaa_70ee758c","updated":"2016-09-12 11:28:11.000000000","message":"Done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"32fa2a0b5c6457a54a81cadc9d5c60c58f09387c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"export GNOCCHI_ENDPOINT\u003dhttp://localhost:8041"},{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(readlink -f $(mktemp -d /tmp/gnocchi.XXXX))"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"9a89bdaa_1aa9bb7b","line":8,"range":{"start_line":8,"start_character":36,"end_line":8,"end_character":63},"updated":"2016-09-12 12:38:31.000000000","message":"Please respect TMPDIR, just mktemp -d -t gnocchi.XXXX that\u0027s it","commit_id":"30870f99c3d8ccf51775516bc3ea950b0a4ed384"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"32fa2a0b5c6457a54a81cadc9d5c60c58f09387c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"export GNOCCHI_ENDPOINT\u003dhttp://localhost:8041"},{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(readlink -f $(mktemp -d /tmp/gnocchi.XXXX))"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"9a89bdaa_3abaffe1","line":8,"updated":"2016-09-12 12:38:31.000000000","message":"readlink: illegal option -- f","commit_id":"30870f99c3d8ccf51775516bc3ea950b0a4ed384"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"32fa2a0b5c6457a54a81cadc9d5c60c58f09387c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            echo -n \"$resource_sep \\\"$resource_id\\\": { \\\"metric\\\": [ \""},{"line_number":50,"context_line":"            measures_sep\u003d\"\""},{"line_number":51,"context_line":"            for i in $(seq 1 1000); do"},{"line_number":52,"context_line":"                now\u003d$(date --iso-8601\u003ds -d \"-${i}minute\") ; value\u003d$((RANDOM % 13 + 52))"},{"line_number":53,"context_line":"                echo -n \"$measures_sep {\\\"timestamp\\\": \\\"$now\\\", \\\"value\\\": $value }\""},{"line_number":54,"context_line":"                measures_sep\u003d\",\""},{"line_number":55,"context_line":"            done"}],"source_content_type":"text/x-sh","patch_set":5,"id":"9a89bdaa_7a9f2703","line":52,"range":{"start_line":52,"start_character":22,"end_line":52,"end_character":56},"updated":"2016-09-12 12:38:31.000000000","message":"date: illegal option -- -\n\nNot sure how to solve this one as there\u0027s no date command that accept an input on darwin :p\n\ndate -u +%FT%T%z\n\nis ok for the format on both at least.\n\nif we can\u0027t find anything portable, i\u0027d say go ahead with trynig to use \"gdate\" instead of date if available (I have GNU date installed this way :-)","commit_id":"30870f99c3d8ccf51775516bc3ea950b0a4ed384"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"fb0d494a39df3f8d027ab642c66044ed92115682","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        for resource_id in $RESOURCE_IDS; do"},{"line_number":39,"context_line":"            echo -n \"$resource_sep \\\"$resource_id\\\": { \\\"metric\\\": [ \""},{"line_number":40,"context_line":"            measures_sep\u003d\"\""},{"line_number":41,"context_line":"            for i in $(seq 1 1000); do"},{"line_number":42,"context_line":"                now\u003d$(date --iso-8601\u003ds -d \"-${i}minute\") ; value\u003d$((RANDOM % 13 + 52))"},{"line_number":43,"context_line":"                echo -n \"$measures_sep {\\\"timestamp\\\": \\\"$now\\\", \\\"value\\\": $value }\""},{"line_number":44,"context_line":"                measures_sep\u003d\",\""}],"source_content_type":"text/x-sh","patch_set":16,"id":"7a8ec9b2_02a94a7b","line":41,"updated":"2016-09-15 17:24:57.000000000","message":"This is not building enough points.\n\nThe old code was splitting data on 14400 points, and the new code on 3600. So we need at least 14400 points, and spread over a long period of time.","commit_id":"e8b4c95ea22ce627cc6bc40b7c1e1228162f6008"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"fb0d494a39df3f8d027ab642c66044ed92115682","unresolved":false,"context_lines":[{"line_number":70,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":71,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python2.7/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":74,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":75,"context_line":"dump_data $GNOCCHI_DATA/old"},{"line_number":76,"context_line":"pifpaf_stop"}],"source_content_type":"text/x-sh","patch_set":16,"id":"7a8ec9b2_420b528e","line":73,"updated":"2016-09-15 17:24:57.000000000","message":"hummm you should (somehow) also trap EXIT for pifpaf_stop\n\nI think doing\npifpaf_stop() {} on line 55\nand calling pifpaf_stop() in cleanup() should cover that","commit_id":"e8b4c95ea22ce627cc6bc40b7c1e1228162f6008"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c4b599507fc7beb1cb8bfda164457518d8596db3","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# NOTE(sileht): temporary fix a gnocchi 2.2 bug"},{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python2.7/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"}],"source_content_type":"text/x-sh","patch_set":17,"id":"7a8ec9b2_2c38db3c","line":76,"range":{"start_line":76,"start_character":30,"end_line":76,"end_character":39},"updated":"2016-09-16 09:59:24.000000000","message":"This fails with the py35-upgrade-2.2 target try python?.? or something like that","commit_id":"b4b5c7398364c36063d6b3038ab405ee874f52c1"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c065116f813c9a629fda7aa315cd58557eef86d4","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# NOTE(sileht): temporary fix a gnocchi 2.2 bug"},{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python2.7/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"}],"source_content_type":"text/x-sh","patch_set":17,"id":"7a8ec9b2_16c925ac","line":76,"range":{"start_line":76,"start_character":30,"end_line":76,"end_character":39},"in_reply_to":"7a8ec9b2_2c38db3c","updated":"2016-09-19 08:07:46.000000000","message":"Done","commit_id":"b4b5c7398364c36063d6b3038ab405ee874f52c1"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7efaea056b71b6d9e98abb7cc4cf8df7cbfef7aa","unresolved":false,"context_lines":[{"line_number":5,"context_line":"export GNOCCHI_ENDPOINT\u003dhttp://localhost:8041"},{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(mktemp -td gnocchi.XXXX)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_87e16c9d","line":8,"updated":"2016-09-19 14:28:11.000000000","message":"This is too much GNU syntax :p\n\nchange with mktemp -d -t gnocchi.XXXX\n\n(otherwise the BSD version creates 2 temp file/dir)","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4dabc3703b9b6e39437c7b93ed3babbd29e3d16","unresolved":false,"context_lines":[{"line_number":5,"context_line":"export GNOCCHI_ENDPOINT\u003dhttp://localhost:8041"},{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(mktemp -td gnocchi.XXXX)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_543e292a","line":8,"in_reply_to":"7a8ec9b2_87e16c9d","updated":"2016-09-19 15:29:51.000000000","message":"Done","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7efaea056b71b6d9e98abb7cc4cf8df7cbfef7aa","unresolved":false,"context_lines":[{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(mktemp -td gnocchi.XXXX)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""},{"line_number":12,"context_line":"    \"5a301761-bbbb-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_385d1949","line":9,"updated":"2016-09-19 14:28:11.000000000","message":"add:\n\nGDATE\u003d$((which gdate \u003e/dev/null \u0026\u0026 echo gdate) || echo date)","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4dabc3703b9b6e39437c7b93ed3babbd29e3d16","unresolved":false,"context_lines":[{"line_number":6,"context_line":"export GNOCCHI_USER_ID\u003d99aae-4dc2-4fbc-b5b8-9688c470d9cc"},{"line_number":7,"context_line":"export GNOCCHI_PROJECT_ID\u003dc8d27445-48af-457c-8e0d-1de7103eae1f"},{"line_number":8,"context_line":"export GNOCCHI_DATA\u003d$(mktemp -td gnocchi.XXXX)"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RESOURCE_IDS\u003d("},{"line_number":11,"context_line":"    \"5a301761-aaaa-46e2-8900-8b4f6fe6675a\""},{"line_number":12,"context_line":"    \"5a301761-bbbb-46e2-8900-8b4f6fe6675a\""}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_743b2539","line":9,"in_reply_to":"7a8ec9b2_385d1949","updated":"2016-09-19 15:29:51.000000000","message":"Done","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7efaea056b71b6d9e98abb7cc4cf8df7cbfef7aa","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            echo -n \"$resource_sep \\\"$resource_id\\\": { \\\"metric\\\": [ \""},{"line_number":40,"context_line":"            measures_sep\u003d\"\""},{"line_number":41,"context_line":"            for i in $(seq 0 10 288000); do"},{"line_number":42,"context_line":"                now\u003d$(date --iso-8601\u003ds -d \"-${i}minute\") ; value\u003d$((RANDOM % 13 + 52))"},{"line_number":43,"context_line":"                echo -n \"$measures_sep {\\\"timestamp\\\": \\\"$now\\\", \\\"value\\\": $value }\""},{"line_number":44,"context_line":"                measures_sep\u003d\",\""},{"line_number":45,"context_line":"            done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_98546d22","line":42,"range":{"start_line":42,"start_character":22,"end_line":42,"end_character":26},"updated":"2016-09-19 14:28:11.000000000","message":"$GDATE","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4dabc3703b9b6e39437c7b93ed3babbd29e3d16","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            echo -n \"$resource_sep \\\"$resource_id\\\": { \\\"metric\\\": [ \""},{"line_number":40,"context_line":"            measures_sep\u003d\"\""},{"line_number":41,"context_line":"            for i in $(seq 0 10 288000); do"},{"line_number":42,"context_line":"                now\u003d$(date --iso-8601\u003ds -d \"-${i}minute\") ; value\u003d$((RANDOM % 13 + 52))"},{"line_number":43,"context_line":"                echo -n \"$measures_sep {\\\"timestamp\\\": \\\"$now\\\", \\\"value\\\": $value }\""},{"line_number":44,"context_line":"                measures_sep\u003d\",\""},{"line_number":45,"context_line":"            done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_d41079ae","line":42,"range":{"start_line":42,"start_character":22,"end_line":42,"end_character":26},"in_reply_to":"7a8ec9b2_98546d22","updated":"2016-09-19 15:29:51.000000000","message":"Done","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7efaea056b71b6d9e98abb7cc4cf8df7cbfef7aa","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# NOTE(sileht): temporary fix a gnocchi 2.2 bug"},{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python*/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_87ffaca9","line":76,"updated":"2016-09-19 14:28:11.000000000","message":"If you run twice the script, then the second time it\u0027s going to fail IIUC","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4dabc3703b9b6e39437c7b93ed3babbd29e3d16","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# NOTE(sileht): temporary fix a gnocchi 2.2 bug"},{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python*/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_b4e12d9d","line":76,"in_reply_to":"7a8ec9b2_87ffaca9","updated":"2016-09-19 15:29:51.000000000","message":"It works because the virtualenv is created with \"recreate\u003dTrue\".\n\nAnd because this is a upgrade test, we must start with a clean virtualenv each time.","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7efaea056b71b6d9e98abb7cc4cf8df7cbfef7aa","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python*/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":80,"context_line":"dump_data $GNOCCHI_DATA/old"},{"line_number":81,"context_line":"pifpaf_stop"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_c72ff43c","line":78,"updated":"2016-09-19 14:28:11.000000000","message":"So if that fails, the script does not stop. Not a big deal though since inject_data will fail early with connection error.","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d95611746382985961e26ad2011ad9a8f2ead00d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python*/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":80,"context_line":"dump_data $GNOCCHI_DATA/old"},{"line_number":81,"context_line":"pifpaf_stop"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_efbd9ed8","line":78,"in_reply_to":"7a8ec9b2_94a99127","updated":"2016-09-19 15:30:21.000000000","message":"It\u0027s not done, this one is tricky","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4dabc3703b9b6e39437c7b93ed3babbd29e3d16","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# https://review.openstack.org/#/c/369011/"},{"line_number":76,"context_line":"patch -p2 -d $VIRTUAL_ENV/lib/python*/site-packages/gnocchi \u003c 7bcd2a25.diff"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":79,"context_line":"inject_data $GNOCCHI_DATA"},{"line_number":80,"context_line":"dump_data $GNOCCHI_DATA/old"},{"line_number":81,"context_line":"pifpaf_stop"}],"source_content_type":"text/x-sh","patch_set":22,"id":"7a8ec9b2_94a99127","line":78,"in_reply_to":"7a8ec9b2_c72ff43c","updated":"2016-09-19 15:29:51.000000000","message":"Done","commit_id":"77db761b313b16cbdc80386b51c3fa2d1a01cf23"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a8e30fe1cf618fbec61e114b83a6c045af6a50e0","unresolved":false,"context_lines":[{"line_number":86,"context_line":"new_version\u003d$(python setup.py --version)"},{"line_number":87,"context_line":"echo \"* Upgrading Gnocchi from $old_version to $new_version\""},{"line_number":88,"context_line":"pip install -q -U .[${GNOCCHI_VARIANT}]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":92,"context_line":"dump_data $GNOCCHI_DATA/new"}],"source_content_type":"text/x-sh","patch_set":27,"id":"5a8bc5a2_45ed8c8a","line":89,"updated":"2016-09-22 12:36:10.000000000","message":"shouldn\u0027t there be a gnocchi-upgrade somewhere?","commit_id":"bd142765daff8ced7b6919d2e33158bcc9bcfd6e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c2b4c0a4b4e3387e4af613663d21fd7aa6a8e64d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"new_version\u003d$(python setup.py --version)"},{"line_number":87,"context_line":"echo \"* Upgrading Gnocchi from $old_version to $new_version\""},{"line_number":88,"context_line":"pip install -q -U .[${GNOCCHI_VARIANT}]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":92,"context_line":"dump_data $GNOCCHI_DATA/new"}],"source_content_type":"text/x-sh","patch_set":27,"id":"5a8bc5a2_603fd625","line":89,"in_reply_to":"5a8bc5a2_45ed8c8a","updated":"2016-09-22 12:47:47.000000000","message":"pifpaf does it","commit_id":"bd142765daff8ced7b6919d2e33158bcc9bcfd6e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"84136c9fa9b34dd08dcdfa1d54f2bda475e84487","unresolved":false,"context_lines":[{"line_number":86,"context_line":"new_version\u003d$(python setup.py --version)"},{"line_number":87,"context_line":"echo \"* Upgrading Gnocchi from $old_version to $new_version\""},{"line_number":88,"context_line":"pip install -q -U .[${GNOCCHI_VARIANT}]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"eval $(pifpaf run gnocchi --indexer-url $INDEXER_URL --storage-url $STORAGE_URL)"},{"line_number":92,"context_line":"dump_data $GNOCCHI_DATA/new"}],"source_content_type":"text/x-sh","patch_set":27,"id":"5a8bc5a2_a04e3ebf","line":89,"in_reply_to":"5a8bc5a2_603fd625","updated":"2016-09-22 12:50:50.000000000","message":"that\u0027s some magic but ok, i\u0027ll try to remember that.","commit_id":"bd142765daff8ced7b6919d2e33158bcc9bcfd6e"}],"tox.ini":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d16e2d617f9248e1507d53232a821f264a7eeeee","unresolved":false,"context_lines":[{"line_number":30,"context_line":"recreate \u003d True"},{"line_number":31,"context_line":"skip_install \u003d True"},{"line_number":32,"context_line":"usedevelop \u003d False"},{"line_number":33,"context_line":"setenv \u003d "},{"line_number":34,"context_line":"deps \u003d gnocchiclient"},{"line_number":35,"context_line":"  pifpaf"},{"line_number":36,"context_line":"  gnocchi[test,postgresql,mysql,file,ceph,swift]\u003e\u003d2.2\u003c2.3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"9a89bdaa_d0ebc176","line":33,"updated":"2016-09-12 09:41:59.000000000","message":"whitespace!","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"9a12d6e144b667208b076933ad5d7750d73cb3a7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"recreate \u003d True"},{"line_number":31,"context_line":"skip_install \u003d True"},{"line_number":32,"context_line":"usedevelop \u003d False"},{"line_number":33,"context_line":"setenv \u003d "},{"line_number":34,"context_line":"deps \u003d gnocchiclient"},{"line_number":35,"context_line":"  pifpaf"},{"line_number":36,"context_line":"  gnocchi[test,postgresql,mysql,file,ceph,swift]\u003e\u003d2.2\u003c2.3"}],"source_content_type":"text/x-properties","patch_set":2,"id":"9a89bdaa_2eed69ef","line":33,"in_reply_to":"9a89bdaa_d0ebc176","updated":"2016-09-12 11:28:11.000000000","message":"Done","commit_id":"ccbbbec09b1788562c7c54b3ef6a06ff1b1457de"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"32fa2a0b5c6457a54a81cadc9d5c60c58f09387c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"setenv \u003d"},{"line_number":34,"context_line":"deps \u003d gnocchiclient"},{"line_number":35,"context_line":"  pifpaf"},{"line_number":36,"context_line":"  gnocchi[test,postgresql,mysql,file,ceph,swift]\u003e\u003d2.2\u003c2.3"},{"line_number":37,"context_line":"commands \u003d pifpaf run {env:GNOCCHI_TEST_INDEXER_DRIVER:postgresql} {toxinidir}/run-upgrade-tests.sh {posargs}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"[testenv:bashate]"}],"source_content_type":"text/x-properties","patch_set":5,"id":"9a89bdaa_fa55f7c5","line":36,"updated":"2016-09-12 12:38:31.000000000","message":"Miss a , between 2.2 and \u003c","commit_id":"30870f99c3d8ccf51775516bc3ea950b0a4ed384"}]}
