)]}'
{"gate/post_test_perf_check.sh":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a2f7130c8f00d3d1fc4358053c9d80dd2e366d26","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    . .placeload/bin/activate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    # install placeload"},{"line_number":22,"context_line":"    # Not sure if pip is required here, but may as well"},{"line_number":23,"context_line":"    pip install placeload"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Turn off keystone auth"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_61f2849c","line":22,"updated":"2018-08-14 13:15:26.000000000","message":"note to self, this comment no longer makes sense, it is a hold over from earlier version","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1dd15373f854fb92a104f94af65e8176c9c32d4d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    python -m virtualenv -p python3 .placeload"},{"line_number":19,"context_line":"    . .placeload/bin/activate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    # install placeload"},{"line_number":22,"context_line":"    # Not sure if pip is required here, but may as well"},{"line_number":23,"context_line":"    pip install placeload"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Turn off keystone auth"},{"line_number":26,"context_line":"    iniset -sudo $NOVA_CONF DEFAULT auth_strategy noauth2"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_2187ac64","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":25},"updated":"2018-08-14 13:01:49.000000000","message":"can we do this from test-requirements.txt? In the future we might want to limit the version of placeload.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2eb0aaca8496d983345994ea09113f7b4625edda","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    python -m virtualenv -p python3 .placeload"},{"line_number":19,"context_line":"    . .placeload/bin/activate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    # install placeload"},{"line_number":22,"context_line":"    # Not sure if pip is required here, but may as well"},{"line_number":23,"context_line":"    pip install placeload"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Turn off keystone auth"},{"line_number":26,"context_line":"    iniset -sudo $NOVA_CONF DEFAULT auth_strategy noauth2"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_33029f0b","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":25},"in_reply_to":"3f79a3b5_0137104f","updated":"2018-08-14 14:19:58.000000000","message":"Totally fine to only do a more complicated dependency handling if this script starts to get complicated. Now it is simple enough to understand as is.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a2f7130c8f00d3d1fc4358053c9d80dd2e366d26","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    python -m virtualenv -p python3 .placeload"},{"line_number":19,"context_line":"    . .placeload/bin/activate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    # install placeload"},{"line_number":22,"context_line":"    # Not sure if pip is required here, but may as well"},{"line_number":23,"context_line":"    pip install placeload"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # Turn off keystone auth"},{"line_number":26,"context_line":"    iniset -sudo $NOVA_CONF DEFAULT auth_strategy noauth2"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_0137104f","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":25},"in_reply_to":"3f79a3b5_2187ac64","updated":"2018-08-14 13:15:26.000000000","message":"I was trying to keep it independent of everything else as much as possible. As things stand this operates without awareness of what cwd it is running with and who runs it etc.\n\nI suspect we could manage versions etc, but I was hoping to avoid that.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1dd15373f854fb92a104f94af65e8176c9c32d4d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_a1df3c67","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"updated":"2018-08-14 13:01:49.000000000","message":"The error handling could be part of placeload itself. If it cannot create 1000 RP as requested in can simply fail and exit with an error code","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1c56ddff9ea63685d62124a56ff2b84870389716","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_562e2992","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_13ec438d","updated":"2018-08-14 14:09:52.000000000","message":"Do you mean in $LOG?\n\nThere\u0027s also the verbose output at http://logs.openstack.org/67/591367/5/check/nova-next/96e7d94/job-output.txt.gz#_2018-08-14_10_50_54_892468\n\nFor info: If the count does not crest 1000 then the log will have the pirate on crack, but not the the timing output.\n\nSo we have some choices. What would we like.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c883fd87e1ae4bee74f839f4c4a9f3e233f2a71f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_765325e3","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_562e2992","updated":"2018-08-14 14:20:18.000000000","message":"Right.\n\nI want the log to be self-contained and readable by a noob.\n\nA noob won\u0027t know that \"crack pirate but no timing\" means \"setup failed\".  So I want a message - in that log - that indicates \"setup failed\". (For that matter, a message indicating \"test completed without errors\" would also be nice.) In this context, I believe \"in that log\" means \"echo\".","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2eb0aaca8496d983345994ea09113f7b4625edda","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_612da4a6","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_612044f8","updated":"2018-08-14 14:19:58.000000000","message":"Fair enough","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c6a4ce2cc0b2d39052dc2c9ab9bce2b64d50a3bb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_13ec438d","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_612044f8","updated":"2018-08-14 14:04:13.000000000","message":"I think you should print an error message here.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5f0841b0b775d4cc750f2c0936cbc99b8aff1937","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_16df513a","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_765325e3","updated":"2018-08-14 14:38:05.000000000","message":"It\u0027s a bit more than echo, but yeah, can do.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a2f7130c8f00d3d1fc4358053c9d80dd2e366d26","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # load with placeload"},{"line_number":33,"context_line":"    placeload $placement_url 1000 | tee -a $LOG"},{"line_number":34,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":35,"context_line":"    # exit if we failed to create the required number of rps"},{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_612044f8","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":105},"in_reply_to":"3f79a3b5_a1df3c67","updated":"2018-08-14 13:15:26.000000000","message":"placeload is intended as a multi purpose tool. I didn\u0027t want to tie the error handling in this to placeload itself. In many cases when using placeload the fact that there have been failures is expected and normal.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1dd15373f854fb92a104f94af65e8176c9c32d4d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("},{"line_number":38,"context_line":"            echo \u0027##### TIMING GET /allocation_candidates\u0027"},{"line_number":39,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":40,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":41,"context_line":"        ) 2\u003e\u00261 | tee -a $LOG"},{"line_number":42,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_21d56c44","line":39,"range":{"start_line":39,"start_character":87,"end_line":39,"end_character":92},"updated":"2018-08-14 13:01:49.000000000","message":"Do we intentionally limit ourselves to run this on older than later api versions?\n\nThis is especially confusing as the first line of the log states: \"Placement is 1.29\"","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a2f7130c8f00d3d1fc4358053c9d80dd2e366d26","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("},{"line_number":38,"context_line":"            echo \u0027##### TIMING GET /allocation_candidates\u0027"},{"line_number":39,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":40,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":41,"context_line":"        ) 2\u003e\u00261 | tee -a $LOG"},{"line_number":42,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_8170000a","line":39,"range":{"start_line":39,"start_character":87,"end_line":39,"end_character":92},"in_reply_to":"3f79a3b5_21d56c44","updated":"2018-08-14 13:15:26.000000000","message":"The idea here is to use the microversion that supports the query being made, so I suppose what I really want here is 1.21. That I used 1.28 is the product of indecision. If we were to make a query with resource groups, then we\u0027d want 1.25\n\nThe first line of the log is basically just a way of reporting which version of placement has been addressed so is for info only, not really related to this query.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2eb0aaca8496d983345994ea09113f7b4625edda","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("},{"line_number":38,"context_line":"            echo \u0027##### TIMING GET /allocation_candidates\u0027"},{"line_number":39,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":40,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":41,"context_line":"        ) 2\u003e\u00261 | tee -a $LOG"},{"line_number":42,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_e1445476","line":39,"range":{"start_line":39,"start_character":87,"end_line":39,"end_character":92},"in_reply_to":"3f79a3b5_8170000a","updated":"2018-08-14 14:19:58.000000000","message":"So the \"Placement is 1.29\" log line wants to inform about the version of the Placement code under test in a more human readable way than a commit hash. If yes then I would reword it like \"Placement maximum API version is 1.29\"\n\nRegarding requested API version, I think a comment about why we use 1.28 (or 1.21) and not the latest version is enough for now.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5f0841b0b775d4cc750f2c0936cbc99b8aff1937","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if [[ $rp_count -ge 1000 ]]; then"},{"line_number":37,"context_line":"        ("},{"line_number":38,"context_line":"            echo \u0027##### TIMING GET /allocation_candidates\u0027"},{"line_number":39,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":40,"context_line":"            time curl -s -H \u0027x-auth-token: admin\u0027 -H \u0027openstack-api-version: placement 1.28\u0027 \"$placement_url/allocation_candidates?${PLACEMENT_QUERY}\" \u003e /dev/null"},{"line_number":41,"context_line":"        ) 2\u003e\u00261 | tee -a $LOG"},{"line_number":42,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3f79a3b5_56c2a95a","line":39,"range":{"start_line":39,"start_character":87,"end_line":39,"end_character":92},"in_reply_to":"3f79a3b5_e1445476","updated":"2018-08-14 14:38:05.000000000","message":"I\u0027ll change this to 1.21. As discussed in irc the 1.29 message is coming from placeload itself, which we can change independently if we like.","commit_id":"9f175c458ce91b7eca0fddfc375f0d53b3b64d0b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3de553013c0b829917ac8677a048f141354df5a0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # load with placeload"},{"line_number":35,"context_line":"    placeload $placement_url $COUNT | tee -a $LOG"},{"line_number":36,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":37,"context_line":"    # Skip curl and note if we failed to create the required number of rps"},{"line_number":38,"context_line":"    if [[ $rp_count -ge $COUNT ]]; then"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3f79a3b5_69902a96","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":49},"updated":"2018-08-14 14:46:27.000000000","message":"Not sure if you\u0027re aware, but if you don\u0027t want to do this on every line you want going to the log, you can do a fancy exec up front to redirect the stdios.","commit_id":"8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7dafcfe386a53c5c8c39a56ed81e5a31f1bbff7d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # load with placeload"},{"line_number":35,"context_line":"    placeload $placement_url $COUNT | tee -a $LOG"},{"line_number":36,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":37,"context_line":"    # Skip curl and note if we failed to create the required number of rps"},{"line_number":38,"context_line":"    if [[ $rp_count -ge $COUNT ]]; then"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3f79a3b5_69f26a9c","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":49},"in_reply_to":"3f79a3b5_69902a96","updated":"2018-08-14 14:59:18.000000000","message":"I am aware, and do _not_ want to do that. The tees are being done to make sure that only some output is being sent to placement-perf.txt\n\nThe output of this script is in job-output.\n\nThe _results_ of this script are in placement-perf.txt","commit_id":"8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"59d950c9de0465df6a9a32caab2951104473304b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    placement_url\u003d$(get_endpoint_url placement public)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # load with placeload"},{"line_number":35,"context_line":"    placeload $placement_url $COUNT | tee -a $LOG"},{"line_number":36,"context_line":"    rp_count\u003d$(curl -H \u0027x-auth-token: admin\u0027 $placement_url/resource_providers |json_pp|grep -c \u0027\"name\"\u0027)"},{"line_number":37,"context_line":"    # Skip curl and note if we failed to create the required number of rps"},{"line_number":38,"context_line":"    if [[ $rp_count -ge $COUNT ]]; then"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3f79a3b5_87becdfc","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":49},"in_reply_to":"3f79a3b5_69f26a9c","updated":"2018-08-14 15:41:32.000000000","message":"ack","commit_id":"8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3de553013c0b829917ac8677a048f141354df5a0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        ) 2\u003e\u00261 | tee -a $LOG"},{"line_number":44,"context_line":"    else"},{"line_number":45,"context_line":"        ("},{"line_number":46,"context_line":"            echo \"Unable to create expected number of resource providers. Expected: ${COUNT}, Got: $rp_count\""},{"line_number":47,"context_line":"            echo \"See job-output.txt.gz and logs/screen-placement-api.txt.gz for additional detail.\""},{"line_number":48,"context_line":"        ) | tee -a $LOG"},{"line_number":49,"context_line":"    fi"},{"line_number":50,"context_line":"    deactivate"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3f79a3b5_299eb2b8","line":47,"range":{"start_line":46,"start_character":0,"end_line":47,"end_character":100},"updated":"2018-08-14 14:46:27.000000000","message":"yeah, nice","commit_id":"8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3"}]}
