)]}'
{"manifests/site/test-site/hwccprofiles/profile1.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"5d2f209dbe556642d94d5bc56f7983bf79f66bd5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"apiVersion: metal3.io/v1alpha1"},{"line_number":2,"context_line":"kind: HardwareClassification"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  name: hardwareclassification-profile1"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7f6b1bfe_ebba2adc","line":1,"updated":"2020-10-15 16:53:18.000000000","message":"can we\n1. move the hwccprofiles directory + contents to manifests/type/gating, and then\n\n2. kustomize in as a resource into the phase(s) that need it, e.g. something like \"- ../../../type/gating/hwccprofiles\" in the appropriate phase kustomization.yaml?","commit_id":"edfa38b8ef8898956b30c30cb95c2f99bd323440"}],"manifests/type/gating/hwccprofiles/profile2.yaml":[{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"2d24d00cb2f5f922f5f1cd119dba4dd91753eae1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"         minimumSizeGB: 400"},{"line_number":23,"context_line":"         maximumSizeGB: 800"},{"line_number":24,"context_line":"      nic:"},{"line_number":25,"context_line":"         minimumCount: 50"},{"line_number":26,"context_line":"         maximumCount: 70"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1f621f24_eea82cdc","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":25},"updated":"2020-11-06 01:25:36.000000000","message":"nice example. But min 50 NICs is not realistic for a single node unless it is large switch.","commit_id":"6771e7d8b142811b2e69b05387aea46d36f26b69"}],"tools/deployment/26_deploy_metal3_capi_ephemeral_node.sh":[{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"5b16671f630897ec3549b6603ff58cee0ea70c16","unresolved":false,"context_lines":[{"line_number":22,"context_line":"echo \"Getting metal3 pods as debug information\""},{"line_number":23,"context_line":"kubectl --kubeconfig $KUBECONFIG --namespace metal3 get pods"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"echo \"Getting hardware classification controller  pods as debug information\""},{"line_number":26,"context_line":"kubectl --kubeconfig $KUBECONFIG --namespace hardware-classification get pods"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"echo \"Deploy cluster components to ephemeral node\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9f560f44_b734f6e0","line":25,"range":{"start_line":25,"start_character":49,"end_line":25,"end_character":50},"updated":"2020-09-02 16:10:47.000000000","message":"Double space.","commit_id":"0768c471d3bfaa6fdc17a0d6aa367eedd6221281"}],"tools/deployment/33_apply_hwcc_profiles.sh":[{"author":{"_account_id":31968,"name":"Bijaya Sharma","email":"vetbijaya@gmail.com","username":"bijayasharma"},"change_message_id":"2582d0e95df7d94e853d12b67d2dfb108f0921b6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"done"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#echo \"Applying HWCC profile01 with minimum configuration.\""},{"line_number":41,"context_line":"#kubectl --kubeconfig $KUBECONFIG apply -f ${PROFILE_PATH}/profile01.yaml "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#echo \"Verifying profile match status for $PROFILE01.\""},{"line_number":44,"context_line":"#if $(kubectl --kubeconfig $KUBECONFIG get bmh -l $PROFILE01) | grep -q \"No resources found\"; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9f560f44_066b5184","line":41,"range":{"start_line":41,"start_character":73,"end_line":41,"end_character":74},"updated":"2020-08-27 13:42:48.000000000","message":"linting issue. Please remove this extra space.","commit_id":"4d91ebc9c1a8b473a2df08cf4554431ab8ab1b7a"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"5b16671f630897ec3549b6603ff58cee0ea70c16","unresolved":false,"context_lines":[{"line_number":24,"context_line":"\techo \"Applying HWCC ${PROFILE_NAME}$i.\""},{"line_number":25,"context_line":"\tkubectl --kubeconfig $KUBECONFIG apply -f ${PROFILE_PATH}/${PROFILE_NAME}$i.yaml"},{"line_number":26,"context_line":"\techo \"Verifying profile match status for ${PROFILE_NAME}$i.\""},{"line_number":27,"context_line":"\tOUTPUT\u003d`kubectl --kubeconfig $KUBECONFIG get bmh -l hardwareclassification.metal3.io/${PROFILE}$i 2\u003e\u00261 `"},{"line_number":28,"context_line":"\tif [[ $? -eq 0 ]]; then"},{"line_number":29,"context_line":"\t\techo ${OUTPUT} | grep \"No resources found\""},{"line_number":30,"context_line":"\t\tif [[ $? -eq 0 ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9f560f44_f7430e3e","line":27,"range":{"start_line":27,"start_character":8,"end_line":27,"end_character":9},"updated":"2020-09-02 16:10:47.000000000","message":"Please, use $(...); `...` is deprecated.","commit_id":"0768c471d3bfaa6fdc17a0d6aa367eedd6221281"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"5b16671f630897ec3549b6603ff58cee0ea70c16","unresolved":false,"context_lines":[{"line_number":28,"context_line":"\tif [[ $? -eq 0 ]]; then"},{"line_number":29,"context_line":"\t\techo ${OUTPUT} | grep \"No resources found\""},{"line_number":30,"context_line":"\t\tif [[ $? -eq 0 ]]; then"},{"line_number":31,"context_line":"\t\t\techo \"${PROFILE_NAME}$i not matched.\""},{"line_number":32,"context_line":"\t\telse"},{"line_number":33,"context_line":"\t\t\techo \"${PROFILE_NAME}$i matched.\""},{"line_number":34,"context_line":"\t\tfi"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9f560f44_f7b14e46","line":31,"range":{"start_line":31,"start_character":3,"end_line":31,"end_character":40},"updated":"2020-09-02 16:10:47.000000000","message":"OK. What if profile is not matched? Then what does it mean and what should be done?","commit_id":"0768c471d3bfaa6fdc17a0d6aa367eedd6221281"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"1812e11e0b744291de0cbd75d6a5a48f9d570289","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\t\tif [[ $? -eq 0 ]]; then"},{"line_number":31,"context_line":"\t\t\techo \"${PROFILE_NAME}$i not matched.\""},{"line_number":32,"context_line":"\t\telse"},{"line_number":33,"context_line":"\t\t\techo \"${PROFILE_NAME}$i matched.\""},{"line_number":34,"context_line":"\t\tfi"},{"line_number":35,"context_line":"\telse"},{"line_number":36,"context_line":"\t\techo \"${PROFILE_NAME}$i matched.\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"9f560f44_d34ed5c0","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":36},"updated":"2020-09-03 05:51:04.000000000","message":"Remove Tabs","commit_id":"0768c471d3bfaa6fdc17a0d6aa367eedd6221281"}],"tools/deployment/34_apply_hwcc_profiles.sh":[{"author":{"_account_id":31968,"name":"Bijaya Sharma","email":"vetbijaya@gmail.com","username":"bijayasharma"},"change_message_id":"c9fe94e94d513aaf77d148a1f9adf1103d03e66d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"PROFILE_PATH\u003d\"manifests/site/test-site/hwccprofiles\""},{"line_number":19,"context_line":"PROFILE\u003d\"hardwareclassification-profile\""},{"line_number":20,"context_line":"PROFILE_NAME\u003d\"profile\""},{"line_number":21,"context_line":"declare UNMATCH\u003d0 "},{"line_number":22,"context_line":"declare MATCH\u003d0"},{"line_number":23,"context_line":"# Applying profiles for HWCC. 1 for Match and another for Unmatch."},{"line_number":24,"context_line":"# HWCC need BMH in Ready state."}],"source_content_type":"text/x-sh","patch_set":3,"id":"9f560f44_26e18cd1","line":21,"range":{"start_line":21,"start_character":17,"end_line":21,"end_character":18},"updated":"2020-09-08 14:48:00.000000000","message":"linting issue, please remove this extra space","commit_id":"146a8d3d75bb0583c6fbf53f8819f83bce5f3669"},{"author":{"_account_id":31968,"name":"Bijaya Sharma","email":"vetbijaya@gmail.com","username":"bijayasharma"},"change_message_id":"c9fe94e94d513aaf77d148a1f9adf1103d03e66d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"      UNMATCH\u003d1"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"      MATCH\u003d1"},{"line_number":36,"context_line":"    fi\t"},{"line_number":37,"context_line":"  fi"},{"line_number":38,"context_line":"done"},{"line_number":39,"context_line":"if [ ${MATCH} \u003d\u003d 1 ] \u0026\u0026 [ ${UNMATCH} \u003d\u003d 1 ]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"9f560f44_c6cff054","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":7},"updated":"2020-09-08 14:48:00.000000000","message":"ditto, remove extra space","commit_id":"146a8d3d75bb0583c6fbf53f8819f83bce5f3669"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"7b7137772d9f19f13ac3298ac7358c100c7acd6a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"#set -xe"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"export KUBECONFIG\u003d${KUBECONFIG:-\"$HOME/.airship/kubeconfig\"}"},{"line_number":18,"context_line":"PROFILE_PATH\u003d\"manifests/site/test-site/hwccprofiles\""}],"source_content_type":"text/x-sh","patch_set":5,"id":"9f560f44_022fe7f5","line":15,"range":{"start_line":15,"start_character":1,"end_line":15,"end_character":8},"updated":"2020-09-10 12:00:41.000000000","message":"Leave enabled, otherwise it\u0027s not really clear what is going on, and we do need to fail gate on errors.","commit_id":"c8533bdbe03eb0599aebbe972ebb8dbbcbd9eef7"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"7b7137772d9f19f13ac3298ac7358c100c7acd6a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  echo \"${PROFILE_NAME}1 Matched and ${PROFILE_NAME}2 Unmatched.\""},{"line_number":41,"context_line":"  echo \"SUCCESS\""},{"line_number":42,"context_line":"else"},{"line_number":43,"context_line":"  echo \"FAILURE\""},{"line_number":44,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"9f560f44_42355f44","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":16},"updated":"2020-09-10 12:00:41.000000000","message":"The script should fail here (exit 1), right?","commit_id":"c8533bdbe03eb0599aebbe972ebb8dbbcbd9eef7"}],"tools/deployment/34_deploy_worker_node.sh":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"5d2f209dbe556642d94d5bc56f7983bf79f66bd5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"while true; do"},{"line_number":34,"context_line":"    if (kubectl --request-timeout 20s --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh node03 | grep -qw ready) ; then"},{"line_number":35,"context_line":"        echo -e \"\\nGet bmh nodes status and applying HWCC profiles.\""},{"line_number":36,"context_line":"        kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT apply -f ${PROFILE_PATH}/${PROFILE_NAME}1.yaml"},{"line_number":37,"context_line":"        kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT apply -f ${PROFILE_PATH}/${PROFILE_NAME}2.yaml"},{"line_number":38,"context_line":"       break"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        now\u003d$(date +%s)"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7f6b1bfe_8b1bb619","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":124},"updated":"2020-10-15 16:53:18.000000000","message":"I don\u0027t think we want to kubectl apply the profiles, we want them to be included in a normal phase payload.","commit_id":"edfa38b8ef8898956b30c30cb95c2f99bd323440"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"5d2f209dbe556642d94d5bc56f7983bf79f66bd5","unresolved":false,"context_lines":[{"line_number":38,"context_line":"       break"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        now\u003d$(date +%s)"},{"line_number":41,"context_line":"        if [ $now -gt $end ]; then"},{"line_number":42,"context_line":"            echo -e \"\\nBMH node is not ready before TIMEOUT.\""},{"line_number":43,"context_line":"            exit 1"},{"line_number":44,"context_line":"        fi"},{"line_number":45,"context_line":"        echo -n ."},{"line_number":46,"context_line":"        sleep 5"},{"line_number":47,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7f6b1bfe_6b18da1c","line":44,"range":{"start_line":41,"start_character":0,"end_line":44,"end_character":10},"updated":"2020-10-15 16:53:18.000000000","message":"By including the profiles in a phase, we can rely on airshipctl run to do the waiting.","commit_id":"edfa38b8ef8898956b30c30cb95c2f99bd323440"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"18b90fa11c63c7ba964a17d8a6865c85c7d9d7e4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"echo \"Deploy worker node\""},{"line_number":26,"context_line":"airshipctl phase run  workers-target --debug"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"echo \"Waiting for bmh to be ready\""},{"line_number":29,"context_line":"end\u003d$(($(date +%s) + $TIMEOUT))"},{"line_number":30,"context_line":"echo \"Waiting $TIMEOUT seconds for node to be in ready state.\""},{"line_number":31,"context_line":"while true; do"},{"line_number":32,"context_line":"    if (kubectl --request-timeout 20s --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh node03 | grep -qw ready) ; then"},{"line_number":33,"context_line":"        echo -e \"\\nGet node status\""},{"line_number":34,"context_line":"        kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh"},{"line_number":35,"context_line":"        break"},{"line_number":36,"context_line":"    else"},{"line_number":37,"context_line":"        now\u003d$(date +%s)"},{"line_number":38,"context_line":"        if [ $now -gt $end ]; then"},{"line_number":39,"context_line":"            echo -e \"\\nBMH node is not ready before TIMEOUT.\""},{"line_number":40,"context_line":"            exit 1"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"        echo -n ."},{"line_number":43,"context_line":"        sleep 15"},{"line_number":44,"context_line":"    fi"},{"line_number":45,"context_line":"done"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"echo \"Classify and provision worker node\""},{"line_number":48,"context_line":"airshipctl phase run  workers-classification --debug"}],"source_content_type":"text/x-sh","patch_set":10,"id":"3f65232a_711712a5","line":45,"range":{"start_line":28,"start_character":0,"end_line":45,"end_character":4},"updated":"2020-10-27 07:54:40.000000000","message":"this seems like code duplication(line 51-67). I\u0027d wrap this in a function","commit_id":"236bf34202b1424355842ada0c07eca63c355ad0"}],"tools/deployment/36_verify_hwcc_profiles.sh":[{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"18b90fa11c63c7ba964a17d8a6865c85c7d9d7e4","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"export KUBECONFIG\u003d${KUBECONFIG:-\"$HOME/.airship/kubeconfig\"}"},{"line_number":18,"context_line":"export KUBECONFIG_TARGET_CONTEXT\u003d${KUBECONFIG_TARGET_CONTEXT:-\"target-cluster\"}"},{"line_number":19,"context_line":"PROFILE\u003d\"hardwareclassification-profile\""},{"line_number":20,"context_line":"PROFILE_NAME\u003d\"profile\""},{"line_number":21,"context_line":"declare UNMATCH\u003d0"},{"line_number":22,"context_line":"declare MATCH\u003d0"}],"source_content_type":"text/x-sh","patch_set":10,"id":"3f65232a_d18386cb","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":40},"updated":"2020-10-27 07:54:40.000000000","message":"I\u0027d introduce this as map (key is profile name, value is number of matched nodes) to simplify enhancement and adding profiles with custom name\n\nPROFILES\u003d(\n  [hardwareclassification-profile1]\u003d1\n  [hardwareclassification-profile2]\u003d0\n)\ndeclare -a ERRORS","commit_id":"236bf34202b1424355842ada0c07eca63c355ad0"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"18b90fa11c63c7ba964a17d8a6865c85c7d9d7e4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"declare MATCH\u003d0"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# HWCC need BMH in Ready state."},{"line_number":25,"context_line":"for i in {1..2}"},{"line_number":26,"context_line":"do"},{"line_number":27,"context_line":"# Verifying profile match status."},{"line_number":28,"context_line":"  OUTPUT\u003d$(kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh -l hardwareclassification.metal3.io/${PROFILE}$i 2\u003e\u00261)"}],"source_content_type":"text/x-sh","patch_set":10,"id":"3f65232a_f167a250","line":25,"range":{"start_line":25,"start_character":9,"end_line":25,"end_character":15},"updated":"2020-10-27 07:54:40.000000000","message":"iterate over ${!PROFILES[@]}","commit_id":"236bf34202b1424355842ada0c07eca63c355ad0"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"18b90fa11c63c7ba964a17d8a6865c85c7d9d7e4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"for i in {1..2}"},{"line_number":26,"context_line":"do"},{"line_number":27,"context_line":"# Verifying profile match status."},{"line_number":28,"context_line":"  OUTPUT\u003d$(kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh -l hardwareclassification.metal3.io/${PROFILE}$i 2\u003e\u00261)"},{"line_number":29,"context_line":"  if [[ $? -eq 0 ]]; then"},{"line_number":30,"context_line":"    echo ${OUTPUT} | grep \"No resources found\""},{"line_number":31,"context_line":"    if [[ $? -eq 0 ]]; then"},{"line_number":32,"context_line":"      UNMATCH\u003d1"},{"line_number":33,"context_line":"    else"},{"line_number":34,"context_line":"      MATCH\u003d1"},{"line_number":35,"context_line":"    fi"},{"line_number":36,"context_line":"  fi"},{"line_number":37,"context_line":"done"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"if [ ${MATCH} \u003d\u003d 1 ] \u0026\u0026 [ ${UNMATCH} \u003d\u003d 1 ]; then"},{"line_number":40,"context_line":"  echo \"${PROFILE_NAME}1 Matched and ${PROFILE_NAME}2 Unmatched.\""}],"source_content_type":"text/x-sh","patch_set":10,"id":"3f65232a_f1fe8236","line":37,"range":{"start_line":28,"start_character":0,"end_line":37,"end_character":4},"updated":"2020-10-27 07:54:40.000000000","message":"this can be rewritten:\n\nnodes\u003d$(kubectl --kubeconfig $KUBECONFIG --context $KUBECONFIG_TARGET_CONTEXT get bmh --no-headers\u003dtrue -l hardwareclassification.metal3.io/$i 2\u003e/dev/null | wc -l)\n\nif [ $nodes !\u003d ${PROFILES[$i]}];\nthen\n  ERRORS+\u003d($i)\nfi","commit_id":"236bf34202b1424355842ada0c07eca63c355ad0"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"18b90fa11c63c7ba964a17d8a6865c85c7d9d7e4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  fi"},{"line_number":37,"context_line":"done"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"if [ ${MATCH} \u003d\u003d 1 ] \u0026\u0026 [ ${UNMATCH} \u003d\u003d 1 ]; then"},{"line_number":40,"context_line":"  echo \"${PROFILE_NAME}1 Matched and ${PROFILE_NAME}2 Unmatched.\""},{"line_number":41,"context_line":"  echo \"SUCCESS\""},{"line_number":42,"context_line":"else"},{"line_number":43,"context_line":"  echo \"FAILURE\""},{"line_number":44,"context_line":"  exit 1"},{"line_number":45,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":10,"id":"3f65232a_7198b21a","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":2},"updated":"2020-10-27 07:54:40.000000000","message":"if [ ${#ERRORS[@]} !\u003d 0]; then echo FAILURE error with ${ERRORS[@]} fi","commit_id":"236bf34202b1424355842ada0c07eca63c355ad0"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"4d7a0f48241d6f88c98e09b4e230910a397c4f34","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"if [ ${#ERRORS[@]} !\u003d 0 ]"},{"line_number":38,"context_line":"then"},{"line_number":39,"context_line":"    echo FAILURE error with ${ERRORS[@]}"},{"line_number":40,"context_line":"else"},{"line_number":41,"context_line":"    echo \"SUCCESS\""},{"line_number":42,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":11,"id":"1f621f24_820d8492","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":40},"updated":"2020-10-28 12:32:12.000000000","message":"return code will be 0 in this case. I\u0027d return something non-zero","commit_id":"7cb8e96df275f3d598dd06ac01dd38cbd37c4139"}]}
