)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Fix: Fix `ceph orch` command with quadruple arg `ceph orch apply rgw default default default default` (2 are supported)."},{"line_number":10,"context_line":"- Fix: Make the script correctly use overriden Ceph release version."},{"line_number":11,"context_line":"- Fix: Add ceph dependent args to make installation work with all supported ceph versions (suspport v15 to v20)."},{"line_number":12,"context_line":"- Fix: Compatibility for ceph octopus - symlink python to /usr/libexec/platform-python."},{"line_number":13,"context_line":"- Fix: Correct the swift endpoint URL to include `AUTH_\u003cproject_id\u003e` in path (required when `rgw_swift_account_in_url` is `true` which it is)."},{"line_number":14,"context_line":"- Fix: Configure `rgw_keystone_api_version` only for octopus where it is supported."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dd64d11d_8d6dc792","line":11,"range":{"start_line":11,"start_character":100,"end_line":11,"end_character":112},"updated":"2026-05-19 22:53:22.000000000","message":"Hmmm, \n\n\nOctopus (v15) was EOL on 2022-08-09. There\u0027s no need to add new code\nto support it. I would drop all octopus-specific logic from this\nchange: https://docs.ceph.com/en/latest/releases/#active-releases","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Fix: Fix `ceph orch` command with quadruple arg `ceph orch apply rgw default default default default` (2 are supported)."},{"line_number":10,"context_line":"- Fix: Make the script correctly use overriden Ceph release version."},{"line_number":11,"context_line":"- Fix: Add ceph dependent args to make installation work with all supported ceph versions (suspport v15 to v20)."},{"line_number":12,"context_line":"- Fix: Compatibility for ceph octopus - symlink python to /usr/libexec/platform-python."},{"line_number":13,"context_line":"- Fix: Correct the swift endpoint URL to include `AUTH_\u003cproject_id\u003e` in path (required when `rgw_swift_account_in_url` is `true` which it is)."},{"line_number":14,"context_line":"- Fix: Configure `rgw_keystone_api_version` only for octopus where it is supported."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"77cfb1a6_f06b68c5","line":11,"range":{"start_line":11,"start_character":91,"end_line":11,"end_character":99},"updated":"2026-05-19 22:53:22.000000000","message":"nit: typo","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38880,"name":"Ondrej Vasko","email":"ondrej.vaskoo@gmail.com","username":"o.vasko"},"change_message_id":"9ec64f792712e8d208ca2371ed7819a8752efcae","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"22cb96d7_e3c53244","updated":"2026-03-05 10:58:57.000000000","message":"Hello,\n\nthis is my first PR for Openstack project.\n\nI am maintainer of Velero plugin for Openstack. I wanted to set up a pipeline that would test the backups against Openstack with Ceph backend that includes Rados Gateway. You can see how it runs here - https://github.com/Lirt/velero-plugin-for-openstack/blob/master/.github/workflows/tests.yaml#L209.\n\nTo test this PR, you can use example config file with my Github fork by using this:\n\n```bash\nGIT_BASE\u003dhttps://github.com\nenable_plugin devstack-plugin-ceph https://github.com/Lirt/devstack-plugin-ceph.git\n```\n\nAfter I tried the devstack-plugin-ceph I realized there are critical bugs and that the RGW code path was probably not maintained for some time.\n\nMy code changes were tested in Ubuntu 24.04 VM with success.\n\nI would personally suggest to create more example configs, either smaller ones that bootstrap only critical ceph components, then one with RGW, Manila and test all of them with multiple Ceph versions.\n\nI noted in the documentation that versions v15 up to v20 are supported. I made that myself but I actually had to test with v15 and this one works as well.\n\nI don\u0027t know how the tests are being done for this project or how to run them at the moment. Although when I look now probably the `.zuul.yaml` is the source.\n\nI can help with this in another PRs if you let me know how and what is expected.","commit_id":"8ad6e202a503df689ebba9a68d7383a80ddbb906"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"202ab024_230bcab0","updated":"2026-05-19 22:53:22.000000000","message":"Thanks for working on this; several comments inline","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"}],"README.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":80,"context_line":"    ENABLE_CEPH_RGW\u003dTrue"},{"line_number":81,"context_line":"    CEPH_RGW_PORT\u003d\"8080\""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Ceph requires passwordless SSH access to the root user on the machine to deploy Rados Gateway using ``ceph orch apply rgw`` command."},{"line_number":84,"context_line":"After you created stack user using `sudo ./tools/create-stack-user.sh` you can run following to create passwordless SSH access for the root user on localhost."},{"line_number":85,"context_line":"Be aware that this will allow root login over SSH which is considered unsafe if your machine is reachable from the Internet or other public networks."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"d870f3ce_234b2910","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":132},"updated":"2026-05-19 22:53:22.000000000","message":"This isn\u0027t isolated to RGW.. most \"ceph orch\" commands need passwordless ssh access. The bootstrap commands should take care of this. We generate a keypair and install it in the authorized_keys file. \n\nThe steps below would be needed only if  needed if the system has `PermitRootLogin no` in sshd_config. If that\u0027s the case, all aspects of the ceph deployment would fail, not just RGW. \n\nI suggest dropping this entire section, or, adding a generic note in the Known issues section: `PermitRootLogin prohibit-password` (the default on most distros) is sufficient.","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"}],"devstack/lib/cephadm":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# DEFAULT OPTIONS"},{"line_number":30,"context_line":"ATTEMPTS\u003d30"},{"line_number":31,"context_line":"CEPH_CONTAINER_IMAGE\u003d${CEPH_CONTAINER_IMAGE:-\u0027quay.io/ceph/ceph:v20\u0027}"},{"line_number":32,"context_line":"DEVICES\u003d()"},{"line_number":33,"context_line":"if [[ \"$REMOTE_CEPH\" \u003d \"False\" ]]; then"},{"line_number":34,"context_line":"    FSID\u003d$(uuidgen)"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1c04c84e_a8d0a370","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":20},"updated":"2026-05-19 22:53:22.000000000","message":"I\u0027m okay with the renaming here, but, you\u0027ll break anyone that\u0027s using \"CONTAINER_IMAGE\" at the moment. I suggest supporting CONTAINER_IMAGE as a fall back.\n\n\n```\nCEPH_CONTAINER_IMAGE\u003d${CEPH_CONTAINER_IMAGE:-${CONTAINER_IMAGE:-\u0027quay.io/ceph/ceph:v20\u0027}}\n```","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":42,"context_line":"SLEEP\u003d5"},{"line_number":43,"context_line":"CEPHADM_DEV_OSD\u003d${CEPHADM_DEV_OSD:-\"True\"}"},{"line_number":44,"context_line":"CEPH_LOOPBACK_DISK_SIZE\u003d${CEPH_LOOPBACK_DISK_SIZE:-30G}"},{"line_number":45,"context_line":"CEPH_RGW_PORT\u003d${CEPH_RGW_PORT:-}"},{"line_number":46,"context_line":"TARGET_DEV_OSD_DIR\u003d${TARGET_DEV_OSD_DIR:-\"/opt/stack\"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# POOLS"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"dc4f79c3_289b80a2","line":45,"range":{"start_line":45,"start_character":31,"end_line":45,"end_character":32},"updated":"2026-05-19 22:53:22.000000000","message":"Would 8080 be a good default?","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    local version_dependent_args\u003d\"\""},{"line_number":213,"context_line":"    CEPH_RELEASE\u003d$(_get_ceph_codename)"},{"line_number":214,"context_line":"    if [ \"${CEPH_RELEASE}\" \u003d\u003d \"octopus\" ]; then"},{"line_number":215,"context_line":"        # Older ceph versions use shebang /usr/libexec/platform-python which"},{"line_number":216,"context_line":"        # doesn\u0027t exist in the modern operating systems anymore."},{"line_number":217,"context_line":"        sudo ln -sf /usr/bin/python3 /usr/libexec/platform-python"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"decc3baa_2caa34a9","line":214,"range":{"start_line":214,"start_character":4,"end_line":214,"end_character":47},"updated":"2026-05-19 22:53:22.000000000","message":"octopus is too old, hoping we can drop this..","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":222,"context_line":"    if [ -z \"$cluster\" ]; then"},{"line_number":223,"context_line":"        local boot_attempts\u003d3"},{"line_number":224,"context_line":"        while [ \"$boot_attempts\" -ne 0 ]; do"},{"line_number":225,"context_line":"            if $SUDO \"$CEPHADM\" --image \"$CONTAINER_IMAGE\" \\"},{"line_number":226,"context_line":"                bootstrap \\"},{"line_number":227,"context_line":"                --fsid $FSID \\"},{"line_number":228,"context_line":"                --config \"$BOOTSTRAP_CONFIG\" \\"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"270113c0_9bb4fbc1","line":225,"range":{"start_line":225,"start_character":42,"end_line":225,"end_character":57},"updated":"2026-05-19 22:53:22.000000000","message":"See this usage?","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":380,"context_line":"        --keyring $CEPH_KEYRING -- ceph fs volume create \"$FSNAME\""},{"line_number":381,"context_line":"}"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"# Get Ceph version"},{"line_number":384,"context_line":"function _get_ceph_version {"},{"line_number":385,"context_line":"    local ceph_version_str"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    ceph_version_str\u003d$(sudo podman run --rm --entrypoint ceph $CEPH_CONTAINER_IMAGE \\"},{"line_number":388,"context_line":"        --version | awk \u0027{ print $3 }\u0027)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"    echo $ceph_version_str"},{"line_number":391,"context_line":"}"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"# Get Ceph release codename"},{"line_number":394,"context_line":"function _get_ceph_codename {"},{"line_number":395,"context_line":"    local ceph_version_str"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    ceph_version_str\u003d$(sudo podman run --rm --entrypoint ceph $CEPH_CONTAINER_IMAGE \\"},{"line_number":398,"context_line":"        --version | awk \u0027{ print $5 }\u0027)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    echo $ceph_version_str"},{"line_number":401,"context_line":"}"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"function _install_and_configure_clustered_nfs {"},{"line_number":404,"context_line":"    echo \"[CEPHADM] Deploy nfs.$FSNAME backend\""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"7eb86262_5ea0fbe8","line":401,"range":{"start_line":383,"start_character":0,"end_line":401,"end_character":1},"updated":"2026-05-19 22:53:22.000000000","message":"Feels like we\u0027re calling these too many times. Maybe we can optimize and save the return value into a variable. \n\nJust an optimization if you care to make it","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3bd1f2a34c921b770c797558c7fbdc8bbffeb3da","unresolved":true,"context_lines":[{"line_number":512,"context_line":""},{"line_number":513,"context_line":"    # Restart rgw to apply the new config"},{"line_number":514,"context_line":"    rgw_orch_name\u003d$(sudo ceph orch ls | grep rgw | awk \u0027{print $1}\u0027)"},{"line_number":515,"context_line":"    sudo ceph orch restart \"${rgw_orch_name}\""},{"line_number":516,"context_line":"    # Wait for the rgw to be up and running before returning"},{"line_number":517,"context_line":"    sleep \"10\""},{"line_number":518,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"38a1df67_b5e55757","line":515,"range":{"start_line":515,"start_character":4,"end_line":515,"end_character":45},"updated":"2026-05-19 22:53:22.000000000","message":"If RGW isn\u0027t deployed, `grep rgw` returns empty and `ceph orch restart \"\"` will fail. Add a guard for empty `rgw_orch_name`.","commit_id":"d19bd4ed46571b687110f9b79e1e02e7633304b5"}]}
