)]}'
{"nova/tests/live_migration/hooks/ceph.sh":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e3681ba5eddaa5524b093d2c24de8056ec9ef355","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    git clone https://github.com/openstack/devstack-plugin-ceph.git /tmp/devstack-plugin-ceph"},{"line_number":17,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":18,"context_line":"    install_ceph_remote"},{"line_number":19,"context_line":"    \""},{"line_number":20,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":21,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":22,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":15,"id":"da6895a0_fbf1cbce","line":19,"updated":"2016-10-21 14:05:00.000000000","message":"What is this?","commit_id":"32088e4e1e504537c173b3b9c1a3659ecdae1954"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"b1ca7eaf0746fa4d7aa864a89624bf5d14048e99","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    git clone https://github.com/openstack/devstack-plugin-ceph.git /tmp/devstack-plugin-ceph"},{"line_number":17,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":18,"context_line":"    install_ceph_remote"},{"line_number":19,"context_line":"    \""},{"line_number":20,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":21,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":22,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":15,"id":"da6895a0_8ffec569","line":19,"in_reply_to":"da6895a0_fbf1cbce","updated":"2016-10-21 15:59:24.000000000","message":"It\u0027 multiline command that is executed on subnodes, the purpose of that is to install ceph-common packages","commit_id":"32088e4e1e504537c173b3b9c1a3659ecdae1954"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"9662bdbf2acf4d725bbbbccae06b99ba474f25d9","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":9,"context_line":"    install_ceph"},{"line_number":10,"context_line":"    echo $CEPH_REPLICAS"},{"line_number":11,"context_line":"    CEPH_REPLICAS\u003d1"},{"line_number":12,"context_line":"    configure_ceph"},{"line_number":13,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"}],"source_content_type":"text/x-sh","patch_set":18,"id":"ba5da102_34650945","line":10,"updated":"2016-10-27 15:55:39.000000000","message":"nit: this is probably not really needed, as we most likely run this with -x","commit_id":"0024b33f697079ace72432ee9d34a982aeff3c50"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"9662bdbf2acf4d725bbbbccae06b99ba474f25d9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":23,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.admin.keyring dest\u003d/etc/ceph/ceph.client.admin.keyring owner\u003dceph group\u003dceph\""},{"line_number":24,"context_line":"    sudo rm -f /tmp/ceph.client.admin.keyring"},{"line_number":25,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/etc/ceph/ceph.conf dest\u003d/etc/ceph/ceph.conf owner\u003droot group\u003droot\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    start_ceph"},{"line_number":28,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"ba5da102_cf10ba51","line":25,"updated":"2016-10-27 15:55:39.000000000","message":"is Ceph running on behalf of root user?","commit_id":"0024b33f697079ace72432ee9d34a982aeff3c50"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"ddc69baae6df058f2777b9e58d1081cd041bde55","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":23,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.admin.keyring dest\u003d/etc/ceph/ceph.client.admin.keyring owner\u003dceph group\u003dceph\""},{"line_number":24,"context_line":"    sudo rm -f /tmp/ceph.client.admin.keyring"},{"line_number":25,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/etc/ceph/ceph.conf dest\u003d/etc/ceph/ceph.conf owner\u003droot group\u003droot\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    start_ceph"},{"line_number":28,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"ba5da102_23ab031f","line":25,"in_reply_to":"ba5da102_cf10ba51","updated":"2016-10-28 12:54:58.000000000","message":"ah, it\u0027s 644, so it\u0027s readable by ceph-mon\n\nhttp://logs.openstack.org/46/389546/24/check/gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial/03e50b0/console.html#_2016-10-27_21_08_30_215794","commit_id":"0024b33f697079ace72432ee9d34a982aeff3c50"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"CEPH_REPLICAS\u003d1"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function prepare_ceph {"},{"line_number":6,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_8beafd0d","line":3,"updated":"2016-10-31 14:25:19.000000000","message":"This is already defined in devstack-plugin-ceph:\n\nhttp://git.openstack.org/cgit/openstack/devstack-plugin-ceph/tree/devstack/lib/ceph#n99\n\nSo if you source that first in prepare_ceph before needing to use it, then we don\u0027t need to redefine it here.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"CEPH_REPLICAS\u003d1"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function prepare_ceph {"},{"line_number":6,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_4b6290ae","line":3,"in_reply_to":"ba5da102_8beafd0d","updated":"2016-11-01 08:41:34.000000000","message":"Done","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"CEPH_REPLICAS\u003d1"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function prepare_ceph {"},{"line_number":6,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_8bd11d5a","line":5,"updated":"2016-10-31 14:25:19.000000000","message":"nit: it would be nice to have some comments inline to document the flow of this code.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"},{"line_number":12,"context_line":"    source $BASE/new/devstack/functions"},{"line_number":13,"context_line":"    source $BASE/new/devstack/functions-common"},{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_abd42147","line":14,"updated":"2016-10-31 14:25:19.000000000","message":"Why are you re-cloning this?","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bae8cef38b6e5b4159bca17203a55f89c910346c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"},{"line_number":12,"context_line":"    source $BASE/new/devstack/functions"},{"line_number":13,"context_line":"    source $BASE/new/devstack/functions-common"},{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""}],"source_content_type":"text/x-sh","patch_set":21,"id":"9a629dbe_1a4a8cac","line":14,"in_reply_to":"ba5da102_4b30d09e","updated":"2016-11-09 21:00:23.000000000","message":"OK let\u0027s document that.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"},{"line_number":12,"context_line":"    source $BASE/new/devstack/functions"},{"line_number":13,"context_line":"    source $BASE/new/devstack/functions-common"},{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_4b30d09e","line":14,"in_reply_to":"ba5da102_abd42147","updated":"2016-11-01 08:41:34.000000000","message":"lines from 11 to 16 are executed on the subnode.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_cbcb15a4","line":17,"updated":"2016-10-31 14:25:19.000000000","message":"What is this for?","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"26f502fb5e8ce96641fabe1df06bac6aa06a682e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":21,"id":"9a629dbe_86e0f897","line":17,"in_reply_to":"9a629dbe_fa4cf8c9","updated":"2016-11-10 09:07:36.000000000","message":"it\u0027s just a multiline command, beginning on line 11","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bae8cef38b6e5b4159bca17203a55f89c910346c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":21,"id":"9a629dbe_fa4cf8c9","line":17,"in_reply_to":"ba5da102_0b0098a9","updated":"2016-11-09 21:00:23.000000000","message":"I meant the \"","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"},{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_0b0098a9","line":17,"in_reply_to":"ba5da102_cbcb15a4","updated":"2016-11-01 08:41:34.000000000","message":"this installs ceph-common on the subnode","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":21,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.admin.keyring dest\u003d/etc/ceph/ceph.client.admin.keyring owner\u003dceph group\u003dceph\""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_8b383da2","line":18,"updated":"2016-10-31 14:25:19.000000000","message":"Isn\u0027t this already done as part of configure_ceph above?\n\nhttp://git.openstack.org/cgit/openstack/devstack-plugin-ceph/tree/devstack/lib/ceph#n409","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bae8cef38b6e5b4159bca17203a55f89c910346c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":21,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.admin.keyring dest\u003d/etc/ceph/ceph.client.admin.keyring owner\u003dceph group\u003dceph\""}],"source_content_type":"text/x-sh","patch_set":21,"id":"9a629dbe_7acf0829","line":18,"in_reply_to":"ba5da102_6b103402","updated":"2016-11-09 21:00:23.000000000","message":"OK let\u0027s document it.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":16,"context_line":"    install_ceph_remote"},{"line_number":17,"context_line":"    \""},{"line_number":18,"context_line":"    sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":19,"context_line":"    sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":20,"context_line":"    sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":21,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.admin.keyring dest\u003d/etc/ceph/ceph.client.admin.keyring owner\u003dceph group\u003dceph\""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_6b103402","line":18,"in_reply_to":"ba5da102_8b383da2","updated":"2016-11-01 08:41:34.000000000","message":"we need to copy keyring and ceph.conf to subnodes.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    die $LINENO \"Maximum of 3 retries reached. Failed to start osds properly\""},{"line_number":185,"context_line":"}"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"function _ceph_configure_glance {"},{"line_number":188,"context_line":"    GLANCE_API_CONF\u003d${GLANCE_API_CONF:-/etc/glance/glance-api.conf}"},{"line_number":189,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} osd pool create ${GLANCE_CEPH_POOL} ${GLANCE_CEPH_POOL_PG} ${GLANCE_CEPH_POOL_PGP}"},{"line_number":190,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${GLANCE_CEPH_USER} \\"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_8ba2fdac","line":187,"range":{"start_line":187,"start_character":9,"end_line":187,"end_character":31},"updated":"2016-10-31 14:25:19.000000000","message":"random question, but why can\u0027t we call configure_ceph_glance in devstack-plugin-ceph?\n\nhttp://git.openstack.org/cgit/openstack/devstack-plugin-ceph/tree/devstack/lib/ceph#n625","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    die $LINENO \"Maximum of 3 retries reached. Failed to start osds properly\""},{"line_number":185,"context_line":"}"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"function _ceph_configure_glance {"},{"line_number":188,"context_line":"    GLANCE_API_CONF\u003d${GLANCE_API_CONF:-/etc/glance/glance-api.conf}"},{"line_number":189,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} osd pool create ${GLANCE_CEPH_POOL} ${GLANCE_CEPH_POOL_PG} ${GLANCE_CEPH_POOL_PGP}"},{"line_number":190,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create client.${GLANCE_CEPH_USER} \\"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_cb1ce015","line":187,"range":{"start_line":187,"start_character":9,"end_line":187,"end_character":31},"in_reply_to":"ba5da102_8ba2fdac","updated":"2016-11-01 08:41:34.000000000","message":"this one is removed in next ps.","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2884f33f199f427ef2761b1568bf416459bcddc2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    fi"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"function configure_ceph_local {"},{"line_number":49,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/{bootstrap-mds,bootstrap-osd,mds,mon,osd,tmp}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    # create ceph monitor initial key and directory"},{"line_number":52,"context_line":"    sudo ceph-authtool /var/lib/ceph/tmp/keyring.mon.$(hostname) \\"},{"line_number":53,"context_line":"        --create-keyring --name\u003dmon. --add-key\u003d$(ceph-authtool --gen-print-key) \\"},{"line_number":54,"context_line":"        --cap mon \u0027allow *\u0027"},{"line_number":55,"context_line":"    sudo mkdir /var/lib/ceph/mon/ceph-$(hostname)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # create a default ceph configuration file"},{"line_number":58,"context_line":"    sudo tee ${CEPH_CONF_FILE} \u003e /dev/null \u003c\u003cEOF"},{"line_number":59,"context_line":"[global]"},{"line_number":60,"context_line":"fsid \u003d ${CEPH_FSID}"},{"line_number":61,"context_line":"mon_initial_members \u003d $(hostname)"},{"line_number":62,"context_line":"mon_host \u003d ${SERVICE_HOST}"},{"line_number":63,"context_line":"auth_cluster_required \u003d cephx"},{"line_number":64,"context_line":"auth_service_required \u003d cephx"},{"line_number":65,"context_line":"auth_client_required \u003d cephx"},{"line_number":66,"context_line":"filestore_xattr_use_omap \u003d true"},{"line_number":67,"context_line":"osd crush chooseleaf type \u003d 0"},{"line_number":68,"context_line":"osd journal size \u003d 100"},{"line_number":69,"context_line":"EOF"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    # bootstrap the ceph monitor"},{"line_number":72,"context_line":"    sudo ceph-mon -c ${CEPH_CONF_FILE} --mkfs -i $(hostname) \\"},{"line_number":73,"context_line":"        --keyring /var/lib/ceph/tmp/keyring.mon.$(hostname)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if is_ubuntu; then"},{"line_number":76,"context_line":"        sudo touch /var/lib/ceph/mon/ceph-$(hostname)/upstart"},{"line_number":77,"context_line":"        sudo initctl emit ceph-mon id\u003d$(hostname)"},{"line_number":78,"context_line":"    else"},{"line_number":79,"context_line":"        sudo touch /var/lib/ceph/mon/ceph-$(hostname)/sysvinit"},{"line_number":80,"context_line":"        sudo service ceph start mon.$(hostname)"},{"line_number":81,"context_line":"    fi"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    # wait for the admin key to come up otherwise we will not be able to do the actions below"},{"line_number":84,"context_line":"    until [ -f ${CEPH_CONF_DIR}/ceph.client.admin.keyring ]; do"},{"line_number":85,"context_line":"        echo_summary \"Waiting for the Ceph admin key to be ready...\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        count\u003d$(($count + 1))"},{"line_number":88,"context_line":"        if [ $count -eq 3 ]; then"},{"line_number":89,"context_line":"            die $LINENO \"Maximum of 3 retries reached\""},{"line_number":90,"context_line":"        fi"},{"line_number":91,"context_line":"        sleep 5"},{"line_number":92,"context_line":"    done"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # pools data and metadata were removed in the Giant release so depending on the version we apply different commands"},{"line_number":95,"context_line":"    ceph_version\u003d$(get_ceph_version)"},{"line_number":96,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":97,"context_line":"    if [[ ${ceph_version%%.*} -eq 0 ]] \u0026\u0026 [[ ${ceph_version##*.} -lt 87 ]]; then"},{"line_number":98,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}"},{"line_number":99,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set data size ${CEPH_REPLICAS}"},{"line_number":100,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata size ${CEPH_REPLICAS}"},{"line_number":101,"context_line":"    else"},{"line_number":102,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}"},{"line_number":103,"context_line":"    fi"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    # create a simple rule to take OSDs instead of host with CRUSH"},{"line_number":106,"context_line":"    # then apply this rules to the default pool"},{"line_number":107,"context_line":"    if [[ $CEPH_REPLICAS -ne 1 ]]; then"},{"line_number":108,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd crush rule create-simple devstack default osd"},{"line_number":109,"context_line":"        RULE_ID\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd crush rule dump devstack | awk \u0027/rule_id/ {print $2}\u0027 | cut -d \u0027,\u0027 -f1)"},{"line_number":110,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd crush_ruleset ${RULE_ID}"},{"line_number":111,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set data crush_ruleset ${RULE_ID}"},{"line_number":112,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata crush_ruleset ${RULE_ID}"},{"line_number":113,"context_line":"    fi"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    OSD_ID\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd create)"},{"line_number":116,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}"},{"line_number":117,"context_line":"    sudo ceph-osd -c ${CEPH_CONF_FILE} -i ${OSD_ID} --mkfs"},{"line_number":118,"context_line":"    sudo ceph auth get-or-create osd.${OSD_ID} \\"},{"line_number":119,"context_line":"        mon \u0027allow profile osd \u0027 osd \u0027allow *\u0027 | \\"},{"line_number":120,"context_line":"        sudo tee /var/lib/ceph/osd/ceph-${OSD_ID}/keyring"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    # ceph\u0027s init script is parsing ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/ and looking for a file"},{"line_number":123,"context_line":"    # \u0027upstart\u0027 or \u0027sysinitv\u0027, thanks to these \u0027touches\u0027 we are able to control OSDs daemons"},{"line_number":124,"context_line":"    # from the init script."},{"line_number":125,"context_line":"    if is_ubuntu; then"},{"line_number":126,"context_line":"        sudo touch /var/lib/ceph/osd/ceph-${OSD_ID}/upstart"},{"line_number":127,"context_line":"    else"},{"line_number":128,"context_line":"        sudo touch ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/sysvinit"},{"line_number":129,"context_line":"    fi"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"function configure_ceph_remote {"},{"line_number":134,"context_line":"    echo \"boot osd on compute only node\""},{"line_number":135,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \u0027CEPH_CONF_FILE\\\u003d/etc/ceph/ceph.conf"},{"line_number":136,"context_line":"    CEPH_DATA_DIR\\\u003d/var/lib/ceph/"},{"line_number":137,"context_line":"    OSD_ID\\\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd create)"},{"line_number":138,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}"},{"line_number":139,"context_line":"    sudo ceph-osd -c ${CEPH_CONF_FILE} -i ${OSD_ID} --mkfs"},{"line_number":140,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create osd.${OSD_ID} \\"},{"line_number":141,"context_line":"    mon \"allow profile osd\" osd \"allow *\" | \\"},{"line_number":142,"context_line":"    sudo tee ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/keyring"},{"line_number":143,"context_line":"    sudo touch ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/upstart"},{"line_number":144,"context_line":"    sudo start ceph-osd id\\\u003d${OSD_ID}"},{"line_number":145,"context_line":"    \u0027"},{"line_number":146,"context_line":"}"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"function wait_for_ceph_up {"},{"line_number":149,"context_line":"    for i in $(seq 1 3); do"},{"line_number":150,"context_line":"        ceph_osd_stat\u003d$(sudo ceph osd stat)"},{"line_number":151,"context_line":"        total_osd_amount\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $2}\u0027 | sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":152,"context_line":"        up_osd_amout\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $3}\u0027 | awk -F \",\" \u0027{print $1}\u0027| sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":153,"context_line":"        in_cluster_osd_amout\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $3}\u0027 | awk -F \",\" \u0027{print $2}\u0027| sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":154,"context_line":"        if [ \"$total_osd_amount\" -eq \"$up_osd_amout\" -a \"$up_osd_amout\" -eq \"$in_cluster_osd_amout\" ]"},{"line_number":155,"context_line":"        then"},{"line_number":156,"context_line":"          echo \"All OSDs are up and ready\""},{"line_number":157,"context_line":"          return"},{"line_number":158,"context_line":"        fi"},{"line_number":159,"context_line":"        sleep 3"},{"line_number":160,"context_line":"    done"},{"line_number":161,"context_line":"    die $LINENO \"Maximum of 3 retries reached. Failed to start osds properly\""},{"line_number":162,"context_line":"}"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"function _ceph_configure_glance {"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_3abe7065","side":"PARENT","line":161,"range":{"start_line":48,"start_character":0,"end_line":161,"end_character":77},"updated":"2016-11-09 21:04:07.000000000","message":"This is all cleanup right? Can we do this in a separate change that comes before this one in the series? Or does it only work to remove this stuff after you\u0027ve changed the prepare_ceph function to use the devstack-plugin-ceph commands? Either way it might be nicer to move this to a separate change, before or after this one. At the very least you should mention why we can remove all of this in this change (in the commit message).","commit_id":"951a2f4219e854ba8183aaf52d2098b147472364"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"7a01f2fc4841098af9bc66b629c6403c6c9af047","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    fi"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"function configure_ceph_local {"},{"line_number":49,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/{bootstrap-mds,bootstrap-osd,mds,mon,osd,tmp}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    # create ceph monitor initial key and directory"},{"line_number":52,"context_line":"    sudo ceph-authtool /var/lib/ceph/tmp/keyring.mon.$(hostname) \\"},{"line_number":53,"context_line":"        --create-keyring --name\u003dmon. --add-key\u003d$(ceph-authtool --gen-print-key) \\"},{"line_number":54,"context_line":"        --cap mon \u0027allow *\u0027"},{"line_number":55,"context_line":"    sudo mkdir /var/lib/ceph/mon/ceph-$(hostname)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # create a default ceph configuration file"},{"line_number":58,"context_line":"    sudo tee ${CEPH_CONF_FILE} \u003e /dev/null \u003c\u003cEOF"},{"line_number":59,"context_line":"[global]"},{"line_number":60,"context_line":"fsid \u003d ${CEPH_FSID}"},{"line_number":61,"context_line":"mon_initial_members \u003d $(hostname)"},{"line_number":62,"context_line":"mon_host \u003d ${SERVICE_HOST}"},{"line_number":63,"context_line":"auth_cluster_required \u003d cephx"},{"line_number":64,"context_line":"auth_service_required \u003d cephx"},{"line_number":65,"context_line":"auth_client_required \u003d cephx"},{"line_number":66,"context_line":"filestore_xattr_use_omap \u003d true"},{"line_number":67,"context_line":"osd crush chooseleaf type \u003d 0"},{"line_number":68,"context_line":"osd journal size \u003d 100"},{"line_number":69,"context_line":"EOF"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    # bootstrap the ceph monitor"},{"line_number":72,"context_line":"    sudo ceph-mon -c ${CEPH_CONF_FILE} --mkfs -i $(hostname) \\"},{"line_number":73,"context_line":"        --keyring /var/lib/ceph/tmp/keyring.mon.$(hostname)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if is_ubuntu; then"},{"line_number":76,"context_line":"        sudo touch /var/lib/ceph/mon/ceph-$(hostname)/upstart"},{"line_number":77,"context_line":"        sudo initctl emit ceph-mon id\u003d$(hostname)"},{"line_number":78,"context_line":"    else"},{"line_number":79,"context_line":"        sudo touch /var/lib/ceph/mon/ceph-$(hostname)/sysvinit"},{"line_number":80,"context_line":"        sudo service ceph start mon.$(hostname)"},{"line_number":81,"context_line":"    fi"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    # wait for the admin key to come up otherwise we will not be able to do the actions below"},{"line_number":84,"context_line":"    until [ -f ${CEPH_CONF_DIR}/ceph.client.admin.keyring ]; do"},{"line_number":85,"context_line":"        echo_summary \"Waiting for the Ceph admin key to be ready...\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        count\u003d$(($count + 1))"},{"line_number":88,"context_line":"        if [ $count -eq 3 ]; then"},{"line_number":89,"context_line":"            die $LINENO \"Maximum of 3 retries reached\""},{"line_number":90,"context_line":"        fi"},{"line_number":91,"context_line":"        sleep 5"},{"line_number":92,"context_line":"    done"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # pools data and metadata were removed in the Giant release so depending on the version we apply different commands"},{"line_number":95,"context_line":"    ceph_version\u003d$(get_ceph_version)"},{"line_number":96,"context_line":"    # change pool replica size according to the CEPH_REPLICAS set by the user"},{"line_number":97,"context_line":"    if [[ ${ceph_version%%.*} -eq 0 ]] \u0026\u0026 [[ ${ceph_version##*.} -lt 87 ]]; then"},{"line_number":98,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}"},{"line_number":99,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set data size ${CEPH_REPLICAS}"},{"line_number":100,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata size ${CEPH_REPLICAS}"},{"line_number":101,"context_line":"    else"},{"line_number":102,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}"},{"line_number":103,"context_line":"    fi"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    # create a simple rule to take OSDs instead of host with CRUSH"},{"line_number":106,"context_line":"    # then apply this rules to the default pool"},{"line_number":107,"context_line":"    if [[ $CEPH_REPLICAS -ne 1 ]]; then"},{"line_number":108,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd crush rule create-simple devstack default osd"},{"line_number":109,"context_line":"        RULE_ID\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd crush rule dump devstack | awk \u0027/rule_id/ {print $2}\u0027 | cut -d \u0027,\u0027 -f1)"},{"line_number":110,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd crush_ruleset ${RULE_ID}"},{"line_number":111,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set data crush_ruleset ${RULE_ID}"},{"line_number":112,"context_line":"        sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata crush_ruleset ${RULE_ID}"},{"line_number":113,"context_line":"    fi"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    OSD_ID\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd create)"},{"line_number":116,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}"},{"line_number":117,"context_line":"    sudo ceph-osd -c ${CEPH_CONF_FILE} -i ${OSD_ID} --mkfs"},{"line_number":118,"context_line":"    sudo ceph auth get-or-create osd.${OSD_ID} \\"},{"line_number":119,"context_line":"        mon \u0027allow profile osd \u0027 osd \u0027allow *\u0027 | \\"},{"line_number":120,"context_line":"        sudo tee /var/lib/ceph/osd/ceph-${OSD_ID}/keyring"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    # ceph\u0027s init script is parsing ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/ and looking for a file"},{"line_number":123,"context_line":"    # \u0027upstart\u0027 or \u0027sysinitv\u0027, thanks to these \u0027touches\u0027 we are able to control OSDs daemons"},{"line_number":124,"context_line":"    # from the init script."},{"line_number":125,"context_line":"    if is_ubuntu; then"},{"line_number":126,"context_line":"        sudo touch /var/lib/ceph/osd/ceph-${OSD_ID}/upstart"},{"line_number":127,"context_line":"    else"},{"line_number":128,"context_line":"        sudo touch ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/sysvinit"},{"line_number":129,"context_line":"    fi"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"function configure_ceph_remote {"},{"line_number":134,"context_line":"    echo \"boot osd on compute only node\""},{"line_number":135,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \u0027CEPH_CONF_FILE\\\u003d/etc/ceph/ceph.conf"},{"line_number":136,"context_line":"    CEPH_DATA_DIR\\\u003d/var/lib/ceph/"},{"line_number":137,"context_line":"    OSD_ID\\\u003d$(sudo ceph -c ${CEPH_CONF_FILE} osd create)"},{"line_number":138,"context_line":"    sudo mkdir -p ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}"},{"line_number":139,"context_line":"    sudo ceph-osd -c ${CEPH_CONF_FILE} -i ${OSD_ID} --mkfs"},{"line_number":140,"context_line":"    sudo ceph -c ${CEPH_CONF_FILE} auth get-or-create osd.${OSD_ID} \\"},{"line_number":141,"context_line":"    mon \"allow profile osd\" osd \"allow *\" | \\"},{"line_number":142,"context_line":"    sudo tee ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/keyring"},{"line_number":143,"context_line":"    sudo touch ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/upstart"},{"line_number":144,"context_line":"    sudo start ceph-osd id\\\u003d${OSD_ID}"},{"line_number":145,"context_line":"    \u0027"},{"line_number":146,"context_line":"}"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"function wait_for_ceph_up {"},{"line_number":149,"context_line":"    for i in $(seq 1 3); do"},{"line_number":150,"context_line":"        ceph_osd_stat\u003d$(sudo ceph osd stat)"},{"line_number":151,"context_line":"        total_osd_amount\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $2}\u0027 | sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":152,"context_line":"        up_osd_amout\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $3}\u0027 | awk -F \",\" \u0027{print $1}\u0027| sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":153,"context_line":"        in_cluster_osd_amout\u003d$(sudo ceph osd stat | awk -F \":\"  \u0027{ print $3}\u0027 | awk -F \",\" \u0027{print $2}\u0027| sed \u0027s/[^0-9]*//g\u0027)"},{"line_number":154,"context_line":"        if [ \"$total_osd_amount\" -eq \"$up_osd_amout\" -a \"$up_osd_amout\" -eq \"$in_cluster_osd_amout\" ]"},{"line_number":155,"context_line":"        then"},{"line_number":156,"context_line":"          echo \"All OSDs are up and ready\""},{"line_number":157,"context_line":"          return"},{"line_number":158,"context_line":"        fi"},{"line_number":159,"context_line":"        sleep 3"},{"line_number":160,"context_line":"    done"},{"line_number":161,"context_line":"    die $LINENO \"Maximum of 3 retries reached. Failed to start osds properly\""},{"line_number":162,"context_line":"}"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"function _ceph_configure_glance {"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_0c2327a8","side":"PARENT","line":161,"range":{"start_line":48,"start_character":0,"end_line":161,"end_character":77},"in_reply_to":"9a629dbe_3abe7065","updated":"2016-11-10 09:34:23.000000000","message":"Done","commit_id":"951a2f4219e854ba8183aaf52d2098b147472364"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2884f33f199f427ef2761b1568bf416459bcddc2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":7,"context_line":"    install_ceph"},{"line_number":8,"context_line":"    configure_ceph"},{"line_number":9,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"},{"line_number":10,"context_line":"    source $BASE/new/devstack/functions"},{"line_number":11,"context_line":"    source $BASE/new/devstack/functions-common"},{"line_number":12,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_9ab93c7c","line":9,"updated":"2016-11-09 21:04:07.000000000","message":"Please document some of this that this is setting things up on the subnode.","commit_id":"33c1852da7e757039b5bfe0e1c18350d6e33cb48"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"7a01f2fc4841098af9bc66b629c6403c6c9af047","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    source /tmp/devstack-plugin-ceph/devstack/lib/ceph"},{"line_number":7,"context_line":"    install_ceph"},{"line_number":8,"context_line":"    configure_ceph"},{"line_number":9,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m raw -a \"executable\u003d/bin/bash"},{"line_number":10,"context_line":"    source $BASE/new/devstack/functions"},{"line_number":11,"context_line":"    source $BASE/new/devstack/functions-common"},{"line_number":12,"context_line":"    git clone git://git.openstack.org/openstack/devstack-plugin-ceph /tmp/devstack-plugin-ceph"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_a905cd7a","line":9,"in_reply_to":"9a629dbe_9ab93c7c","updated":"2016-11-10 09:34:23.000000000","message":"Done","commit_id":"33c1852da7e757039b5bfe0e1c18350d6e33cb48"}],"nova/tests/live_migration/hooks/run_tests.sh":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23c6440db8e2a881fbda8c5f811c3a3307955fdd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"echo \u00271. test with all local storage (use default for volumes)\u0027"},{"line_number":29,"context_line":"echo \u0027NOTE: test_volume_backed_live_migration is skipped due to https://bugs.launchpad.net/nova/+bug/1524898\u0027"},{"line_number":30,"context_line":"run_tempest \"block migration test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":31,"context_line":"echo \u0027disabling block_migration in tempest\u0027"},{"line_number":32,"context_line":"$ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file -a \"dest\u003d$BASE/new/tempest/etc/tempest.conf section\u003dcompute-feature-enabled option\u003dblock_migration_for_live_migration value\u003dFalse\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"echo \u00272. NFS testing is skipped due to setup failures with Ubuntu 16.04\u0027"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_ab08a192","line":31,"updated":"2016-10-31 14:27:07.000000000","message":"Do you want to fold this into #3 below for ceph + ephemeral disk? And why does this need to be disabled?","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de29a9f821e87a41660d1e8fc523d3ace4886579","unresolved":false,"context_lines":[{"line_number":28,"context_line":"echo \u00271. test with all local storage (use default for volumes)\u0027"},{"line_number":29,"context_line":"echo \u0027NOTE: test_volume_backed_live_migration is skipped due to https://bugs.launchpad.net/nova/+bug/1524898\u0027"},{"line_number":30,"context_line":"run_tempest \"block migration test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":31,"context_line":"echo \u0027disabling block_migration in tempest\u0027"},{"line_number":32,"context_line":"$ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file -a \"dest\u003d$BASE/new/tempest/etc/tempest.conf section\u003dcompute-feature-enabled option\u003dblock_migration_for_live_migration value\u003dFalse\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"echo \u00272. NFS testing is skipped due to setup failures with Ubuntu 16.04\u0027"}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_0b56ed5b","line":31,"in_reply_to":"ba5da102_ab08a192","updated":"2016-10-31 14:30:01.000000000","message":"Oh nevermind, this is to disable the test_iscsi_volume test. We still test this:\n\ntempest.api.compute.admin.test_live_migration.LiveBlockMigrationTestJSON.test_live_block_migration\n\nhttp://logs.openstack.org/36/387836/21/check/gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial/b8dbeda/console.html.gz#_2016-10-28_13_07_04_659093","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"21299d5d96cac8bd8e367e651c4050b9a60a8c65","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \u00273. test with Ceph for root + ephemeral disks\u0027"},{"line_number":44,"context_line":"prepare_ceph"},{"line_number":45,"context_line":"GLANCE_API_CONF\u003d${GLANCE_API_CONF:-/etc/glance/glance-api.conf}"},{"line_number":46,"context_line":"configure_ceph_glance"},{"line_number":47,"context_line":"restart_glance"},{"line_number":48,"context_line":"configure_and_start_nova"},{"line_number":49,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_cb9a3563","line":46,"updated":"2016-10-31 14:25:19.000000000","message":"This is being used from devstack-plugin-ceph?\n\nhttp://git.openstack.org/cgit/openstack/devstack-plugin-ceph/tree/devstack/lib/ceph#n625\n\nSo this assumes that prepare_ceph sourced the above script?","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"5fb61316e67733d9dd409e14c176f96d64a5f014","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \u00273. test with Ceph for root + ephemeral disks\u0027"},{"line_number":44,"context_line":"prepare_ceph"},{"line_number":45,"context_line":"GLANCE_API_CONF\u003d${GLANCE_API_CONF:-/etc/glance/glance-api.conf}"},{"line_number":46,"context_line":"configure_ceph_glance"},{"line_number":47,"context_line":"restart_glance"},{"line_number":48,"context_line":"configure_and_start_nova"},{"line_number":49,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""}],"source_content_type":"text/x-sh","patch_set":21,"id":"ba5da102_4bd7f022","line":46,"in_reply_to":"ba5da102_cb9a3563","updated":"2016-11-01 08:41:34.000000000","message":"yes, this one is from devstack-plugin-ceph","commit_id":"f4610282eec78015a0b47c3b40124a9f5765fbda"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"7e7cbf68671f2c15a9101974ad2a60ff2d4c4a76","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \u00273. test with Ceph for root + ephemeral disks\u0027"},{"line_number":44,"context_line":"prepare_ceph"},{"line_number":45,"context_line":"GLANCE_API_CONF\u003d${GLANCE_API_CONF:-/etc/glance/glance-api.conf}"},{"line_number":46,"context_line":"configure_ceph_glance"},{"line_number":47,"context_line":"restart_glance"},{"line_number":48,"context_line":"configure_and_start_nova"},{"line_number":49,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""}],"source_content_type":"text/x-sh","patch_set":23,"id":"ba5da102_84b495d1","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":21},"updated":"2016-11-01 10:19:41.000000000","message":"so, after several changes, I think it\u0027s clearer here to use self-written glance install functions:\nhttp://logs.openstack.org/36/387836/23/check/gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial/be890a0/console.html#_2016-11-01_09_52_56_367255 - fails updating /etc/glance/glance-api.conf\nin ps-24 I\u0027ve removed call for devstack-plugin function, and restored existing local function","commit_id":"ad6f8a42db1aaf237dccafa26a1d7105330ef641"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2884f33f199f427ef2761b1568bf416459bcddc2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"configure_and_start_glance"},{"line_number":47,"context_line":"configure_and_start_nova"},{"line_number":48,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":49,"context_line":"set +e"},{"line_number":50,"context_line":"#echo \u00274. test with Ceph for volumes and root + ephemeral disk\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"#configure_and_start_cinder"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_9a705cde","line":49,"updated":"2016-11-09 21:04:07.000000000","message":"This is already set on L12, do we need to set it again?","commit_id":"33c1852da7e757039b5bfe0e1c18350d6e33cb48"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cd391b1a729bdcca5b0d18c4c7ae05fca40d991f","unresolved":false,"context_lines":[{"line_number":46,"context_line":"configure_and_start_glance"},{"line_number":47,"context_line":"configure_and_start_nova"},{"line_number":48,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":49,"context_line":"set +e"},{"line_number":50,"context_line":"#echo \u00274. test with Ceph for volumes and root + ephemeral disk\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"#configure_and_start_cinder"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_f70aea77","line":49,"in_reply_to":"9a629dbe_69f01592","updated":"2016-11-12 01:50:01.000000000","message":"oh right, touche","commit_id":"33c1852da7e757039b5bfe0e1c18350d6e33cb48"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"7a01f2fc4841098af9bc66b629c6403c6c9af047","unresolved":false,"context_lines":[{"line_number":46,"context_line":"configure_and_start_glance"},{"line_number":47,"context_line":"configure_and_start_nova"},{"line_number":48,"context_line":"run_tempest \"Ceph nova\u0026glance test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":49,"context_line":"set +e"},{"line_number":50,"context_line":"#echo \u00274. test with Ceph for volumes and root + ephemeral disk\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"#configure_and_start_cinder"}],"source_content_type":"text/x-sh","patch_set":25,"id":"9a629dbe_69f01592","line":49,"in_reply_to":"9a629dbe_9a705cde","updated":"2016-11-10 09:34:23.000000000","message":"it\u0027s unset actually","commit_id":"33c1852da7e757039b5bfe0e1c18350d6e33cb48"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f89777e691b3fb2b634ad5bd3b509bb62117ac9c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"echo \u00271. test with all local storage (use default for volumes)\u0027"},{"line_number":29,"context_line":"echo \u0027NOTE: test_volume_backed_live_migration is skipped due to https://bugs.launchpad.net/nova/+bug/1524898\u0027"},{"line_number":30,"context_line":"run_tempest \"block migration test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":31,"context_line":"echo \u0027disabling block_migration in tempest\u0027"},{"line_number":32,"context_line":"$ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file -a \"dest\u003d$BASE/new/tempest/etc/tempest.conf section\u003dcompute-feature-enabled option\u003dblock_migration_for_live_migration value\u003dFalse\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"echo \u00272. NFS testing is skipped due to setup failures with Ubuntu 16.04\u0027"}],"source_content_type":"text/x-sh","patch_set":26,"id":"9a629dbe_3770e20a","line":31,"updated":"2016-11-12 01:53:35.000000000","message":"So I guess you\u0027re doing this here because all of the test runs after this aren\u0027t using local disk, right? Just want to make sure as it\u0027s super close to the local disk case, maybe a blank line between L30 and L31 would help me. Or a comment in here that says, from here on out we don\u0027t test live block migration because we\u0027re using shared storage or volumes.","commit_id":"a80416007aa42cfe274fef4702a59140f221bfa4"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"54328453e6ffc942a88573fc04afbc345d2422e7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"echo \u00271. test with all local storage (use default for volumes)\u0027"},{"line_number":29,"context_line":"echo \u0027NOTE: test_volume_backed_live_migration is skipped due to https://bugs.launchpad.net/nova/+bug/1524898\u0027"},{"line_number":30,"context_line":"run_tempest \"block migration test\" \"^.*test_live_migration(?!.*(test_volume_backed_live_migration))\""},{"line_number":31,"context_line":"echo \u0027disabling block_migration in tempest\u0027"},{"line_number":32,"context_line":"$ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m ini_file -a \"dest\u003d$BASE/new/tempest/etc/tempest.conf section\u003dcompute-feature-enabled option\u003dblock_migration_for_live_migration value\u003dFalse\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"echo \u00272. NFS testing is skipped due to setup failures with Ubuntu 16.04\u0027"}],"source_content_type":"text/x-sh","patch_set":26,"id":"9a629dbe_b5d92986","line":31,"in_reply_to":"9a629dbe_3770e20a","updated":"2016-11-14 12:09:08.000000000","message":"Done","commit_id":"a80416007aa42cfe274fef4702a59140f221bfa4"}]}
