)]}'
{"projects/70_cinder/resources.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"9c3d983588865f72889b4279910ec0a2a9c02f09","unresolved":false,"context_lines":[{"line_number":51,"context_line":"fi"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"function _wait_for_volume_status {"},{"line_number":54,"context_line":"    # TODO(mriedem): Replace this (and the wait loop above) with --wait once"},{"line_number":55,"context_line":"    # OSC story 2002158 is complete."},{"line_number":56,"context_line":"    local volume\u003d$1"},{"line_number":57,"context_line":"    local desired_status\u003d$2"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_257273e5","line":54,"updated":"2020-01-24 11:50:19.000000000","message":"After moving this, there is no \"wait loop above\" anymore. Please amend this accordingly and add the story id to the loop below, too.\n\nOr does it make sense to make this function more generic so it can check for bootable, too?","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d750e0ffd780cf6f689067098a88811e081616cf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"fi"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"function _wait_for_volume_status {"},{"line_number":54,"context_line":"    # TODO(mriedem): Replace this (and the wait loop above) with --wait once"},{"line_number":55,"context_line":"    # OSC story 2002158 is complete."},{"line_number":56,"context_line":"    local volume\u003d$1"},{"line_number":57,"context_line":"    local desired_status\u003d$2"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_209ee154","line":54,"in_reply_to":"3fa7e38b_257273e5","updated":"2020-01-24 12:41:10.000000000","message":"ACK thanks, I\u0027ve made this generic so it also covers the bootable usecase.","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"9c3d983588865f72889b4279910ec0a2a9c02f09","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    eval $(openstack volume create --image $DEFAULT_IMAGE_NAME --size 1 $CINDER_VOL -f shell)"},{"line_number":122,"context_line":"    resource_save cinder cinder_volume_id $id"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    # BUG: openstack client doesn\u0027t support --wait on volumes, so loop"},{"line_number":125,"context_line":"    # and wait until it\u0027s bootable. This typically only takes a second"},{"line_number":126,"context_line":"    # or two."},{"line_number":127,"context_line":"    local timeleft\u003d30"},{"line_number":128,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":129,"context_line":"        eval $(openstack volume show cinder_grenade_vol -f shell -c bootable)"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_456f6ff9","line":126,"range":{"start_line":124,"start_character":4,"end_line":126,"end_character":13},"updated":"2020-01-24 11:50:19.000000000","message":"Add a reference to the above story here.","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d750e0ffd780cf6f689067098a88811e081616cf","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    eval $(openstack volume create --image $DEFAULT_IMAGE_NAME --size 1 $CINDER_VOL -f shell)"},{"line_number":122,"context_line":"    resource_save cinder cinder_volume_id $id"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    # BUG: openstack client doesn\u0027t support --wait on volumes, so loop"},{"line_number":125,"context_line":"    # and wait until it\u0027s bootable. This typically only takes a second"},{"line_number":126,"context_line":"    # or two."},{"line_number":127,"context_line":"    local timeleft\u003d30"},{"line_number":128,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":129,"context_line":"        eval $(openstack volume show cinder_grenade_vol -f shell -c bootable)"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_409bdd62","line":126,"range":{"start_line":124,"start_character":4,"end_line":126,"end_character":13},"in_reply_to":"3fa7e38b_456f6ff9","updated":"2020-01-24 12:41:10.000000000","message":"Done","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"9c3d983588865f72889b4279910ec0a2a9c02f09","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    resource_save cinder cinder_volume3_id $id"},{"line_number":184,"context_line":"    _wait_for_volume_status $CINDER_VOL3 \"available\""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    # Attach second volume and ensure it becomes in-use"},{"line_number":187,"context_line":"    openstack server add volume $CINDER_SERVER $CINDER_VOL3"},{"line_number":188,"context_line":"     _wait_for_volume_status $CINDER_VOL3 \"in-use\""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_054e578f","line":186,"range":{"start_line":186,"start_character":13,"end_line":186,"end_character":19},"updated":"2020-01-24 11:50:19.000000000","message":"third","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d750e0ffd780cf6f689067098a88811e081616cf","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    resource_save cinder cinder_volume3_id $id"},{"line_number":184,"context_line":"    _wait_for_volume_status $CINDER_VOL3 \"available\""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    # Attach second volume and ensure it becomes in-use"},{"line_number":187,"context_line":"    openstack server add volume $CINDER_SERVER $CINDER_VOL3"},{"line_number":188,"context_line":"     _wait_for_volume_status $CINDER_VOL3 \"in-use\""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"3fa7e38b_e0a3e99a","line":186,"range":{"start_line":186,"start_character":13,"end_line":186,"end_character":19},"in_reply_to":"3fa7e38b_054e578f","updated":"2020-01-24 12:41:10.000000000","message":"Done","commit_id":"198ff2f7250a8edbe2ad97ba361d015eb1865cb4"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"197518e08157a310809b3f96f189d2ba87b889b3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    local desired_status\u003d$3"},{"line_number":59,"context_line":"    local timeleft\u003d30"},{"line_number":60,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":61,"context_line":"        local status\u003d$(openstack volume show $volume -f value -c $field)"},{"line_number":62,"context_line":"        if [[ $status !\u003d $desired_status ]]; then"},{"line_number":63,"context_line":"            echo \"Volume ${volume} ${field} is ${status} and not yet ${desired_status}, waiting...\""},{"line_number":64,"context_line":"            sleep 1"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_56bcfcd9","line":61,"updated":"2020-01-25 08:05:54.000000000","message":"Combining the local declaration with the assignment may hide errors. Better have \"local status\" outside the loop and drop the \"local\" here.","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5f5b52157e14d26425947461e502ccaa0eede6ae","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    local desired_status\u003d$3"},{"line_number":59,"context_line":"    local timeleft\u003d30"},{"line_number":60,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":61,"context_line":"        local status\u003d$(openstack volume show $volume -f value -c $field)"},{"line_number":62,"context_line":"        if [[ $status !\u003d $desired_status ]]; then"},{"line_number":63,"context_line":"            echo \"Volume ${volume} ${field} is ${status} and not yet ${desired_status}, waiting...\""},{"line_number":64,"context_line":"            sleep 1"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_f10732c7","line":61,"in_reply_to":"3fa7e38b_56bcfcd9","updated":"2020-01-25 14:40:19.000000000","message":"Done","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"197518e08157a310809b3f96f189d2ba87b889b3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    local timeleft\u003d30"},{"line_number":60,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":61,"context_line":"        local status\u003d$(openstack volume show $volume -f value -c $field)"},{"line_number":62,"context_line":"        if [[ $status !\u003d $desired_status ]]; then"},{"line_number":63,"context_line":"            echo \"Volume ${volume} ${field} is ${status} and not yet ${desired_status}, waiting...\""},{"line_number":64,"context_line":"            sleep 1"},{"line_number":65,"context_line":"            timeleft\u003d$((timeleft - 1))"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_96e4b40c","line":62,"range":{"start_line":62,"start_character":14,"end_line":62,"end_character":40},"updated":"2020-01-25 08:05:54.000000000","message":"I\u0027d add quotes around the var to make sure empty values are handled correctly.","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5f5b52157e14d26425947461e502ccaa0eede6ae","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    local timeleft\u003d30"},{"line_number":60,"context_line":"    while [[ $timeleft -gt 0 ]]; do"},{"line_number":61,"context_line":"        local status\u003d$(openstack volume show $volume -f value -c $field)"},{"line_number":62,"context_line":"        if [[ $status !\u003d $desired_status ]]; then"},{"line_number":63,"context_line":"            echo \"Volume ${volume} ${field} is ${status} and not yet ${desired_status}, waiting...\""},{"line_number":64,"context_line":"            sleep 1"},{"line_number":65,"context_line":"            timeleft\u003d$((timeleft - 1))"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_110beed3","line":62,"range":{"start_line":62,"start_character":14,"end_line":62,"end_character":40},"in_reply_to":"3fa7e38b_96e4b40c","updated":"2020-01-25 14:40:19.000000000","message":"Done","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"197518e08157a310809b3f96f189d2ba87b889b3","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    if [[ \"$side\" \u003d \"post-upgrade\" ]]; then"},{"line_number":217,"context_line":"        eval $(openstack volume show $CINDER_VOL2 -f shell -c status)"},{"line_number":218,"context_line":"        if [[ \"$status\" !\u003d \"in-use\" ]]; then"},{"line_number":219,"context_line":"            die $LINENO \"Unexpected status of volume $CINDER_VOL_2 (expected in-use, but was $status)\""},{"line_number":220,"context_line":"        fi"},{"line_number":221,"context_line":"        eval $(openstack volume show $CINDER_VOL3 -f shell -c status)"},{"line_number":222,"context_line":"        if [[ \"$status\" !\u003d \"in-use\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_76e9f8e1","line":219,"range":{"start_line":219,"start_character":54,"end_line":219,"end_character":66},"updated":"2020-01-25 08:05:54.000000000","message":"This should be CINDER_VOL2","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5f5b52157e14d26425947461e502ccaa0eede6ae","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    if [[ \"$side\" \u003d \"post-upgrade\" ]]; then"},{"line_number":217,"context_line":"        eval $(openstack volume show $CINDER_VOL2 -f shell -c status)"},{"line_number":218,"context_line":"        if [[ \"$status\" !\u003d \"in-use\" ]]; then"},{"line_number":219,"context_line":"            die $LINENO \"Unexpected status of volume $CINDER_VOL_2 (expected in-use, but was $status)\""},{"line_number":220,"context_line":"        fi"},{"line_number":221,"context_line":"        eval $(openstack volume show $CINDER_VOL3 -f shell -c status)"},{"line_number":222,"context_line":"        if [[ \"$status\" !\u003d \"in-use\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3fa7e38b_b1f53ace","line":219,"range":{"start_line":219,"start_character":54,"end_line":219,"end_character":66},"in_reply_to":"3fa7e38b_76e9f8e1","updated":"2020-01-25 14:40:19.000000000","message":"Done","commit_id":"e587f6f67edbc6f2750d605d60435c84c14351a9"}]}
