)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"15b65e51208e7e812a6ed56d7625dfdffd9c1df6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8ab5f831_7a764de0","updated":"2026-04-30 19:43:37.000000000","message":"+1 lets see if this actully works in ci","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6f1f7da208bfbf35788453b99ee48a17ff308b31","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8f1e5c19_7124cb4d","updated":"2026-04-30 21:38:03.000000000","message":"Thanks for fixing this","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"311c50587271c329ee192ff4881e9c1c5b9c551f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bd63756c_77656a74","updated":"2026-05-01 12:41:19.000000000","message":"recheck the 3 failing jobs all failed on test not setup so this seams to be working","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"502dd91a6ae7d81262b105bc5735b67229e9161d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f6e9804d_4775b6ac","in_reply_to":"bd63756c_77656a74","updated":"2026-05-02 06:05:34.000000000","message":"++ the test failures concern a legit bug in Manila: https://review.opendev.org/c/openstack/manila/+/986013","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"}],"devstack/lib/cephadm":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"15b65e51208e7e812a6ed56d7625dfdffd9c1df6","unresolved":true,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"# Install ceph: run cephadm bootstrap"},{"line_number":207,"context_line":"function start_ceph {"},{"line_number":208,"context_line":"    cluster\u003d$(sudo cephadm ls | jq \u0027.[]\u0027 | jq \u0027select(.name | test(\"^mon*\")).fsid\u0027)"},{"line_number":209,"context_line":"    if [ -z \"$cluster\" ]; then"},{"line_number":210,"context_line":"        local boot_attempts\u003d3"},{"line_number":211,"context_line":"        while [ \"$boot_attempts\" -ne 0 ]; do"},{"line_number":212,"context_line":"            if $SUDO \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" \\"},{"line_number":213,"context_line":"                bootstrap \\"},{"line_number":214,"context_line":"                --fsid $FSID \\"},{"line_number":215,"context_line":"                --config \"$BOOTSTRAP_CONFIG\" \\"},{"line_number":216,"context_line":"                --output-config $CEPH_CONFIG \\"},{"line_number":217,"context_line":"                --output-keyring $CEPH_KEYRING \\"},{"line_number":218,"context_line":"                --output-pub-ssh-key $CEPH_PUB_KEY \\"},{"line_number":219,"context_line":"                --allow-overwrite \\"},{"line_number":220,"context_line":"                --allow-fqdn-hostname \\"},{"line_number":221,"context_line":"                --skip-monitoring-stack \\"},{"line_number":222,"context_line":"                --skip-dashboard \\"},{"line_number":223,"context_line":"                --single-host-defaults \\"},{"line_number":224,"context_line":"                --skip-firewalld \\"},{"line_number":225,"context_line":"                --skip-mon-network \\"},{"line_number":226,"context_line":"                --mon-ip \"$HOST_IP\"; then"},{"line_number":227,"context_line":"                break"},{"line_number":228,"context_line":"            fi"},{"line_number":229,"context_line":"            boot_attempts\u003d$((\"$boot_attempts\" - 1))"},{"line_number":230,"context_line":"            if [ \"$boot_attempts\" -eq 0 ]; then"},{"line_number":231,"context_line":"                echo \"[CEPHADM] Bootstrap failed after retries\""},{"line_number":232,"context_line":"                return 1"},{"line_number":233,"context_line":"            fi"},{"line_number":234,"context_line":"            echo \"[CEPHADM] Bootstrap failed, retrying ($boot_attempts attempts left)\""},{"line_number":235,"context_line":"            sleep \"$SLEEP\""},{"line_number":236,"context_line":"        done"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        test -e $CEPH_CONFIG"},{"line_number":239,"context_line":"        test -e $CEPH_KEYRING"},{"line_number":240,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"1cca87a4_cf799a87","line":237,"range":{"start_line":208,"start_character":2,"end_line":237,"end_character":1},"updated":"2026-04-30 19:43:37.000000000","message":"i would write this quite diffently but i guess this can work\n\ni woudl personlly refactor this ot build up the full command as a sting and get ride fo the line continuations and  then instead of using an if use \u0026\u0026 break\n\nbasically pullign teh command defintion out of the loop boday and removing the if and replacing it with condtional execution\n\n```suggestion\n    cluster\u003d$(sudo cephadm ls | \\\n        jq -r \u0027.[] | select(.name | test(\"^mon.*\")).fsid\u0027)\n\n    if [ -z \"$cluster\" ]; then\n        local boot_attempts\u003d3\n        \n        # Command built as an array; grouped by logical pairs\n        local cmd\u003d(\n            \"$SUDO\" \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" bootstrap\n            --fsid \"$FSID\" --config \"$BOOTSTRAP_CONFIG\"\n            --output-config \"$CEPH_CONFIG\" --output-keyring \"$CEPH_KEYRING\"\n            --output-pub-ssh-key \"$CEPH_PUB_KEY\" --allow-overwrite\n            --allow-fqdn-hostname --single-host-defaults --skip-dashboard\n            --skip-monitoring-stack --skip-firewalld --skip-mon-network\n            --mon-ip \"$HOST_IP\"\n        )\n\n        while [ \"$boot_attempts\" -gt 0 ]; do\n            # Execute and break on success\n            \"${cmd[@]}\" \u0026\u0026 break\n\n            ((boot_attempts--))\n            if [ \"$boot_attempts\" -eq 0 ]; then\n                echo \"[CEPHADM] Bootstrap failed after retries\"\n                return 1\n            fi\n\n            echo \"[CEPHADM] Retrying bootstrap ($boot_attempts left)\"\n            sleep \"$SLEEP\"\n        done\n    fi\n\n```","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c033d51eb3ed9e08b4a3f588e3255fdbbfe45f2b","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"# Install ceph: run cephadm bootstrap"},{"line_number":207,"context_line":"function start_ceph {"},{"line_number":208,"context_line":"    cluster\u003d$(sudo cephadm ls | jq \u0027.[]\u0027 | jq \u0027select(.name | test(\"^mon*\")).fsid\u0027)"},{"line_number":209,"context_line":"    if [ -z \"$cluster\" ]; then"},{"line_number":210,"context_line":"        local boot_attempts\u003d3"},{"line_number":211,"context_line":"        while [ \"$boot_attempts\" -ne 0 ]; do"},{"line_number":212,"context_line":"            if $SUDO \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" \\"},{"line_number":213,"context_line":"                bootstrap \\"},{"line_number":214,"context_line":"                --fsid $FSID \\"},{"line_number":215,"context_line":"                --config \"$BOOTSTRAP_CONFIG\" \\"},{"line_number":216,"context_line":"                --output-config $CEPH_CONFIG \\"},{"line_number":217,"context_line":"                --output-keyring $CEPH_KEYRING \\"},{"line_number":218,"context_line":"                --output-pub-ssh-key $CEPH_PUB_KEY \\"},{"line_number":219,"context_line":"                --allow-overwrite \\"},{"line_number":220,"context_line":"                --allow-fqdn-hostname \\"},{"line_number":221,"context_line":"                --skip-monitoring-stack \\"},{"line_number":222,"context_line":"                --skip-dashboard \\"},{"line_number":223,"context_line":"                --single-host-defaults \\"},{"line_number":224,"context_line":"                --skip-firewalld \\"},{"line_number":225,"context_line":"                --skip-mon-network \\"},{"line_number":226,"context_line":"                --mon-ip \"$HOST_IP\"; then"},{"line_number":227,"context_line":"                break"},{"line_number":228,"context_line":"            fi"},{"line_number":229,"context_line":"            boot_attempts\u003d$((\"$boot_attempts\" - 1))"},{"line_number":230,"context_line":"            if [ \"$boot_attempts\" -eq 0 ]; then"},{"line_number":231,"context_line":"                echo \"[CEPHADM] Bootstrap failed after retries\""},{"line_number":232,"context_line":"                return 1"},{"line_number":233,"context_line":"            fi"},{"line_number":234,"context_line":"            echo \"[CEPHADM] Bootstrap failed, retrying ($boot_attempts attempts left)\""},{"line_number":235,"context_line":"            sleep \"$SLEEP\""},{"line_number":236,"context_line":"        done"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        test -e $CEPH_CONFIG"},{"line_number":239,"context_line":"        test -e $CEPH_KEYRING"},{"line_number":240,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"d58be95b_3b162642","line":237,"range":{"start_line":208,"start_character":2,"end_line":237,"end_character":1},"in_reply_to":"1cca87a4_cf799a87","updated":"2026-04-30 19:46:53.000000000","message":"with that said its arguabel that the implict array and spcficlly \n\"${cmd[@]}\" is less well know so this is really just a nit\n\ni have also done similar things in the past with string concationation and then evalign the sting.\n\nthe if i think will work it has exttra indentaiton which is the main reason i mentioned it so treat this as a nit.","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c9effa800947f449801881c806e500e4c7cc3e1","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"# Install ceph: run cephadm bootstrap"},{"line_number":207,"context_line":"function start_ceph {"},{"line_number":208,"context_line":"    cluster\u003d$(sudo cephadm ls | jq \u0027.[]\u0027 | jq \u0027select(.name | test(\"^mon*\")).fsid\u0027)"},{"line_number":209,"context_line":"    if [ -z \"$cluster\" ]; then"},{"line_number":210,"context_line":"        local boot_attempts\u003d3"},{"line_number":211,"context_line":"        while [ \"$boot_attempts\" -ne 0 ]; do"},{"line_number":212,"context_line":"            if $SUDO \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" \\"},{"line_number":213,"context_line":"                bootstrap \\"},{"line_number":214,"context_line":"                --fsid $FSID \\"},{"line_number":215,"context_line":"                --config \"$BOOTSTRAP_CONFIG\" \\"},{"line_number":216,"context_line":"                --output-config $CEPH_CONFIG \\"},{"line_number":217,"context_line":"                --output-keyring $CEPH_KEYRING \\"},{"line_number":218,"context_line":"                --output-pub-ssh-key $CEPH_PUB_KEY \\"},{"line_number":219,"context_line":"                --allow-overwrite \\"},{"line_number":220,"context_line":"                --allow-fqdn-hostname \\"},{"line_number":221,"context_line":"                --skip-monitoring-stack \\"},{"line_number":222,"context_line":"                --skip-dashboard \\"},{"line_number":223,"context_line":"                --single-host-defaults \\"},{"line_number":224,"context_line":"                --skip-firewalld \\"},{"line_number":225,"context_line":"                --skip-mon-network \\"},{"line_number":226,"context_line":"                --mon-ip \"$HOST_IP\"; then"},{"line_number":227,"context_line":"                break"},{"line_number":228,"context_line":"            fi"},{"line_number":229,"context_line":"            boot_attempts\u003d$((\"$boot_attempts\" - 1))"},{"line_number":230,"context_line":"            if [ \"$boot_attempts\" -eq 0 ]; then"},{"line_number":231,"context_line":"                echo \"[CEPHADM] Bootstrap failed after retries\""},{"line_number":232,"context_line":"                return 1"},{"line_number":233,"context_line":"            fi"},{"line_number":234,"context_line":"            echo \"[CEPHADM] Bootstrap failed, retrying ($boot_attempts attempts left)\""},{"line_number":235,"context_line":"            sleep \"$SLEEP\""},{"line_number":236,"context_line":"        done"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        test -e $CEPH_CONFIG"},{"line_number":239,"context_line":"        test -e $CEPH_KEYRING"},{"line_number":240,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"f71bdf77_d1b3f3d9","line":237,"range":{"start_line":208,"start_character":2,"end_line":237,"end_character":1},"in_reply_to":"d58be95b_3b162642","updated":"2026-04-30 19:51:33.000000000","message":"just protyping that with gemina this is what that woudl look like\n\n```\n    cluster\u003d$(sudo cephadm ls | \\\n        jq -r \u0027.[] | select(.name | test(\"^mon.*\")).fsid\u0027)\n\n    if [ -z \"$cluster\" ]; then\n        local boot_attempts\u003d3\n        \n        # Building the command as a single string via concatenation\n        local cmd\u003d\"$SUDO $CEPHADM --image $CONTAINER_IMAGE bootstrap \"\n        cmd+\u003d\"--fsid $FSID --config $BOOTSTRAP_CONFIG \"\n        cmd+\u003d\"--output-config $CEPH_CONFIG --output-keyring $CEPH_KEYRING \"\n        cmd+\u003d\"--output-pub-ssh-key $CEPH_PUB_KEY --allow-overwrite \"\n        cmd+\u003d\"--allow-fqdn-hostname --single-host-defaults --skip-dashboard \"\n        cmd+\u003d\"--skip-monitoring-stack --skip-firewalld --skip-mon-network \"\n        cmd+\u003d\"--mon-ip $HOST_IP\"\n\n        while [ \"$boot_attempts\" -gt 0 ]; do\n            # Execute unquoted to allow word splitting (Required for strings)\n            $cmd \u0026\u0026 break\n\n            ((boot_attempts--))\n            if [ \"$boot_attempts\" -eq 0 ]; then\n                echo \"[CEPHADM] Bootstrap failed after retries\"\n                return 1\n            fi\n\n            echo \"[CEPHADM] Retrying bootstrap ($boot_attempts left)\"\n            sleep \"$SLEEP\"\n        done\n    fi\n ```\n \n that normally how i do retries or long commands\n \n anyway im also ok with your version as long as that work in ci.\n its less code churn then a reqy i jsut dont like using line continuations personally","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"502dd91a6ae7d81262b105bc5735b67229e9161d","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"# Install ceph: run cephadm bootstrap"},{"line_number":207,"context_line":"function start_ceph {"},{"line_number":208,"context_line":"    cluster\u003d$(sudo cephadm ls | jq \u0027.[]\u0027 | jq \u0027select(.name | test(\"^mon*\")).fsid\u0027)"},{"line_number":209,"context_line":"    if [ -z \"$cluster\" ]; then"},{"line_number":210,"context_line":"        local boot_attempts\u003d3"},{"line_number":211,"context_line":"        while [ \"$boot_attempts\" -ne 0 ]; do"},{"line_number":212,"context_line":"            if $SUDO \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" \\"},{"line_number":213,"context_line":"                bootstrap \\"},{"line_number":214,"context_line":"                --fsid $FSID \\"},{"line_number":215,"context_line":"                --config \"$BOOTSTRAP_CONFIG\" \\"},{"line_number":216,"context_line":"                --output-config $CEPH_CONFIG \\"},{"line_number":217,"context_line":"                --output-keyring $CEPH_KEYRING \\"},{"line_number":218,"context_line":"                --output-pub-ssh-key $CEPH_PUB_KEY \\"},{"line_number":219,"context_line":"                --allow-overwrite \\"},{"line_number":220,"context_line":"                --allow-fqdn-hostname \\"},{"line_number":221,"context_line":"                --skip-monitoring-stack \\"},{"line_number":222,"context_line":"                --skip-dashboard \\"},{"line_number":223,"context_line":"                --single-host-defaults \\"},{"line_number":224,"context_line":"                --skip-firewalld \\"},{"line_number":225,"context_line":"                --skip-mon-network \\"},{"line_number":226,"context_line":"                --mon-ip \"$HOST_IP\"; then"},{"line_number":227,"context_line":"                break"},{"line_number":228,"context_line":"            fi"},{"line_number":229,"context_line":"            boot_attempts\u003d$((\"$boot_attempts\" - 1))"},{"line_number":230,"context_line":"            if [ \"$boot_attempts\" -eq 0 ]; then"},{"line_number":231,"context_line":"                echo \"[CEPHADM] Bootstrap failed after retries\""},{"line_number":232,"context_line":"                return 1"},{"line_number":233,"context_line":"            fi"},{"line_number":234,"context_line":"            echo \"[CEPHADM] Bootstrap failed, retrying ($boot_attempts attempts left)\""},{"line_number":235,"context_line":"            sleep \"$SLEEP\""},{"line_number":236,"context_line":"        done"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        test -e $CEPH_CONFIG"},{"line_number":239,"context_line":"        test -e $CEPH_KEYRING"},{"line_number":240,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"2b57c758_47253cf5","line":237,"range":{"start_line":208,"start_character":2,"end_line":237,"end_character":1},"in_reply_to":"f71bdf77_d1b3f3d9","updated":"2026-05-02 06:05:34.000000000","message":"ack thank you, can do this cleanup as a follow up","commit_id":"98d3f22c7d14b6e16f5abaa4d5995b223745f354"}]}
