)]}'
{"functions":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"24e5a1baf1b6e9fffeef8ea338e9322228804bab","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        done"},{"line_number":419,"context_line":"EOF"},{"line_number":420,"context_line":"    time_stop \"wait_for_service\""},{"line_number":421,"context_line":"    # Figure out what\u0027s happening on platforms where this doesn\u0027t work"},{"line_number":422,"context_line":"    if [[ \"$rval\" !\u003d 0 ]]; then"},{"line_number":423,"context_line":"        echo \"Didn\u0027t find service registered by hostname after $timeout seconds\""},{"line_number":424,"context_line":"        openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" compute service list"},{"line_number":425,"context_line":"    fi"},{"line_number":426,"context_line":"    return 0"},{"line_number":427,"context_line":"}"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"df3967d1_6067dc27","line":426,"range":{"start_line":421,"start_character":0,"end_line":426,"end_character":12},"updated":"2017-07-28 20:08:12.000000000","message":"Okay, but how are you gonna know?  Have it email you ;-)","commit_id":"ea730ffb85624637a98d70ba23855ea9f43ecbc2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f81d3b4fb4080283f589db6b125a240ec3b0ae50","unresolved":false,"context_lines":[{"line_number":410,"context_line":"function wait_for_compute {"},{"line_number":411,"context_line":"    local timeout\u003d$1"},{"line_number":412,"context_line":"    time_start \"wait_for_service\""},{"line_number":413,"context_line":"    timeout $timeout bash -x \u003c\u003cEOF || rval\u003d$?"},{"line_number":414,"context_line":"        ID\u003d\"\""},{"line_number":415,"context_line":"        while [[ \"\\$ID\" \u003d\u003d \"\" ]]; do"},{"line_number":416,"context_line":"            sleep 1"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"df3967d1_c0451545","line":413,"range":{"start_line":413,"start_character":38,"end_line":413,"end_character":45},"updated":"2017-08-01 17:50:23.000000000","message":"waitwait, how does this ever work when the scriptlet succeeds?  You must be picking up a $rval from somewhere else, and getting lucky.  You should `local rval\u003d0` above.","commit_id":"7acf9ca8851e4afce68f9210af4dc48d38bedde4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f81d3b4fb4080283f589db6b125a240ec3b0ae50","unresolved":false,"context_lines":[{"line_number":412,"context_line":"    time_start \"wait_for_service\""},{"line_number":413,"context_line":"    timeout $timeout bash -x \u003c\u003cEOF || rval\u003d$?"},{"line_number":414,"context_line":"        ID\u003d\"\""},{"line_number":415,"context_line":"        while [[ \"\\$ID\" \u003d\u003d \"\" ]]; do"},{"line_number":416,"context_line":"            sleep 1"},{"line_number":417,"context_line":"            ID\u003d\\$(openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" compute service list --host `hostname` --service nova-compute -c ID -f value)"},{"line_number":418,"context_line":"        done"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"df3967d1_c08cf580","line":415,"range":{"start_line":415,"start_character":18,"end_line":415,"end_character":19},"updated":"2017-08-01 17:50:23.000000000","message":"If you want to get rid of these backslashes (here and L417), surround the EOF on L413 with quotes.","commit_id":"7acf9ca8851e4afce68f9210af4dc48d38bedde4"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"5fbb7fd655872d0f631df06137053ac956d9bd5d","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        ID\u003d\"\""},{"line_number":416,"context_line":"        while [[ \"\\$ID\" \u003d\u003d \"\" ]]; do"},{"line_number":417,"context_line":"            sleep 1"},{"line_number":418,"context_line":"            ID\u003d\\$(openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" compute service list --host `hostname` --service nova-compute -c ID -f value)"},{"line_number":419,"context_line":"        done"},{"line_number":420,"context_line":"EOF"},{"line_number":421,"context_line":"    time_stop \"wait_for_service\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"df3967d1_5c1c5711","line":418,"range":{"start_line":418,"start_character":102,"end_line":418,"end_character":119},"updated":"2017-08-02 11:53:18.000000000","message":"XenServer changes the host of the nova compute service to indicate it\u0027s running separate from the hypervisor.  This is specifically needed as we have two Neutron agents running in the VM, and we need to map the domU compute service with the domU neutron agent.\nhttp://git.openstack.org/cgit/openstack/os-xenapi/tree/devstack/plugin.sh#n183\n\nWe also change the hostname so (I believe) we can see from the logs which cloud the test job was run in.\n\nCan devstack extract the expected host from /etc/nova/nova.conf and use that rather than `hostname`?","commit_id":"844f85b130513f0005800ec8ca1799f9f9b1d597"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"425dea59c3538718185dc0bc441c575b46f5c0f1","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        ID\u003d\"\""},{"line_number":416,"context_line":"        while [[ \"\\$ID\" \u003d\u003d \"\" ]]; do"},{"line_number":417,"context_line":"            sleep 1"},{"line_number":418,"context_line":"            ID\u003d\\$(openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" compute service list --host `hostname` --service nova-compute -c ID -f value)"},{"line_number":419,"context_line":"        done"},{"line_number":420,"context_line":"EOF"},{"line_number":421,"context_line":"    time_stop \"wait_for_service\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"df3967d1_074d5899","line":418,"range":{"start_line":418,"start_character":102,"end_line":418,"end_character":119},"in_reply_to":"df3967d1_5c1c5711","updated":"2017-08-02 12:42:54.000000000","message":"that gets a lot more complicated, I\u0027d rather just put a skip in for virtdriver \u003d\u003d xen or the like.","commit_id":"844f85b130513f0005800ec8ca1799f9f9b1d597"}]}
