)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"d7179736eedf9c13a95658dc1da48d98beafd388","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Cinder backup"},{"line_number":18,"context_line":"* Nova"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Note: only works on Ubuntu Trusty, Fedora 19/20 or later."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifec850ba8e1e5263234ef428669150c76cfdb6ad"},{"line_number":23,"context_line":"Implements: blueprint implement-ceph-backend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"1ae5cdf2_88d204fb","line":20,"updated":"2014-06-28 13:00:39.000000000","message":"Currently it doesn\u0027t work on Fedora 20:\n\n1. see Eric\u0027s comment about using \"lsb_release\" on Fedora.\n\n2. After fixing lsb_release still fails because some related packages missing:\n\nyum install -y ceph-deploy ceph\n\n[ERROR] /home/stack/devstack/functions-common:960 Missing packages detected","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"251c03eb748616f275efad0b20d73a06711daa42","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Cinder backup"},{"line_number":18,"context_line":"* Nova"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Note: only works on Ubuntu Trusty, Fedora 19/20 or later."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ifec850ba8e1e5263234ef428669150c76cfdb6ad"},{"line_number":23,"context_line":"Implements: blueprint implement-ceph-backend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"1ae5cdf2_c8f16c6b","line":20,"in_reply_to":"1ae5cdf2_88d204fb","updated":"2014-06-28 13:32:23.000000000","message":"Ok, it seems like all necessary package can be found here:\n\nhttp://ceph.com/rpm-dumpling/fc20/","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"}],"extras.d/60-ceph.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":8,"context_line":"        echo_summary \"Installing Ceph\""},{"line_number":9,"context_line":"        install_storage_ceph"},{"line_number":10,"context_line":"        echo_summary \"Configuring Ceph\""},{"line_number":11,"context_line":"        configure_storage_ceph"},{"line_number":12,"context_line":"        # NOTE (leseb): unfortunately we do everything here"},{"line_number":13,"context_line":"        # because we need to have Ceph started before the main"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAUH%2F%2BRJ0%3D","line":10,"updated":"2014-01-28 15:12:20.000000000","message":"Everything from here down needs to be called during the post-config phase so the other projects will have been configured and confiogure_storage_ceph can make the changes required for glance, nova, etc.","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"0181ec594c49010396627f3faad818b6b9e31237","unresolved":false,"context_lines":[{"line_number":12,"context_line":"        configure_storage_ceph"},{"line_number":13,"context_line":"        # NOTE (leseb): unfortunately we do everything here"},{"line_number":14,"context_line":"        # because we need to have Ceph started before the main"},{"line_number":15,"context_line":"        # OpenStack components start."},{"line_number":16,"context_line":"        # Ceph OSD must start here"},{"line_number":17,"context_line":"        # otherwise we can\u0027t upload any images"},{"line_number":18,"context_line":"        # since the OSD is not up yet"}],"source_content_type":"text/x-sh","patch_set":14,"id":"AAAAWH%2F%2B%2BI0%3D","line":15,"updated":"2014-03-21 09:37:10.000000000","message":"Can align the comments so that they can be acommodated in fewer lines, and look better","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"5352a71b3e8edbc88fa791d7f09b6e0db3aef59b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"        configure_storage_ceph"},{"line_number":13,"context_line":"        # NOTE (leseb): unfortunately we do everything here"},{"line_number":14,"context_line":"        # because we need to have Ceph started before the main"},{"line_number":15,"context_line":"        # OpenStack components start."},{"line_number":16,"context_line":"        # Ceph OSD must start here"},{"line_number":17,"context_line":"        # otherwise we can\u0027t upload any images"},{"line_number":18,"context_line":"        # since the OSD is not up yet"}],"source_content_type":"text/x-sh","patch_set":14,"id":"AAAAWH%2F9u4I%3D","line":15,"in_reply_to":"AAAAWH%2F%2B%2BI0%3D","updated":"2014-04-02 15:04:44.000000000","message":"Done","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"0181ec594c49010396627f3faad818b6b9e31237","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        # OpenStack components start."},{"line_number":16,"context_line":"        # Ceph OSD must start here"},{"line_number":17,"context_line":"        # otherwise we can\u0027t upload any images"},{"line_number":18,"context_line":"        # since the OSD is not up yet"},{"line_number":19,"context_line":"        echo_summary \"Initializing Ceph\""},{"line_number":20,"context_line":"        init_storage_ceph"},{"line_number":21,"context_line":"        start_storage_ceph"}],"source_content_type":"text/x-sh","patch_set":14,"id":"AAAAWH%2F%2B%2BK0%3D","line":18,"updated":"2014-03-21 09:37:10.000000000","message":"since the OSD will not be up by that time","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"5352a71b3e8edbc88fa791d7f09b6e0db3aef59b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        # OpenStack components start."},{"line_number":16,"context_line":"        # Ceph OSD must start here"},{"line_number":17,"context_line":"        # otherwise we can\u0027t upload any images"},{"line_number":18,"context_line":"        # since the OSD is not up yet"},{"line_number":19,"context_line":"        echo_summary \"Initializing Ceph\""},{"line_number":20,"context_line":"        init_storage_ceph"},{"line_number":21,"context_line":"        start_storage_ceph"}],"source_content_type":"text/x-sh","patch_set":14,"id":"AAAAWH%2F9u4E%3D","line":18,"in_reply_to":"AAAAWH%2F%2B%2BK0%3D","updated":"2014-04-02 15:04:44.000000000","message":"Done","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8d68f161ab9d2066b34d0b1b3afb15040adc8e74","unresolved":false,"context_lines":[{"line_number":3,"context_line":"if is_service_enabled ceph; then"},{"line_number":4,"context_line":"    if [[ \"$1\" \u003d\u003d \"source\" ]]; then"},{"line_number":5,"context_line":"        # Initial source"},{"line_number":6,"context_line":"        source $TOP_DIR/lib/storages/ceph"},{"line_number":7,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":8,"context_line":"        echo_summary \"Installing Ceph\""},{"line_number":9,"context_line":"        install_storage_ceph"}],"source_content_type":"text/x-sh","patch_set":19,"id":"7adec928_55bd32b6","line":6,"updated":"2014-05-16 21:28:57.000000000","message":"install \u0026 start ceph services here","commit_id":"cbcc24a7b1cb5f5d38fbeed03f80a52026467f40"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8d68f161ab9d2066b34d0b1b3afb15040adc8e74","unresolved":false,"context_lines":[{"line_number":9,"context_line":"        install_storage_ceph"},{"line_number":10,"context_line":"        echo_summary \"Configuring Ceph\""},{"line_number":11,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"post-config\" ]]; then"},{"line_number":12,"context_line":"        configure_storage_ceph"},{"line_number":13,"context_line":"        # NOTE (leseb): unfortunately we do everything here because we need to have Ceph started before the main"},{"line_number":14,"context_line":"        # OpenStack components. Ceph OSD must start here otherwise we can\u0027t upload any images"},{"line_number":15,"context_line":"        # since the OSD will not be up by that time."}],"source_content_type":"text/x-sh","patch_set":19,"id":"7adec928_35dfc60e","line":12,"updated":"2014-05-16 21:28:57.000000000","message":"do the cinder/glance config here","commit_id":"cbcc24a7b1cb5f5d38fbeed03f80a52026467f40"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"8d68f161ab9d2066b34d0b1b3afb15040adc8e74","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        # since the OSD will not be up by that time."},{"line_number":16,"context_line":"        echo_summary \"Initializing Ceph\""},{"line_number":17,"context_line":"        init_storage_ceph"},{"line_number":18,"context_line":"        start_storage_ceph"},{"line_number":19,"context_line":"    fi"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    if [[ \"$1\" \u003d\u003d \"unstack\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":19,"id":"7adec928_55e452e0","line":18,"updated":"2014-05-16 21:28:57.000000000","message":"do libvirt change here in an \"extra\" block","commit_id":"cbcc24a7b1cb5f5d38fbeed03f80a52026467f40"}],"functions":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        [[ ${service} \u003d\u003d \"neutron\" \u0026\u0026 ${ENABLED_SERVICES} \u003d~ \"q-\" ]] \u0026\u0026 return 0"},{"line_number":850,"context_line":"        [[ ${service} \u003d\u003d \"trove\" \u0026\u0026 ${ENABLED_SERVICES} \u003d~ \"tr-\" ]] \u0026\u0026 return 0"},{"line_number":851,"context_line":"        [[ ${service} \u003d\u003d \"swift\" \u0026\u0026 ${ENABLED_SERVICES} \u003d~ \"s-\" ]] \u0026\u0026 return 0"},{"line_number":852,"context_line":"        [[ ${service} \u003d\u003d \"ceph\" \u0026\u0026 ${ENABLED_SERVICES} \u003d~ \"ceph\" ]] \u0026\u0026 return 0"},{"line_number":853,"context_line":"        [[ ${service} \u003d\u003d s-* \u0026\u0026 ${ENABLED_SERVICES} \u003d~ \"swift\" ]] \u0026\u0026 return 0"},{"line_number":854,"context_line":"    done"},{"line_number":855,"context_line":"    return 1"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRPc%3D","line":852,"updated":"2014-01-28 15:12:20.000000000","message":"There is no purpose to adding this line, it will never match due to the first test in the function above.","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"8924c3e69a8ef463085a4ba40a3c5737888e16cf","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    iniset $conf_file $conf_section logging_exception_prefix \"%(color)s%(asctime)s.%(msecs)03d TRACE %(name)s \u001b[01;35m%(instance)s\u001b[00m\""},{"line_number":585,"context_line":"}"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"# create_disk - Create backing disk"},{"line_number":588,"context_line":"#function create_disk($DISK_IMAGE,$STORAGE_DATA_DIR,$LOOPBACK_DISK_SIZE) {"},{"line_number":589,"context_line":"function create_disk() {"},{"line_number":590,"context_line":"    local node_number"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAAVn%2F%2FDN4%3D","line":587,"updated":"2014-03-10 12:31:55.000000000","message":"we probably would want (in the future) to make swift uses that function as well","commit_id":"facdddef953a1d5813a6c40e520f8008e8fbe8c5"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"175c9ab368ec7cfe4d83ef0c8b1a7c4727699ae9","unresolved":false,"context_lines":[{"line_number":530,"context_line":"# create_disk - Create backing disk"},{"line_number":531,"context_line":"#function create_disk($DISK_IMAGE,$STORAGE_DATA_DIR,$LOOPBACK_DISK_SIZE) {"},{"line_number":532,"context_line":"function create_disk {"},{"line_number":533,"context_line":"    local node_number"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":536,"context_line":"    if [[ -e ${1} ]]; then"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"1ae5cdf2_672d148f","line":533,"updated":"2014-06-19 11:39:50.000000000","message":"so if we are doing another pass on this, it would be nice to turn $1, $2, $3 ... into local vars with meaningful names. Easier to keep track.","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4980d67a932f47b9421a6365b9f7704d96ae73ac","unresolved":false,"context_lines":[{"line_number":530,"context_line":"# create_disk - Create backing disk"},{"line_number":531,"context_line":"#function create_disk($DISK_IMAGE,$STORAGE_DATA_DIR,$LOOPBACK_DISK_SIZE) {"},{"line_number":532,"context_line":"function create_disk {"},{"line_number":533,"context_line":"    local node_number"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":536,"context_line":"    if [[ -e ${1} ]]; then"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_0625cdc1","line":533,"in_reply_to":"1ae5cdf2_672d148f","updated":"2014-07-01 08:16:59.000000000","message":"Done","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"4b3c36b7be9234d7cfe7f67d8f278e6b069b4729","unresolved":false,"context_lines":[{"line_number":531,"context_line":"    iniset $conf_file $conf_section logging_exception_prefix \"%(color)s%(asctime)s.%(msecs)03d TRACE %(name)s \u001b[01;35m%(instance)s\u001b[00m\""},{"line_number":532,"context_line":"}"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"# These functions are provided for basic fall-back functionality for"},{"line_number":536,"context_line":"# projects that include parts of devstack (grenade).  stack.sh will"},{"line_number":537,"context_line":"# override these with more specific versions for devstack (with fancy"}],"source_content_type":"application/octet-stream","patch_set":32,"id":"baada198_d002b26e","line":534,"updated":"2014-07-08 18:00:53.000000000","message":"unrelated whitespace change","commit_id":"852f19a9d41f3bd35188e984cecd88d7c4a17910"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    local node_number"},{"line_number":553,"context_line":"    disk_image\u003d${1}"},{"line_number":554,"context_line":"    storage_data_dir\u003d${2}"},{"line_number":555,"context_line":"    loopback_disk_size\u003d${3}"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":558,"context_line":"    if [[ -e ${disk_image} ]]; then"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_7ba61455","line":555,"updated":"2014-07-09 09:36:50.000000000","message":"It seems that also disk_image, storage_data_dir and loopback_disk_size should be local.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"61b4dc3b095c9c75697ba6adee525dcce1f013fc","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    local node_number"},{"line_number":553,"context_line":"    disk_image\u003d${1}"},{"line_number":554,"context_line":"    storage_data_dir\u003d${2}"},{"line_number":555,"context_line":"    loopback_disk_size\u003d${3}"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":558,"context_line":"    if [[ -e ${disk_image} ]]; then"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_2a1fe40a","line":555,"in_reply_to":"baada198_7ba61455","updated":"2014-07-09 12:58:46.000000000","message":"Done","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":557,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":558,"context_line":"    if [[ -e ${disk_image} ]]; then"},{"line_number":559,"context_line":"        if egrep -q ${storage_data_dir} /proc/mounts; then"},{"line_number":560,"context_line":"            sudo umount ${storage_data_dir}/drives/sdb1"},{"line_number":561,"context_line":"            sudo rm -f ${disk_image}"},{"line_number":562,"context_line":"        fi"},{"line_number":563,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_bb67cc24","line":560,"updated":"2014-07-09 09:36:50.000000000","message":"I haven\u0027t found where \"/drives/sdb1\" comes from.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"61b4dc3b095c9c75697ba6adee525dcce1f013fc","unresolved":false,"context_lines":[{"line_number":557,"context_line":"    # Create a loopback disk and format it to XFS."},{"line_number":558,"context_line":"    if [[ -e ${disk_image} ]]; then"},{"line_number":559,"context_line":"        if egrep -q ${storage_data_dir} /proc/mounts; then"},{"line_number":560,"context_line":"            sudo umount ${storage_data_dir}/drives/sdb1"},{"line_number":561,"context_line":"            sudo rm -f ${disk_image}"},{"line_number":562,"context_line":"        fi"},{"line_number":563,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_aa2bf431","line":560,"in_reply_to":"baada198_bb67cc24","updated":"2014-07-09 12:58:46.000000000","message":"This function was taken from the lib/swift and put here since we use it for ceph. This path is needed by lib/swift. A later commit will make lib/swift use this function.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":563,"context_line":"    fi"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    sudo mkdir -p ${storage_data_dir}/drives/images"},{"line_number":566,"context_line":"    sudo touch ${disk_image}"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"    sudo truncate -s ${loopback_disk_size} ${disk_image}"},{"line_number":569,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_db6c800b","line":566,"updated":"2014-07-09 09:36:50.000000000","message":"This is redundant since you use truncate in the next line.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"61b4dc3b095c9c75697ba6adee525dcce1f013fc","unresolved":false,"context_lines":[{"line_number":563,"context_line":"    fi"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    sudo mkdir -p ${storage_data_dir}/drives/images"},{"line_number":566,"context_line":"    sudo touch ${disk_image}"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"    sudo truncate -s ${loopback_disk_size} ${disk_image}"},{"line_number":569,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_0ab940e9","line":566,"in_reply_to":"baada198_db6c800b","updated":"2014-07-09 12:58:46.000000000","message":"Done","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":568,"context_line":"    sudo truncate -s ${loopback_disk_size} ${disk_image}"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    # Make a fresh XFS filesystem"},{"line_number":571,"context_line":"    sudo mkfs.xfs -f -i size\u003d1024 ${disk_image}"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    # Mount the disk with mount options to make it as efficient as possible"},{"line_number":574,"context_line":"    if ! egrep -q ${storage_data_dir} /proc/mounts; then"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_fb7144e1","line":571,"updated":"2014-07-09 09:36:50.000000000","message":"Any specific reason for size\u003d1024? Is it a general recommendation or is it related to this specific loopback setup? (a comment on this one would help future developers).","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"61b4dc3b095c9c75697ba6adee525dcce1f013fc","unresolved":false,"context_lines":[{"line_number":568,"context_line":"    sudo truncate -s ${loopback_disk_size} ${disk_image}"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    # Make a fresh XFS filesystem"},{"line_number":571,"context_line":"    sudo mkfs.xfs -f -i size\u003d1024 ${disk_image}"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    # Mount the disk with mount options to make it as efficient as possible"},{"line_number":574,"context_line":"    if ! egrep -q ${storage_data_dir} /proc/mounts; then"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_2ac9a45a","line":571,"in_reply_to":"baada198_fb7144e1","updated":"2014-07-09 12:58:46.000000000","message":"once again I simply re-used the function from lib/swift as is. I think we need bigger inodes so xattr can all fit in it. If we keep the default (256) we will have to read more inodes to get the xattr which is quite inefficient. I\u0027ll add something about it.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"}],"lib/ceph":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"47c6f8f7b2dc33277511fc214e611311817342dc","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    fi"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    # wait for the admin key to come up otherwise we will not be able to do the actions below"},{"line_number":145,"context_line":"    while [ ! -f ${CEPH_CONF_DIR}/ceph.client.admin.keyring ] ; do"},{"line_number":146,"context_line":"        sleep 1"},{"line_number":147,"context_line":"    done"},{"line_number":148,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":41,"id":"baada198_7db8a8e8","line":145,"updated":"2014-07-23 09:58:00.000000000","message":"No timeout ? If for some reason ceph doesn\u0027t start this file will never be created.\n\nMaybe you should echo something between each \u0027sleep 1\u0027 so that the user knows why and where devstack is blocking","commit_id":"bca9d709dd3e2296fc6d59e76a5c320cd6d2d45a"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"47c6f8f7b2dc33277511fc214e611311817342dc","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    fi"},{"line_number":226,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_CEPH_USER} mon \"allow r\" osd \"allow class-read object_prefix rbd_children, allow rwx pool\u003d${CINDER_CEPH_POOL}, allow rwx pool\u003d${NOVA_CEPH_POOL},allow rx pool\u003d${GLANCE_CEPH_POOL}\" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring"},{"line_number":227,"context_line":"    sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_CEPH_USER}.keyring"},{"line_number":228,"context_line":"}"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"# init_ceph() - Initialize databases, etc."}],"source_content_type":"application/octet-stream","patch_set":41,"id":"baada198_5da684ac","line":227,"updated":"2014-07-23 09:58:00.000000000","message":"This doesn\u0027t work in the general case. The output of whoami is not always a valid group name. You may want to do $(id -g -n $whoami)","commit_id":"bca9d709dd3e2296fc6d59e76a5c320cd6d2d45a"}],"lib/cinder":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"# cleanup_cinder() - Remove residual data files, anything left over from previous"},{"line_number":121,"context_line":"# runs that a clean run would need to clean up"},{"line_number":122,"context_line":"function cleanup_cinder() {"},{"line_number":123,"context_line":"    if ! is_service_enabled ceph; then"},{"line_number":124,"context_line":"        # ensure the volume group is cleared up because fails might"},{"line_number":125,"context_line":"        # leave dead volumes in the group"},{"line_number":126,"context_line":"        TARGETS\u003d$(sudo tgtadm --op show --mode target)"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNok%3D","line":123,"updated":"2014-01-16 10:41:15.000000000","message":"i think just having \n\nis_service_enabled_ceph \u0026\u0026 return\n\nshould make thing easier than a huge if; then","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        fi"},{"line_number":136,"context_line":"        TARGETS\u003d$(sudo tgtadm --op show --mode target)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        if [[ -n \"$TARGETS\" ]]; then"},{"line_number":139,"context_line":"            iqn_list\u003d( $(grep --no-filename -r iqn $SCSI_PERSIST_DIR | sed \u0027s/\u003ctarget //\u0027 | sed \u0027s/\u003e//\u0027) )"},{"line_number":140,"context_line":"            for i in \"${iqn_list[@]}\"; do"},{"line_number":141,"context_line":"                echo removing iSCSI target: $i"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRP0%3D","line":138,"updated":"2014-01-28 15:12:20.000000000","message":"I\u0027m not sure why this is being moved inside the outer \u0027if\u0027 block...it will be skipped if the initial tgtadm call succeeds and no targets removed?","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"}],"lib/cinder_backends/ceph":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"47c6f8f7b2dc33277511fc214e611311817342dc","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            sudo ceph -c ${CEPH_CONF_FILE} osd pool set ${CINDER_BAK_CEPH_POOL} crush_ruleset ${RULE_ID}"},{"line_number":60,"context_line":"        fi"},{"line_number":61,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${CINDER_BAK_CEPH_USER} mon \"allow r\" osd \"allow class-read object_prefix rbd_children, allow rwx pool\u003d${CINDER_BAK_CEPH_POOL}\" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_BAK_CEPH_USER}.keyring"},{"line_number":62,"context_line":"        sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_BAK_CEPH_USER}.keyring"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        iniset $CINDER_CONF DEFAULT backup_driver \"cinder.backup.drivers.ceph\""},{"line_number":65,"context_line":"        iniset $CINDER_CONF DEFAULT backup_ceph_conf \"$CEPH_CONF\""}],"source_content_type":"application/octet-stream","patch_set":41,"id":"baada198_00c2e385","line":62,"updated":"2014-07-23 09:58:00.000000000","message":"Same comment than the other file.","commit_id":"bca9d709dd3e2296fc6d59e76a5c320cd6d2d45a"}],"lib/cinder_plugins/ceph":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8429cf82328b0dec26cfa3ab76701fe37cf5c400","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # To use ceph, set the following in localrc:"},{"line_number":32,"context_line":"    # CINDER_DRIVER\u003dceph"},{"line_number":33,"context_line":"    #"},{"line_number":34,"context_line":"    ## Optionnal parameters"},{"line_number":35,"context_line":"    # CINDER_CEPH_POOL\u003d\u003cpool-name\u003e"},{"line_number":36,"context_line":"    # CINDER_CEPH_USER\u003d\u003cuser\u003e"},{"line_number":37,"context_line":"    # CINDER_CEPH_POOL_PG\u003d\u003cpg-num\u003e"}],"source_content_type":"application/octet-stream","patch_set":26,"id":"baada198_a80720c9","line":34,"updated":"2014-07-03 15:07:39.000000000","message":"Typo \"Optional\"","commit_id":"83004b9f67ec2a464044297010041c8e0f53e6ac"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"7703bc662b34cd473ba7ecbc461f4e598b14abda","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # To use ceph, set the following in localrc:"},{"line_number":32,"context_line":"    # CINDER_DRIVER\u003dceph"},{"line_number":33,"context_line":"    #"},{"line_number":34,"context_line":"    ## Optionnal parameters"},{"line_number":35,"context_line":"    # CINDER_CEPH_POOL\u003d\u003cpool-name\u003e"},{"line_number":36,"context_line":"    # CINDER_CEPH_USER\u003d\u003cuser\u003e"},{"line_number":37,"context_line":"    # CINDER_CEPH_POOL_PG\u003d\u003cpg-num\u003e"}],"source_content_type":"application/octet-stream","patch_set":26,"id":"baada198_3e150640","line":34,"in_reply_to":"baada198_a80720c9","updated":"2014-07-03 15:16:47.000000000","message":"Done","commit_id":"83004b9f67ec2a464044297010041c8e0f53e6ac"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8429cf82328b0dec26cfa3ab76701fe37cf5c400","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # CINDER_CEPH_POOL_PGP\u003d\u003cpgp-num\u003e"},{"line_number":39,"context_line":"    # CINDER_CEPH_UUID\u003d\u003cuuid\u003e"},{"line_number":40,"context_line":"    # CINDER_BAK_CEPH_POOL\u003d\u003cpool-name\u003e"},{"line_number":41,"context_line":"    # CINDER_BAK_CEPH_USER\u003dcind-backeups"},{"line_number":42,"context_line":"    # CINDER_BAK_CEPH_POOL_PG\u003d\u003cpg-num\u003e"},{"line_number":43,"context_line":"    # CINDER_BAK_CEPH_POOL_PGP\u003d\u003cpgp-num\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":26,"id":"baada198_688ee87a","line":41,"updated":"2014-07-03 15:07:39.000000000","message":"Typo?","commit_id":"83004b9f67ec2a464044297010041c8e0f53e6ac"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"7703bc662b34cd473ba7ecbc461f4e598b14abda","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # CINDER_CEPH_POOL_PGP\u003d\u003cpgp-num\u003e"},{"line_number":39,"context_line":"    # CINDER_CEPH_UUID\u003d\u003cuuid\u003e"},{"line_number":40,"context_line":"    # CINDER_BAK_CEPH_POOL\u003d\u003cpool-name\u003e"},{"line_number":41,"context_line":"    # CINDER_BAK_CEPH_USER\u003dcind-backeups"},{"line_number":42,"context_line":"    # CINDER_BAK_CEPH_POOL_PG\u003d\u003cpg-num\u003e"},{"line_number":43,"context_line":"    # CINDER_BAK_CEPH_POOL_PGP\u003d\u003cpgp-num\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":26,"id":"baada198_fe070e16","line":41,"in_reply_to":"baada198_688ee87a","updated":"2014-07-03 15:16:47.000000000","message":"Done","commit_id":"83004b9f67ec2a464044297010041c8e0f53e6ac"}],"lib/glance":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        iniset $GLANCE_API_CONF DEFAULT known_stores \"glance.store.filesystem.Store, glance.store.http.Store, glance.store.swift.Store\""},{"line_number":129,"context_line":"    fi"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Store the images in ceph if enabled."},{"line_number":132,"context_line":"    if is_service_enabled ceph; then"},{"line_number":133,"context_line":"        iniset $GLANCE_API_CONF DEFAULT default_store rbd"},{"line_number":134,"context_line":"        iniset $GLANCE_API_CONF DEFAULT rbd_store_ceph_conf $CEPH_CONF"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRNc%3D","line":131,"updated":"2014-01-28 15:12:20.000000000","message":"This should be moved to configure_storage_ceph()","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"}],"lib/nova":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        # NOTE (leseb): libvirt_image_type is currently broken (18/12/13)."},{"line_number":308,"context_line":"        # Uncomment the following line at your own risk."},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        # if devstack uses a stable branch"},{"line_number":311,"context_line":"        # prior to Icehouse, flags were different"},{"line_number":312,"context_line":"        # see https://github.com/openstack/nova/commit/e6f737bae7be9db6188def295af9ba53205d743e"},{"line_number":313,"context_line":"        #grep -sq \"NOVA_BRANCH\u003dstable/havana\" localrc"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNiw%3D","line":310,"updated":"2014-01-16 10:41:15.000000000","message":"is it supposed to be commented for informations for deployers? \n\nAFAICS devstack in general doesn\u0027t do things like if stable then do that or that and putting as comments in the code like that is not pretty but i\u0027ll let dean or sean or dean comments if that\u0027s right or not.","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        configure_nova_hypervisor"},{"line_number":301,"context_line":"    fi"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    if is_service_enabled ceph; then"},{"line_number":304,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_user ${CINDER_CEPH_USER}"},{"line_number":305,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_secret_uuid ${CINDER_CEPH_UUID}"},{"line_number":306,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRKk%3D","line":303,"updated":"2014-01-28 15:12:20.000000000","message":"This should be moved to configure_storage_ceph()","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":4120,"name":"Rohit Karajgi","email":"rohit.karajgi@ril.com","username":"rohitkarajgi"},"change_message_id":"d2d1102351eed127a851ffa85c4a8702d610f4ec","unresolved":false,"context_lines":[{"line_number":679,"context_line":"        # The group **$LIBVIRT_GROUP** is added to the current user in this script."},{"line_number":680,"context_line":"        # Use \u0027sg\u0027 to execute nova-compute as a member of the **$LIBVIRT_GROUP** group."},{"line_number":681,"context_line":"        screen_it n-cpu \"cd $NOVA_DIR \u0026\u0026 sg $LIBVIRT_GROUP \u0027$NOVA_BIN_DIR/nova-compute --config-file $compute_cell_conf\u0027\""},{"line_number":682,"context_line":"    if is_service_enabled ceph; then"},{"line_number":683,"context_line":"        # NOTE (leseb): YES this is ugly..."},{"line_number":684,"context_line":"        # We have to do this here because libvirt-bin must be started"},{"line_number":685,"context_line":"        # We add the secret to virsh to be able to connect to the ceph cluster"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F%2FtA4%3D","line":682,"updated":"2014-03-14 11:25:05.000000000","message":"Is there any reason why this hasn\u0027t been moved to outside the if-else block for VIRT_DRIVER check and used just once?","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6706,"name":"Ashish Chandra","email":"mail.ashishchandra@gmail.com","username":"ashish-chandra"},"change_message_id":"5ae59d06fc3a12e5ede645586b57d2881b106802","unresolved":false,"context_lines":[{"line_number":692,"context_line":"   \u003c/usage\u003e"},{"line_number":693,"context_line":"\u003c/secret\u003e"},{"line_number":694,"context_line":"EOF"},{"line_number":695,"context_line":"        sudo virsh secret-define --file secret.xml"},{"line_number":696,"context_line":"        sudo virsh secret-set-value --secret ${CINDER_CEPH_UUID} --base64 $(sudo ceph auth get-key client.${CINDER_CEPH_USER})"},{"line_number":697,"context_line":"        sudo rm secret.xml"},{"line_number":698,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F%2BHng%3D","line":695,"updated":"2014-03-29 07:03:19.000000000","message":"We are defining a secret for libvirt, that needs to be deleted while unstacking.","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6706,"name":"Ashish Chandra","email":"mail.ashishchandra@gmail.com","username":"ashish-chandra"},"change_message_id":"ac6a7bf747457b198c2cd3af76ebc74f176363ac","unresolved":false,"context_lines":[{"line_number":724,"context_line":"   \u003c/usage\u003e"},{"line_number":725,"context_line":"\u003c/secret\u003e"},{"line_number":726,"context_line":"EOF"},{"line_number":727,"context_line":"        sudo virsh secret-define --file secret.xml"},{"line_number":728,"context_line":"        sudo virsh secret-set-value --secret ${CINDER_CEPH_UUID} --base64 $(sudo ceph auth get-key client.${CINDER_CEPH_USER})"},{"line_number":729,"context_line":"        sudo rm secret.xml"},{"line_number":730,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"AAAAWH%2F9tuI%3D","line":727,"updated":"2014-04-02 16:12:13.000000000","message":"We are defining a secret for libvirt, that needs to be deleted while unstacking.","commit_id":"42aace44d792db62a71251bba52d9989e78218ad"}],"lib/storage":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"# Restore xtrace"},{"line_number":83,"context_line":"$XTRACE"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# Tell emacs to use shell-script-mode"},{"line_number":86,"context_line":"## Local variables:"},{"line_number":87,"context_line":"## mode: shell-script"},{"line_number":88,"context_line":"## End:"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNio%3D","line":85,"updated":"2014-01-16 10:41:15.000000000","message":"are we still do that for new scripts? (caveat: i am an emacs user)","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"8924c3e69a8ef463085a4ba40a3c5737888e16cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# lib/storage"},{"line_number":2,"context_line":"# Interface for interacting with different storage backends"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Dependencies:"},{"line_number":5,"context_line":"# ``ENABLED_SERVICES`` must be defined"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAAVn%2F%2FDM4%3D","line":2,"updated":"2014-03-10 12:31:55.000000000","message":"that\u0027s an interface for cibder storage backend i,e: just the block storages not object sotrage, right? isn\u0027t the naming may be a bit misleading ?","commit_id":"facdddef953a1d5813a6c40e520f8008e8fbe8c5"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"#"},{"line_number":27,"context_line":"# This is required to be defined before the specific storage scripts are sourced"},{"line_number":28,"context_line":"function register_storage {"},{"line_number":29,"context_line":"    [ -z \"$STORAGE_BACKENDS\" ] \u0026\u0026 STORAGE_BACKENDS\u003d$1 || STORAGE_BACKENDS+\u003d\" $1\""},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# Sourcing the storage libs sets STORAGE_BACKENDS with the available list"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_db11e05e","line":29,"updated":"2014-07-09 09:36:50.000000000","message":"Minor note, the part:\n\n [ -z \"$STORAGE_BACKENDS\" ] \u0026\u0026 STORAGE_BACKENDS\u003d$1\n\nis redundant, in fact this:\n\n STORAGE_BACKENDS+\u003d\" $1\"\n\nworks as expected in both cases.","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"},{"author":{"_account_id":7570,"name":"Federico Simoncelli","email":"fsimonce@redhat.com","username":"fsimonce"},"change_message_id":"df45d79f2239596c201785f63ae87eff142ebf9d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"# Set the storage type based on the configuration"},{"line_number":59,"context_line":"function initialize_storage_backends {"},{"line_number":60,"context_line":"    for backend in $STORAGE_BACKENDS; do"},{"line_number":61,"context_line":"        is_service_enabled $backend \u0026\u0026 STORAGE_TYPE\u003d$backend"},{"line_number":62,"context_line":"    done"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    [ -z \"$STORAGE_TYPE\" ] \u0026\u0026 return 1"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"baada198_de08ee2a","line":61,"updated":"2014-07-09 09:36:50.000000000","message":"Does this mean that even if there are multiple STORAGE_BACKENDS enabled (is it possible?), STORAGE_TYPE will only contain the last one?","commit_id":"602c31cd60df9a9fc8a865242b4308fb017f90eb"}],"lib/storages/ceph":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"# ------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"# create_ceph_disk - Create Ceph backing disk"},{"line_number":63,"context_line":"function create_ceph_disk() {"},{"line_number":64,"context_line":"    local node_number"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # Create a loopback disk and format it to XFS."}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNic%3D","line":63,"updated":"2014-01-16 10:41:15.000000000","message":"that\u0027s basically the function from swift ? I wonder if this can be \u0027commonize\u0027","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":130,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    # change pool replica size since we have a single OSD"},{"line_number":133,"context_line":"    sudo ceph osd pool set data size 1"},{"line_number":134,"context_line":"    sudo ceph osd pool set rbd size 1"},{"line_number":135,"context_line":"    sudo ceph osd pool set metadata size 1"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNiY%3D","line":132,"updated":"2014-01-16 10:41:15.000000000","message":"we have the ability to configure the number of replica on swift if that make sense for ceph maybe do that here?","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    fi"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    if is_service_enabled c-bak; then"},{"line_number":159,"context_line":"        sudo ceph osd pool create ${CINDER_BAK_CEPH_POOL} 8 8"},{"line_number":160,"context_line":"        sudo ceph osd pool set ${CINDER_BAK_CEPH_POOL} size 1"},{"line_number":161,"context_line":"        sudo ceph auth get-or-create client.${CINDER_BAK_CEPH_USER} mon \"allow r\" osd \"allow class-read object_prefix rbd_children, allow rwx pool\u003d${CINDER_BAK_CEPH_POOL}\" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${CINDER_BAK_CEPH_USER}.keyring"},{"line_number":162,"context_line":"        sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_BAK_CEPH_USER}.keyring"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNiM%3D","line":159,"updated":"2014-01-16 10:41:15.000000000","message":"i am not sure what the 8 8 mean but is that something configurable?","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${CINDER_BAK_CEPH_USER}.keyring"},{"line_number":163,"context_line":"    fi"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE (leseb): libvirt_image_type is currently broken (18/12/13)."},{"line_number":166,"context_line":"        # Uncomment the following line at your own risk."},{"line_number":167,"context_line":"    #if is_service_enabled nova; then"},{"line_number":168,"context_line":"        #sudo ceph osd pool create ${NOVA_CEPH_POOL} 8"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNiA%3D","line":165,"updated":"2014-01-16 10:41:15.000000000","message":"I would put it only when it\u0027s not broken but not as comments.","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    else"},{"line_number":209,"context_line":"        exit_distro_not_supported \"Ceph can\u0027t be installed\""},{"line_number":210,"context_line":"    fi"},{"line_number":211,"context_line":"    # NOTE (leseb): maybe we should use ceph-deploy to install ceph"},{"line_number":212,"context_line":"    # so we don\u0027t have to trick the installer to much."},{"line_number":213,"context_line":"}"},{"line_number":214,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNg8%3D","line":211,"updated":"2014-01-16 10:41:15.000000000","message":"This comment may be removed and just ask as comment of the reviews :) and please if you can describe what ceph-deploy does and why it should (maybe) used.","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":224,"context_line":"# stop_storage_ceph() - Stop running processes (non-screen)"},{"line_number":225,"context_line":"function stop_storage_ceph() {"},{"line_number":226,"context_line":"    # kill ceph processes"},{"line_number":227,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":228,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":229,"context_line":"}"},{"line_number":230,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNgo%3D","line":227,"updated":"2014-01-16 10:41:15.000000000","message":"isn\u0027t that killable by the /etc/init.d/ceph-* services instead of just doing a pkill -f ?","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":231,"context_line":"# Restore xtrace"},{"line_number":232,"context_line":"$XTRACE"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"# Tell emacs to use shell-script-mode"},{"line_number":235,"context_line":"## Local variables:"},{"line_number":236,"context_line":"## mode: shell-script"},{"line_number":237,"context_line":"## End:"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNgk%3D","line":234,"updated":"2014-01-16 10:41:15.000000000","message":"same as before.","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# --------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Set up default directories"},{"line_number":27,"context_line":"CEPH_DIR\u003d/var/lib/ceph/*/*"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Set ``CEPH_DATA_DIR`` to the location of Ceph drives and objects."},{"line_number":30,"context_line":"# Default is the common DevStack data directory."}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRCA%3D","line":27,"updated":"2014-01-28 15:12:20.000000000","message":"This is not consistent with the usage of XXX_DIR elsewhere in DevStack and might be confusing.","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Set ``CEPH_DATA_DIR`` to the location of Ceph drives and objects."},{"line_number":30,"context_line":"# Default is the common DevStack data directory."},{"line_number":31,"context_line":"CEPH_DATA_DIR\u003d${CEPH_DATA_DIR:-/var/lib/ceph}"},{"line_number":32,"context_line":"CEPH_DISK_IMAGE\u003d${CEPH_DATA_DIR}/drives/images/ceph.img"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# Set ``CEPH_CONF_DIR`` to the location of the configuration files."}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRCU%3D","line":31,"updated":"2014-01-28 15:12:20.000000000","message":"I would prefer this to be ${DATA_DIR}/ceph to keep all DevStack data in one place","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":43,"context_line":"CEPH_LOOPBACK_DISK_SIZE\u003d${CEPH_LOOPBACK_DISK_SIZE:-$CEPH_LOOPBACK_DISK_SIZE_DEFAULT}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# Common"},{"line_number":46,"context_line":"CEPH_CONF\u003d${CEPH_CONF:-/etc/ceph/ceph.conf}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# Glance"},{"line_number":49,"context_line":"GLANCE_CEPH_USER\u003d${GLANCE_CEPH_USER:-glance}"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRBo%3D","line":46,"updated":"2014-01-28 15:12:20.000000000","message":"Use ${CEPH_CONF_DIR} here","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"8924c3e69a8ef463085a4ba40a3c5737888e16cf","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    fi"},{"line_number":86,"context_line":"    uninstall_package ceph-deploy ceph-fuse libcephfs1 python-ceph \u003e /dev/null 2\u003e\u00261"},{"line_number":87,"context_line":"    if is_ubuntu; then"},{"line_number":88,"context_line":"        sudo rm /etc/apt/sources.list.d/ceph.list"},{"line_number":89,"context_line":"    elif is_fedora; then"},{"line_number":90,"context_line":"        sudo rm /etc/yum.repos.d/ceph.repo"},{"line_number":91,"context_line":"    elif is_suse; then"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAAVn%2F%2FDMU%3D","line":88,"updated":"2014-03-10 12:31:55.000000000","message":"you may want to do a rm -f on all of those rm","commit_id":"facdddef953a1d5813a6c40e520f8008e8fbe8c5"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"8924c3e69a8ef463085a4ba40a3c5737888e16cf","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_user ${CINDER_CEPH_USER}"},{"line_number":170,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_secret_uuid ${CINDER_CEPH_UUID}"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        # NOTE (leseb): libvirt_image_type is currently broken (18/12/13)."},{"line_number":173,"context_line":"        # Uncomment the following line at your own risk."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # if devstack uses a stable branch"}],"source_content_type":"application/octet-stream","patch_set":11,"id":"AAAAVn%2F%2FDKQ%3D","line":172,"updated":"2014-03-10 12:31:55.000000000","message":"I don\u0027t think this should kept commented just be added when this is working","commit_id":"facdddef953a1d5813a6c40e520f8008e8fbe8c5"},{"author":{"_account_id":6706,"name":"Ashish Chandra","email":"mail.ashishchandra@gmail.com","username":"ashish-chandra"},"change_message_id":"5ae59d06fc3a12e5ede645586b57d2881b106802","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    if is_service_enabled glance; then"},{"line_number":139,"context_line":"        sudo ceph osd pool create ${GLANCE_CEPH_POOL} ${GLANCE_CEPH_POOL_PG} ${GLANCE_CEPH_POOL_PGP}"},{"line_number":140,"context_line":"        sudo ceph osd pool set ${GLANCE_CEPH_POOL} size ${CEPH_REPLICAS}"},{"line_number":141,"context_line":"        sudo ceph osd pool set ${GLANCE_CEPH_POOL} crush_ruleset 3"},{"line_number":142,"context_line":"        sudo ceph auth get-or-create client.${GLANCE_CEPH_USER} mon \"allow r\" osd \"allow class-read object_prefix rbd_children, allow rwx pool\u003d${GLANCE_CEPH_POOL}\" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring"},{"line_number":143,"context_line":"        sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring"},{"line_number":144,"context_line":"        iniset $GLANCE_API_CONF DEFAULT default_store rbd"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F%2BHoU%3D","line":141,"updated":"2014-03-29 07:03:19.000000000","message":"is it absolute necessary to set crush_ruleset for newly created pools? in my opinion it should left untouched and have it default(0). As in my case this resulted in error while running stack \"Error ENOENT: crush ruleset 3 does not exist\".","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"5352a71b3e8edbc88fa791d7f09b6e0db3aef59b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    if is_service_enabled glance; then"},{"line_number":139,"context_line":"        sudo ceph osd pool create ${GLANCE_CEPH_POOL} ${GLANCE_CEPH_POOL_PG} ${GLANCE_CEPH_POOL_PGP}"},{"line_number":140,"context_line":"        sudo ceph osd pool set ${GLANCE_CEPH_POOL} size ${CEPH_REPLICAS}"},{"line_number":141,"context_line":"        sudo ceph osd pool set ${GLANCE_CEPH_POOL} crush_ruleset 3"},{"line_number":142,"context_line":"        sudo ceph auth get-or-create client.${GLANCE_CEPH_USER} mon \"allow r\" osd \"allow class-read object_prefix rbd_children, allow rwx pool\u003d${GLANCE_CEPH_POOL}\" | sudo tee ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring"},{"line_number":143,"context_line":"        sudo chown $(whoami):$(whoami) ${CEPH_CONF_DIR}/ceph.client.${GLANCE_CEPH_USER}.keyring"},{"line_number":144,"context_line":"        iniset $GLANCE_API_CONF DEFAULT default_store rbd"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F9uc8%3D","line":141,"in_reply_to":"AAAAWH%2F%2BHoU%3D","updated":"2014-04-02 15:04:44.000000000","message":"My bad. I\u0027m addressing this issue at the moment.","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"b023683fb584d729dfb052ab78f0311f2b3f439b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":186,"context_line":"        # NOTE (leseb): Saucy is not part of the ceph packages"},{"line_number":187,"context_line":"        # however Quantal packages work with Saucy"},{"line_number":188,"context_line":"        if [[ ${os_CODENAME} \u003d~ saucy ]]; then"},{"line_number":189,"context_line":"            echo deb http://ceph.com/debian quantal main | sudo tee /etc/apt/sources.list.d/ceph.list"},{"line_number":190,"context_line":"        else"},{"line_number":191,"context_line":"            echo deb http://ceph.com/debian ${os_CODENAME} main | sudo tee /etc/apt/sources.list.d/ceph.list"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F%2F%2F5A%3D","line":188,"updated":"2014-03-12 13:01:16.000000000","message":"what do you think about putthing those files to devstack/files/{apts,rpms}/ceph and so on ?","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"0984a1f569c955466ff25b96012ed3379b8085c8","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":186,"context_line":"        # NOTE (leseb): Saucy is not part of the ceph packages"},{"line_number":187,"context_line":"        # however Quantal packages work with Saucy"},{"line_number":188,"context_line":"        if [[ ${os_CODENAME} \u003d~ saucy ]]; then"},{"line_number":189,"context_line":"            echo deb http://ceph.com/debian quantal main | sudo tee /etc/apt/sources.list.d/ceph.list"},{"line_number":190,"context_line":"        else"},{"line_number":191,"context_line":"            echo deb http://ceph.com/debian ${os_CODENAME} main | sudo tee /etc/apt/sources.list.d/ceph.list"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAWH%2F%2F%2Fkc%3D","line":188,"in_reply_to":"AAAAWH%2F%2F%2F5A%3D","updated":"2014-03-14 09:36:21.000000000","message":"as far as I saw this is only used by build_ramdisk.sh and warm_apts_for_uec.sh.\nThese files only contain packages. Looking at other components like docker and jenkins, they seem to use /etc/apt/sources.list.d/ also.","commit_id":"6d12857fa69382bf38f0bc372466fb60ac1dfd0b"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"45fe985c6b9fa8675dccf906ff754f97165ce1b0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":101,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    if egrep -q ${CEPH_DATA_DIR} /proc/mounts; then"},{"line_number":104,"context_line":"        sudo umount ${CEPH_DATA_DIR}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_2c3c682f","line":101,"updated":"2014-05-30 15:24:23.000000000","message":"It doesn\u0027t works for me while unstack.sh execution. stack.sh fails after it. It tries to define secret with old uuid. I need to remove a secret manually.","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4868ecc8cf2d8597186ddd79a0c6d32423970221","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":101,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    if egrep -q ${CEPH_DATA_DIR} /proc/mounts; then"},{"line_number":104,"context_line":"        sudo umount ${CEPH_DATA_DIR}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_1bcb5c73","line":101,"in_reply_to":"1ae5cdf2_2c3c682f","updated":"2014-05-30 15:41:53.000000000","message":"works for me, could you please remove the \" \u003e/dev/null 2\u003e\u00261\" so you\u0027ll at least get why it doesn\u0027t work?\nit won\u0027t work if you already have secrets defined since it grabs the first one. maybe this is your issue?","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"45fe985c6b9fa8675dccf906ff754f97165ce1b0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_2c51c862","line":128,"updated":"2014-05-30 15:24:23.000000000","message":"This doesn\u0027t work on clean Ubuntu 14.04 installation. I\u0027ve added \"sudo restart ceph-all\" line above to fix it. Could you confirm, please, that it good for you?","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":6706,"name":"Ashish Chandra","email":"mail.ashishchandra@gmail.com","username":"ashish-chandra"},"change_message_id":"bf85508c6132b58a703d77e35ea61cf95824cf73","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_70607f01","line":128,"in_reply_to":"1ae5cdf2_0684a05c","updated":"2014-06-04 05:32:14.000000000","message":"IMHO, the keys has not been created yet, from previous steps and while runnning \"ceph-deploy gatherkeys\" it is not getting the required keys and hence failing.\nI have seen this error earlier aswell. \n@Sebastian: Can you please merge the two steps: ceph-deploy mon create {hostname} and ceph-deploy gatherkeys {hostname} into one, ceph-deploy mon create-initial. It should solve the issue.","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4868ecc8cf2d8597186ddd79a0c6d32423970221","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_db5d74eb","line":128,"in_reply_to":"1ae5cdf2_2c51c862","updated":"2014-05-30 15:41:53.000000000","message":"it works for me, what\u0027s the error?","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"da998bd614bc6531de69959a39e0ef67425eb5f1","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_0684a05c","line":128,"in_reply_to":"1ae5cdf2_4bdc0813","updated":"2014-06-02 18:55:33.000000000","message":"Yes, mon is deployed but not starter.\n\u0027ubuntu\u0027 hostname is resolvable locally.","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"87c6fd48ed2b022455ae8ad8a5be1b0ba64a6050","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_125d7e15","line":128,"in_reply_to":"1ae5cdf2_70607f01","updated":"2014-06-04 07:10:13.000000000","message":"Well creating the keys shouldn\u0027t take that long since there is only one monitor. So we don\u0027t have to wait for others to create a quorum. Anyway I\u0027m gonna use \"ceph-deploy mon create-initial\".","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"54cb6c0e84a698c3375ec13fa984c48ed82583d3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_ee798b94","line":128,"in_reply_to":"1ae5cdf2_db5d74eb","updated":"2014-05-30 17:45:36.000000000","message":"Here is output: http://paste.openstack.org/show/82208/\nlocalrc: http://paste.openstack.org/show/82209/\n$ ceph -v\nceph version 0.79 (4c2d73a5095f527c3a2168deb5fa54b3c8991a6e)","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"60329042f39962e99073ead7093a7906db7525de","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    sudo ceph-deploy --overwrite-conf mon create $(hostname)"},{"line_number":126,"context_line":"    echo \"osd crush chooseleaf type \u003d 0\" | sudo tee -a ${CEPH_CONF}"},{"line_number":127,"context_line":"    echo \"osd journal size \u003d 100\" | sudo tee -a ${CEPH_CONF}"},{"line_number":128,"context_line":"    sudo ceph-deploy gatherkeys $(hostname)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":131,"context_line":"    sudo ceph osd pool set data size ${CEPH_REPLICAS}"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"1ae5cdf2_4bdc0813","line":128,"in_reply_to":"1ae5cdf2_ee798b94","updated":"2014-06-02 08:06:51.000000000","message":"is the mon deployed properly?\n\nis \u0027ubuntu\u0027 resolvable locally?","commit_id":"4d668dad822c84fb514c1e4d051c2e2065052b1c"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"d7d5206e556fe97ea57dfede83d66a5450d43ec9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"# Default is ``/etc/ceph``."},{"line_number":33,"context_line":"CEPH_CONF_DIR\u003d${CEPH_CONF_DIR:-${CEPH_CONF_DIR:-/etc/ceph}}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# DevStack will create a loop-back disk formatted as XFS to store the"},{"line_number":36,"context_line":"# Ceph data. Set ``CEPH_LOOPBACK_DISK_SIZE`` to the disk size in"},{"line_number":37,"context_line":"# kilobytes."},{"line_number":38,"context_line":"# Default is 1 gigabyte."}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_0d4b41b1","line":35,"updated":"2014-06-29 08:07:11.000000000","message":"I had manually install xfsprogs on Fedora 20 to make it working. I assume you have to automate it.","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"175c9ab368ec7cfe4d83ef0c8b1a7c4727699ae9","unresolved":false,"context_lines":[{"line_number":93,"context_line":"# cleanup_storage_ceph() - Remove residual data files, anything left over from previous"},{"line_number":94,"context_line":"# runs that a clean run would need to clean up"},{"line_number":95,"context_line":"function cleanup_storage_ceph {"},{"line_number":96,"context_line":"    sleep 1"},{"line_number":97,"context_line":"    sudo ceph-deploy purge $(hostname) \u003e /dev/null 2\u003e\u00261"},{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"1ae5cdf2_47e3b833","line":96,"updated":"2014-06-19 11:39:50.000000000","message":"why the sleep?","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4980d67a932f47b9421a6365b9f7704d96ae73ac","unresolved":false,"context_lines":[{"line_number":93,"context_line":"# cleanup_storage_ceph() - Remove residual data files, anything left over from previous"},{"line_number":94,"context_line":"# runs that a clean run would need to clean up"},{"line_number":95,"context_line":"function cleanup_storage_ceph {"},{"line_number":96,"context_line":"    sleep 1"},{"line_number":97,"context_line":"    sudo ceph-deploy purge $(hostname) \u003e /dev/null 2\u003e\u00261"},{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_66c1292e","line":96,"in_reply_to":"1ae5cdf2_47e3b833","updated":"2014-07-01 08:16:59.000000000","message":"I forgot... gonna try again without it :)","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"d7179736eedf9c13a95658dc1da48d98beafd388","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"1ae5cdf2_88a4c4a3","line":216,"updated":"2014-06-28 13:00:39.000000000","message":"os_CODENAME is already populated. This is global parameter, there is no reason populate it over and over again.","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"175c9ab368ec7cfe4d83ef0c8b1a7c4727699ae9","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"1ae5cdf2_e75924fe","line":216,"updated":"2014-06-19 11:39:50.000000000","message":"we already have a GetDistro function, that should be used instead. See the selection normalization in stack.sh.","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4980d67a932f47b9421a6365b9f7704d96ae73ac","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_66c5a95a","line":216,"in_reply_to":"1ae5cdf2_88a4c4a3","updated":"2014-07-01 08:16:59.000000000","message":"Done","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4980d67a932f47b9421a6365b9f7704d96ae73ac","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_46c8a574","line":216,"in_reply_to":"1ae5cdf2_a9926f48","updated":"2014-07-01 08:16:59.000000000","message":"Done","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"4980d67a932f47b9421a6365b9f7704d96ae73ac","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"dab895d6_c6b4b5f4","line":216,"in_reply_to":"1ae5cdf2_e75924fe","updated":"2014-07-01 08:16:59.000000000","message":"Done","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"5686482f2d6f25ccde563545f35f69ead09a861d","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# install_storage_ceph() - Collect source and prepare"},{"line_number":215,"context_line":"function install_storage_ceph {"},{"line_number":216,"context_line":"    os_CODENAME\u003d$(lsb_release -c -s)"},{"line_number":217,"context_line":"    if [[ ${os_CODENAME} \u003d~ trusty ]] || [[ ${os_CODENAME} \u003d~ Schrödinger’sCat ]] || [[ ${os_CODENAME} \u003d~ Heisenbug ]]; then"},{"line_number":218,"context_line":"        NO_UPDATE_REPOS\u003dFalse"},{"line_number":219,"context_line":"        install_package ceph-deploy ceph"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"1ae5cdf2_a9926f48","line":216,"in_reply_to":"1ae5cdf2_e75924fe","updated":"2014-06-27 21:33:12.000000000","message":"lsb_release also can\u0027t be assumed to be installed -- currently this breaks on Fedora.  (And installing packages to provide lsb_release brings in too many unneeded dependencies.)","commit_id":"67b7fb23ab764bf2c7df24ec80b6ce9ff8f26dcb"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"32cde2750d2efd32ec599e72b4e6b5b00d64d882","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    fi"},{"line_number":106,"context_line":"    if [[ -e ${CEPH_DISK_IMAGE} ]]; then"},{"line_number":107,"context_line":"        sudo rm -f ${CEPH_DISK_IMAGE}"},{"line_number":108,"context_line":"    fi"},{"line_number":109,"context_line":"    uninstall_package ceph-deploy ceph-fuse libcephfs1 python-ceph \u003e /dev/null 2\u003e\u00261"},{"line_number":110,"context_line":"}"},{"line_number":111,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":24,"id":"baada198_ea440c76","line":108,"updated":"2014-07-01 14:33:24.000000000","message":"I had to clean keyring files under /etc/ceph :\n\nsudo rm -f ${CEPH_CONF_DIR}/*.keyring\n\nto make ./stack.sh work after ./unstack.sh, without it I got a PermissionError.","commit_id":"4710a2f3e9ae1a4f9a659d30f995388b14c4978f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f9f2fb88e921ba987a8ff600935b3429bc1b29ed","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        iniset $NOVA_CONF libvirt images_type rbd"},{"line_number":226,"context_line":"        iniset $NOVA_CONF libvirt images_rbd_pool ${NOVA_CEPH_POOL}"},{"line_number":227,"context_line":"        iniset $NOVA_CONF libvirt images_rbd_ceph_conf ${CEPH_CONF_FILE}"},{"line_number":228,"context_line":"        iniset $NOVA_CONF libvirt images_rbd_secret_uuid ${CINDER_CEPH_UUID}"},{"line_number":229,"context_line":"    fi"},{"line_number":230,"context_line":"}"},{"line_number":231,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":27,"id":"baada198_39b1a047","line":228,"updated":"2014-07-03 15:35:21.000000000","message":"Please, rename to \u0027rbd_secret_uuid\u0027 according to https://github.com/openstack/nova/blob/master/nova/virt/libvirt/imagebackend.py#L629","commit_id":"e615f4fb408bb51bde607dfd1ba7d27598e433c1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"b07459bfda06e222a92eac9da11482e5c6b563bb","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        if [[ $CEPH_REPLICAS -ne 1 ]]; then"},{"line_number":218,"context_line":"            sudo ceph osd pool set ${NOVA_CEPH_POOL} crush_ruleset ${RULE_ID}"},{"line_number":219,"context_line":"        fi"},{"line_number":220,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_user ${CINDER_CEPH_USER}"},{"line_number":221,"context_line":"        iniset $NOVA_CONF DEFAULT rbd_secret_uuid ${CINDER_CEPH_UUID}"},{"line_number":222,"context_line":"        iniset $NOVA_CONF libvirt inject_key false"},{"line_number":223,"context_line":"        iniset $NOVA_CONF libvirt inject_partition -2"}],"source_content_type":"application/octet-stream","patch_set":28,"id":"baada198_8ebc1d08","line":220,"updated":"2014-07-03 17:45:54.000000000","message":"This param also moved to a libvirt section","commit_id":"aa7c8c9cd1d4be4114de0e34d661c9461c5af40c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a931fcfc9933d349d0c7dbd7aaa371b470e508ed","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            sudo start ceph-osd id\u003d${id}"},{"line_number":255,"context_line":"        done"},{"line_number":256,"context_line":"    else"},{"line_number":257,"context_line":"        sudo /etc/init.d/ceph start"},{"line_number":258,"context_line":"    fi"},{"line_number":259,"context_line":"}"},{"line_number":260,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":28,"id":"baada198_77b15546","line":257,"updated":"2014-07-03 20:49:07.000000000","message":"I think you want to use \"sudo service ceph start\" here because this script will no longer exist when Ceph moves to systemctl in Fedora.  (The service command will work in both cases though.)","commit_id":"aa7c8c9cd1d4be4114de0e34d661c9461c5af40c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a931fcfc9933d349d0c7dbd7aaa371b470e508ed","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    sudo service ceph-mon-all stop \u003e /dev/null 2\u003e\u00261"},{"line_number":265,"context_line":"    sudo service ceph-osd-all stop \u003e /dev/null 2\u003e\u00261"},{"line_number":266,"context_line":"    else"},{"line_number":267,"context_line":"        sudo /etc/init.d/ceph stop \u003e /dev/null 2\u003e\u00261"},{"line_number":268,"context_line":"    fi"},{"line_number":269,"context_line":"}"},{"line_number":270,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":28,"id":"baada198_97aee9e4","line":267,"updated":"2014-07-03 20:49:07.000000000","message":"Ditto. ^","commit_id":"aa7c8c9cd1d4be4114de0e34d661c9461c5af40c"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"29d4ab23da8a28433edc8aab002f021614ff629b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    sleep 1"},{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -f ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"baada198_b7057012","line":100,"updated":"2014-07-07 11:48:23.000000000","message":"Why I see this line again later in this method?","commit_id":"fe7cf45f7c1a8776aab0d14128fe46eeb73a69a0"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"583d890f6db66699d2b857d97267a23084757d35","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    sleep 1"},{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -f ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"baada198_b70bb0d4","line":100,"in_reply_to":"baada198_b7057012","updated":"2014-07-07 12:17:20.000000000","message":"that\u0027s a leftover.","commit_id":"fe7cf45f7c1a8776aab0d14128fe46eeb73a69a0"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"29d4ab23da8a28433edc8aab002f021614ff629b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -f ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":104,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":29,"id":"baada198_1c4e433b","line":101,"updated":"2014-07-07 11:48:23.000000000","message":"Should be -rf.","commit_id":"fe7cf45f7c1a8776aab0d14128fe46eeb73a69a0"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"29d4ab23da8a28433edc8aab002f021614ff629b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -f ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    if egrep -q ${CEPH_DATA_DIR} /proc/mounts; then"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"baada198_fc5a6ff0","line":102,"updated":"2014-07-07 11:48:23.000000000","message":"VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^[0-9a-z]/ { print $1 }\u0027)\n\n1. added a-z next to 0-9\n\n2. removed whitespace between ^ and [","commit_id":"fe7cf45f7c1a8776aab0d14128fe46eeb73a69a0"},{"author":{"_account_id":6984,"name":"Sébastien Han","email":"seb@redhat.com","username":"leseb"},"change_message_id":"583d890f6db66699d2b857d97267a23084757d35","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -f ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    if egrep -q ${CEPH_DATA_DIR} /proc/mounts; then"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"baada198_a95c381a","line":102,"in_reply_to":"baada198_fc5a6ff0","updated":"2014-07-07 12:17:20.000000000","message":"1. adding a-z is a good point\n2. the whitespace was here on purpose since the output of virsh secret-list doesn\u0027t start at the beginning of the line","commit_id":"fe7cf45f7c1a8776aab0d14128fe46eeb73a69a0"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"d0fc799ffdd809cef63b2ea4c21ac3709cbafe05","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"},{"line_number":101,"context_line":"    sudo rm -rf ${CEPH_CONF_DIR}/*"},{"line_number":102,"context_line":"    VIRSH_UUID\u003d$(sudo virsh secret-list | awk \u0027/^ [0-9a-z]/ { print $1 }\u0027)"},{"line_number":103,"context_line":"    sudo virsh secret-undefine ${VIRSH_UUID} \u003e/dev/null 2\u003e\u00261"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    if egrep -q ${CEPH_DATA_DIR} /proc/mounts; then"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"baada198_497f1c15","line":102,"updated":"2014-07-07 12:26:38.000000000","message":"It doesn\u0027t work for me on F20 with the whitespace. Please, mark that whitespace as optional.\n\nDoesn\u0027t work:\n\nsudo virsh secret-list | awk \u0027/^ [0-9a-z]/ { print $1 }\u0027\n\nWorks:\n\nsudo virsh secret-list | awk \u0027/^ *[0-9a-z]/ { print $1 }\u0027","commit_id":"df66c5689283313460279b3e7e0a440148251240"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"4b3c36b7be9234d7cfe7f67d8f278e6b069b4729","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# lib/ceph"},{"line_number":2,"context_line":"# Functions to control the configuration and operation of the **Ceph** service"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Dependencies:"}],"source_content_type":"application/octet-stream","patch_set":32,"id":"baada198_50730215","line":1,"updated":"2014-07-08 18:00:53.000000000","message":"Can this directory name be changed?  \"storages\" isn\u0027t really a word ... how about \"storage_plugins\"?","commit_id":"852f19a9d41f3bd35188e984cecd88d7c4a17910"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"4b3c36b7be9234d7cfe7f67d8f278e6b069b4729","unresolved":false,"context_lines":[{"line_number":94,"context_line":"# cleanup_storage_ceph() - Remove residual data files, anything left over from previous"},{"line_number":95,"context_line":"# runs that a clean run would need to clean up"},{"line_number":96,"context_line":"function cleanup_storage_ceph {"},{"line_number":97,"context_line":"    sleep 1"},{"line_number":98,"context_line":"    sudo pkill -f ceph-mon"},{"line_number":99,"context_line":"    sudo pkill -f ceph-osd"},{"line_number":100,"context_line":"    sudo rm -rf ${CEPH_DATA_DIR}/*/*"}],"source_content_type":"application/octet-stream","patch_set":32,"id":"baada198_50e14299","line":97,"updated":"2014-07-08 18:00:53.000000000","message":"Can this sleep be removed?  If not, can you leave a comment explaining why it\u0027s needed?","commit_id":"852f19a9d41f3bd35188e984cecd88d7c4a17910"}],"stack.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":130,"context_line":"# Import common services (database, message queue, storage) configuration"},{"line_number":131,"context_line":"source $TOP_DIR/lib/database"},{"line_number":132,"context_line":"source $TOP_DIR/lib/rpc_backend"},{"line_number":133,"context_line":"source $TOP_DIR/lib/storage"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Remove services which were negated in ENABLED_SERVICES"},{"line_number":136,"context_line":"# using the \"-\" prefix (e.g., \"-rabbit\") instead of"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAUH%2F%2BRFE%3D","line":133,"updated":"2014-01-28 15:12:20.000000000","message":"I don\u0027t think this i snecessary","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"}],"stackrc":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"cfc5099edbbf5ba12bae61ace4c15cc0f940df8d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#  enable_service neutron"},{"line_number":33,"context_line":"#  # Optional, to enable tempest configuration as part of devstack"},{"line_number":34,"context_line":"#  enable_service tempest"},{"line_number":35,"context_line":"ENABLED_SERVICES\u003dg-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,c-bak,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql,ceph"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Set the default Nova APIs to enable"},{"line_number":38,"context_line":"NOVA_ENABLED_APIS\u003dec2,osapi_compute,metadata"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2FNgI%3D","line":35,"updated":"2014-01-16 10:41:15.000000000","message":"this should not be the default to enable ceph (even swift isn\u0027t)","commit_id":"33a9825c3b53b3be1bf4be14a48e64cad5a17ad4"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":35,"context_line":"#  enable_service neutron"},{"line_number":36,"context_line":"#  # Optional, to enable tempest configuration as part of devstack"},{"line_number":37,"context_line":"#  enable_service tempest"},{"line_number":38,"context_line":"ENABLED_SERVICES\u003dg-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,c-bak,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Set the default Nova APIs to enable"},{"line_number":41,"context_line":"NOVA_ENABLED_APIS\u003dec2,osapi_compute,metadata"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAUH%2F%2BRIo%3D","line":38,"updated":"2014-01-28 15:12:20.000000000","message":"Does c-bak need to be started even when ceph is not enabled?","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"}],"unstack.sh":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"954d903914be450295bb37b9069c7f3206d33d32","unresolved":false,"context_lines":[{"line_number":19,"context_line":"source $TOP_DIR/lib/database"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Import storage libraries"},{"line_number":22,"context_line":"source $TOP_DIR/lib/storage"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Load local configuration"},{"line_number":25,"context_line":"source $TOP_DIR/stackrc"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAUH%2F%2BRFA%3D","line":22,"updated":"2014-01-28 15:12:20.000000000","message":"I don\u0027t think this i snecessary","commit_id":"634d20d566b244949e81c2e61bbb50b49ac97674"}]}
