)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"43471a996213524728f37030c65ce066fde8e38f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph for live-migration job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added test runs for configurations:"},{"line_number":10,"context_line":"- ceph for glance/nova"},{"line_number":11,"context_line":"- ceph for glance/nova/cinder"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":87,"id":"ba63e191_eb23e603","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":10},"updated":"2016-01-19 09:59:14.000000000","message":"Add","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"}],"nova/tests/live_migration/hooks/ceph.sh":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function setup_ceph_cluster {"},{"line_number":4,"context_line":"    install_ceph_full"},{"line_number":5,"context_line":"    configure_ceph_local"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_7c1c4a77","line":3,"updated":"2016-01-22 10:14:44.000000000","message":"I am starting to wonder why we can\u0027t use devstack for this:\nhttps://github.com/openstack-dev/devstack/blob/master/lib/ceph","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function setup_ceph_cluster {"},{"line_number":4,"context_line":"    install_ceph_full"},{"line_number":5,"context_line":"    configure_ceph_local"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_3a481287","line":3,"in_reply_to":"9a68dd71_7c1c4a77","updated":"2016-01-22 10:50:55.000000000","message":"there are differences in configuration of ceph in lib above and code bellow. Config here boot osds on all compute nodes.\nI\u0027ve tried to reuse that first.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    sudo rm -f /tmp/ceph.client.glance.keyring"},{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"function ceph_configure_glance {"},{"line_number":191,"context_line":"    configure_glance"},{"line_number":192,"context_line":"    echo \u0027check processes before glance-api stop\u0027"},{"line_number":193,"context_line":"    $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep glance-api\""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_bc1c02c2","line":190,"updated":"2016-01-22 10:14:44.000000000","message":"maybe this is configure_and_start_glance?","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    sudo rm -f /tmp/ceph.client.glance.keyring"},{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"function ceph_configure_glance {"},{"line_number":191,"context_line":"    configure_glance"},{"line_number":192,"context_line":"    echo \u0027check processes before glance-api stop\u0027"},{"line_number":193,"context_line":"    $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep glance-api\""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_35f7c5f6","line":190,"in_reply_to":"9a68dd71_bc1c02c2","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"function ceph_configure_glance {"},{"line_number":191,"context_line":"    configure_glance"},{"line_number":192,"context_line":"    echo \u0027check processes before glance-api stop\u0027"},{"line_number":193,"context_line":"    $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep glance-api\""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_5c1386b8","line":191,"updated":"2016-01-22 10:14:44.000000000","message":"but the above function contains ceph specific things, like the keyring?\n\nMaybe that should be ceph_configure_glance?","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":188,"context_line":"}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"function ceph_configure_glance {"},{"line_number":191,"context_line":"    configure_glance"},{"line_number":192,"context_line":"    echo \u0027check processes before glance-api stop\u0027"},{"line_number":193,"context_line":"    $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep glance-api\""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_d5de696c","line":191,"in_reply_to":"9a68dd71_5c1386b8","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":235,"context_line":"}"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"function ceph_configure_nova {"},{"line_number":238,"context_line":"    configure_nova"},{"line_number":239,"context_line":"    #import secret to libvirt"},{"line_number":240,"context_line":"    populate_libvirt_secret"},{"line_number":241,"context_line":"    echo \u0027check compute processes before restart\u0027"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_1c5bce88","line":238,"updated":"2016-01-22 10:14:44.000000000","message":"As above, I find this naming very confusing.\n\nIf its a private function, could we try using \"_\" at the start of the name maybe? I guess thats not normal here, but we all know what that means.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":235,"context_line":"}"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"function ceph_configure_nova {"},{"line_number":238,"context_line":"    configure_nova"},{"line_number":239,"context_line":"    #import secret to libvirt"},{"line_number":240,"context_line":"    populate_libvirt_secret"},{"line_number":241,"context_line":"    echo \u0027check compute processes before restart\u0027"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_55d11956","line":238,"in_reply_to":"9a68dd71_1c5bce88","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":281,"context_line":"}"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"function ceph_configure_cinder {"},{"line_number":284,"context_line":"    configure_cinder"},{"line_number":285,"context_line":"    stop \u0027primary\u0027 \u0027c-vol\u0027"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    sudo -H -u $STACK_USER bash -c \"/tmp/start_process.sh c-vol \u0027/usr/local/bin/cinder-volume --config-file /etc/cinder/cinder.conf\u0027\""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_dcdc56e6","line":284,"updated":"2016-01-22 10:14:44.000000000","message":"as above","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":281,"context_line":"}"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"function ceph_configure_cinder {"},{"line_number":284,"context_line":"    configure_cinder"},{"line_number":285,"context_line":"    stop \u0027primary\u0027 \u0027c-vol\u0027"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    sudo -H -u $STACK_USER bash -c \"/tmp/start_process.sh c-vol \u0027/usr/local/bin/cinder-volume --config-file /etc/cinder/cinder.conf\u0027\""}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_75d45d46","line":284,"in_reply_to":"9a68dd71_dcdc56e6","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"}],"nova/tests/live_migration/hooks/nfs.sh":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function setup_nfs {"},{"line_number":4,"context_line":"    if uses_debs; then"},{"line_number":5,"context_line":"        module\u003dapt"},{"line_number":6,"context_line":"    elif is_fedora; then"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_7c99aa1e","line":3,"updated":"2016-01-22 10:14:44.000000000","message":"Nit: I quite like nfs_setup, so all the nfs things start with nfs, but thats just me. But that would mean renaming all of these, I guess.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function setup_nfs {"},{"line_number":4,"context_line":"    if uses_debs; then"},{"line_number":5,"context_line":"        module\u003dapt"},{"line_number":6,"context_line":"    elif is_fedora; then"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_552d9944","line":3,"in_reply_to":"9a68dd71_7c99aa1e","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"59b5ed1b0d6af85dbc65b9ccdafcb1d0b907ff29","unresolved":false,"context_lines":[{"line_number":36,"context_line":"function nfs_verify_setup {"},{"line_number":37,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":38,"context_line":"    if [ ! -e \u0027/opt/stack/data/nova/instances/test_file\u0027 ];"},{"line_number":39,"context_line":"    then"},{"line_number":40,"context_line":"        die $LINENO \"NFS configuration failure\""},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":95,"id":"9a68dd71_8696843d","line":39,"updated":"2016-01-22 13:17:43.000000000","message":"Not that it really matters, but most other places you\u0027ve put the then on the same line as the if","commit_id":"3d1f233e01b5680d4129003c090d0c91a6e792e8"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"34dfc98cde69c54bb8f9b9a2f781a7954bd14c41","unresolved":false,"context_lines":[{"line_number":36,"context_line":"function nfs_verify_setup {"},{"line_number":37,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":38,"context_line":"    if [ ! -e \u0027/opt/stack/data/nova/instances/test_file\u0027 ];"},{"line_number":39,"context_line":"    then"},{"line_number":40,"context_line":"        die $LINENO \"NFS configuration failure\""},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":95,"id":"9a68dd71_ac3287f0","line":39,"in_reply_to":"9a68dd71_8696843d","updated":"2016-01-22 13:38:52.000000000","message":"Done","commit_id":"3d1f233e01b5680d4129003c090d0c91a6e792e8"}],"nova/tests/live_migration/hooks/run_tests.sh":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"81a78e393316fae99c6766ea922833a92f97987b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"mount -t nfs4 -o proto\\\u003dtcp,port\\\u003d2049 $primary_node:/ /opt/stack/data/nova/instances/\""},{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_4c0e14e6","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":41},"updated":"2016-01-15 10:34:52.000000000","message":"how about check if /opt/stack/data/nova/instances/test_file exist?\nif nfs failed, give warning and skip nfs testing.","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"3470b8430769a77e279accaf83882b8cf129042e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"mount -t nfs4 -o proto\\\u003dtcp,port\\\u003d2049 $primary_node:/ /opt/stack/data/nova/instances/\""},{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_98f15898","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":41},"in_reply_to":"da6ed579_3aac1b8b","updated":"2016-01-18 04:05:01.000000000","message":"hi Timofey, I wonder why you remove this line?\nIt\u0027s better to having this check and stop testing if something is wrong.\nWe here can check whether /opt/stack/data/nova/instances/test_file exist.","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"94c8418d93b0656d6a96c8662f0378a064acd524","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"mount -t nfs4 -o proto\\\u003dtcp,port\\\u003d2049 $primary_node:/ /opt/stack/data/nova/instances/\""},{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_3aac1b8b","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":41},"in_reply_to":"da6ed579_4c0e14e6","updated":"2016-01-15 16:16:36.000000000","message":"Done","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"f364180fa9c55194c1a7fae86e20cbf29b297f74","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"mount -t nfs4 -o proto\\\u003dtcp,port\\\u003d2049 $primary_node:/ /opt/stack/data/nova/instances/\""},{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_f2c0a72c","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":41},"in_reply_to":"da6ed579_98f15898","updated":"2016-01-18 10:17:56.000000000","message":"check please following ps, I\u0027ve added check for shared file, which skips nfs testing if no test file found. This check is move out from setup_nfs.","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"81a78e393316fae99c6766ea922833a92f97987b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"function teardown_nfs {"}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_2c3e4028","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":193},"updated":"2016-01-15 10:34:52.000000000","message":"I suggest that move out this line back to main script and keep this function only doing setup_nfs stuff.","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"94c8418d93b0656d6a96c8662f0378a064acd524","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m file -a \"path\u003d/opt/stack/data/nova/instances/test_file state\u003dtouch\""},{"line_number":57,"context_line":"    echo \"check whether NFS shared storage works or not:\""},{"line_number":58,"context_line":"    ls -la /opt/stack/data/nova/instances"},{"line_number":59,"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":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"function teardown_nfs {"}],"source_content_type":"text/x-sh","patch_set":83,"id":"da6ed579_5aa78fa6","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":193},"in_reply_to":"da6ed579_2c3e4028","updated":"2016-01-15 16:16:36.000000000","message":"Done","commit_id":"b940b32acd11bd3425cffc499629f485f894f548"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"36c32faa6475e2c6d00505e3f4fe391a4093b984","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Live migration dedicated ci job will be responsible for testing different"},{"line_number":3,"context_line":"# environments based on underlying storage, used for ephemerals."},{"line_number":4,"context_line":"# This hook allows to inject logic of environment reconfiguration in ci job."},{"line_number":5,"context_line":"# Base scenario for this would be:"},{"line_number":6,"context_line":"# - run live-migration on env without shared storage"},{"line_number":7,"context_line":"# - set up ceph for ephemerals, and reconfigure nova, tempest for that"},{"line_number":8,"context_line":"# - run live-migration tests"},{"line_number":9,"context_line":"# - remove ceph and set up nfs for ephemerals, make appropriate change in nova"},{"line_number":10,"context_line":"# and tempest config"},{"line_number":11,"context_line":"# - run live-migration tests"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"set -x"},{"line_number":14,"context_line":"cd $BASE/new/tempest"}],"source_content_type":"text/x-sh","patch_set":84,"id":"da6ed579_4e34cc48","line":11,"range":{"start_line":5,"start_character":0,"end_line":11,"end_character":28},"updated":"2016-01-15 10:34:42.000000000","message":"seems these comments message should be changes to adopt the scripts:\n\nblock migration test\nnfs live migration test\nceph(nova/glance) live migration test\nceph(nova/glance/cinder) live migration test\netc,","commit_id":"0295eba4b1148e43a22ba5cda79f950b272bacd0"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"f7c547accc6df67ae8f14c9d2ada0145dfdb1c67","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Live migration dedicated ci job will be responsible for testing different"},{"line_number":3,"context_line":"# environments based on underlying storage, used for ephemerals."},{"line_number":4,"context_line":"# This hook allows to inject logic of environment reconfiguration in ci job."},{"line_number":5,"context_line":"# Base scenario for this would be:"},{"line_number":6,"context_line":"# - run live-migration on env without shared storage"},{"line_number":7,"context_line":"# - set up ceph for ephemerals, and reconfigure nova, tempest for that"},{"line_number":8,"context_line":"# - run live-migration tests"},{"line_number":9,"context_line":"# - remove ceph and set up nfs for ephemerals, make appropriate change in nova"},{"line_number":10,"context_line":"# and tempest config"},{"line_number":11,"context_line":"# - run live-migration tests"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"set -x"},{"line_number":14,"context_line":"cd $BASE/new/tempest"}],"source_content_type":"text/x-sh","patch_set":84,"id":"da6ed579_baaecb7e","line":11,"range":{"start_line":5,"start_character":0,"end_line":11,"end_character":28},"in_reply_to":"da6ed579_4e34cc48","updated":"2016-01-15 16:16:20.000000000","message":"Done","commit_id":"0295eba4b1148e43a22ba5cda79f950b272bacd0"},{"author":{"_account_id":12841,"name":"Ivan Udovichenko","email":"iudovichenko@itkey.com","username":"ai"},"change_message_id":"0a0ed4565c715ca1dbfbf4f1bf76c54098e02724","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    #copy cinder keyring to compute only node"},{"line_number":226,"context_line":"    sudo cp /etc/ceph/ceph.client.cinder.keyring /tmp/ceph.client.cinder.keyring"},{"line_number":227,"context_line":"    sudo chown stack:stack /tmp/ceph.client.cinder.keyring"},{"line_number":228,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.cinder.keyring dest\u003d/etc/ceph/ceph.client.cinder.keyring\""},{"line_number":229,"context_line":"    sudo rm -f /tmp/ceph.client.cinder.keyring"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-sh","patch_set":84,"id":"da6ed579_51d0f1c8","line":227,"range":{"start_line":227,"start_character":15,"end_line":227,"end_character":26},"updated":"2016-01-15 09:18:00.000000000","message":"I guess it is a good idea to replace it with variables: ${STACK_USER}:${STACK_USER}","commit_id":"0295eba4b1148e43a22ba5cda79f950b272bacd0"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"f7c547accc6df67ae8f14c9d2ada0145dfdb1c67","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    #copy cinder keyring to compute only node"},{"line_number":226,"context_line":"    sudo cp /etc/ceph/ceph.client.cinder.keyring /tmp/ceph.client.cinder.keyring"},{"line_number":227,"context_line":"    sudo chown stack:stack /tmp/ceph.client.cinder.keyring"},{"line_number":228,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/ceph.client.cinder.keyring dest\u003d/etc/ceph/ceph.client.cinder.keyring\""},{"line_number":229,"context_line":"    sudo rm -f /tmp/ceph.client.cinder.keyring"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-sh","patch_set":84,"id":"da6ed579_7acdb364","line":227,"range":{"start_line":227,"start_character":15,"end_line":227,"end_character":26},"in_reply_to":"da6ed579_51d0f1c8","updated":"2016-01-15 16:16:20.000000000","message":"Done","commit_id":"0295eba4b1148e43a22ba5cda79f950b272bacd0"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# - setup ceph for cinder, make configuration changes"},{"line_number":14,"context_line":"# - run live-migration tests"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"set -x"},{"line_number":17,"context_line":"cd $BASE/new/tempest"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"function run_tempest {"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_7e2c954a","line":16,"updated":"2016-01-19 09:54:59.000000000","message":"(suggestion) we could also do:\n\nset -e  # stop on the first unhandled failure\nset -u  # fail on reading of unassigned variables\n\nto make bash behave more like a normal programming language :P","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e1caca583d8f9f5f765826b2af8de3321253a074","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# - setup ceph for cinder, make configuration changes"},{"line_number":14,"context_line":"# - run live-migration tests"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"set -x"},{"line_number":17,"context_line":"cd $BASE/new/tempest"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"function run_tempest {"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_c29f9fb2","line":16,"in_reply_to":"ba63e191_7e2c954a","updated":"2016-01-20 10:06:06.000000000","message":"+1 I always find it much easier to debug things with those on.","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"bde040d91a4130419d9cdc0266c4f24e89d0c401","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# - setup ceph for cinder, make configuration changes"},{"line_number":14,"context_line":"# - run live-migration tests"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"set -x"},{"line_number":17,"context_line":"cd $BASE/new/tempest"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"function run_tempest {"}],"source_content_type":"text/x-sh","patch_set":87,"id":"9a68dd71_0a49855f","line":16,"in_reply_to":"ba63e191_c29f9fb2","updated":"2016-01-21 09:49:39.000000000","message":"-u could not be used there, as hook fails on the first import of devstack/functions.\n-e added.\nDone","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"function setup_nfs {"},{"line_number":29,"context_line":"    if uses_debs; then"},{"line_number":30,"context_line":"        $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"},{"line_number":31,"context_line":"                -a \"name\u003dnfs-common state\u003dpresent\""},{"line_number":32,"context_line":"        $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_792caf4a","line":29,"updated":"2016-01-19 09:54:59.000000000","message":"(suggestion) I\u0027d do something like:\n\n  packages\u003d\"nfs-common nfs-kernel-server\"\n  if uses_debs; then\n     module\u003dapt\n  elif is_fedora; then\n     module\u003dyum\n  fi\n\n  for pkg in $packages; do\n     $ANSIBLE ...\n  done","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"bde040d91a4130419d9cdc0266c4f24e89d0c401","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"function setup_nfs {"},{"line_number":29,"context_line":"    if uses_debs; then"},{"line_number":30,"context_line":"        $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"},{"line_number":31,"context_line":"                -a \"name\u003dnfs-common state\u003dpresent\""},{"line_number":32,"context_line":"        $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_93d1ff59","line":29,"in_reply_to":"ba63e191_792caf4a","updated":"2016-01-21 09:49:39.000000000","message":"Done","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5a8be4cd79cedfec209be597734b3ab4b5070d02","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"function setup_nfs {"},{"line_number":29,"context_line":"    if uses_debs; then"},{"line_number":30,"context_line":"        $ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"},{"line_number":31,"context_line":"                -a \"name\u003dnfs-common state\u003dpresent\""},{"line_number":32,"context_line":"        $ANSIBLE primary --sudo -f 5 -i \"$WORKSPACE/inventory\" -m apt \\"},{"line_number":33,"context_line":"                -a \"name\u003dnfs-kernel-server state\u003dpresent\""}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_76359244","line":30,"updated":"2016-01-19 12:53:09.000000000","message":"I was going to be all \"Y U NO -m package!?\" but then realized we\u0027re in an older version of ansible.\n\nRoman\u0027s suggestion does seem a bit tidier.","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"e5cbe5eaa6ebf1f437d3fa6c0f7f102602a4b2ac","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    # ceph\u0027s init script is parsing ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/ and looking for a file"},{"line_number":152,"context_line":"    # \u0027upstart\u0027 or \u0027sysinitv\u0027, thanks to these \u0027touches\u0027 we are able to control OSDs daemons"},{"line_number":153,"context_line":"    # from the init script."},{"line_number":154,"context_line":"    if is_ubuntu; then"},{"line_number":155,"context_line":"        sudo touch /var/lib/ceph/osd/ceph-${OSD_ID}/upstart"},{"line_number":156,"context_line":"    else"},{"line_number":157,"context_line":"        sudo touch ${CEPH_DATA_DIR}/osd/ceph-${OSD_ID}/sysvinit"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_ebc76643","line":154,"range":{"start_line":154,"start_character":18,"end_line":154,"end_character":22},"updated":"2016-01-19 09:58:22.000000000","message":"not sure this is a good way to check the init type of a distribution.\n\nfrom this link, \nhttps://en.wikipedia.org/wiki/Upstart#Adoption\n\nSeems most distributions use upstart. \n\nBut ubuntu finished the switch to systemd as its default init system in version 15.04 (Vivid Vervet).","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":302,"context_line":"fi"},{"line_number":303,"context_line":"exit 0"},{"line_number":304,"context_line":"EOF"},{"line_number":305,"context_line":"    chmod +x /tmp/start_process.sh"},{"line_number":306,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/start_process.sh dest\u003d/tmp/start_process.sh owner\u003d$STACK_USER group\u003d$STACK_USER mode\u003d0777\""},{"line_number":307,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ls -la /tmp/start_process.sh\""},{"line_number":308,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_b9fc673f","line":305,"updated":"2016-01-19 09:54:59.000000000","message":"(suggestion) we could probably use content parameter (http://docs.ansible.com/ansible/copy_module.html) of copy module here to avoid creation of a temporary file, which btw, seems not to be removed anywhere :)","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":304,"context_line":"EOF"},{"line_number":305,"context_line":"    chmod +x /tmp/start_process.sh"},{"line_number":306,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m copy -a \"src\u003d/tmp/start_process.sh dest\u003d/tmp/start_process.sh owner\u003d$STACK_USER group\u003d$STACK_USER mode\u003d0777\""},{"line_number":307,"context_line":"    $ANSIBLE subnodes --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ls -la /tmp/start_process.sh\""},{"line_number":308,"context_line":"}"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"function stop {"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_79126fb6","line":307,"updated":"2016-01-19 09:54:59.000000000","message":"Hmm, what\u0027s this for?","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":368,"context_line":"sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring"},{"line_number":369,"context_line":"sudo chown ${STACK_USER}:${STACK_USER} /tmp/ceph.client.admin.keyring"},{"line_number":370,"context_line":"sudo chmod 644 /tmp/ceph.client.admin.keyring"},{"line_number":371,"context_line":"ls -la /tmp"},{"line_number":372,"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\u003droot group\u003droot\""},{"line_number":373,"context_line":"sudo rm -f /tmp/ceph.client.admin.keyring"},{"line_number":374,"context_line":"echo \"check result of copying files\""}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_eb3766e1","line":371,"updated":"2016-01-19 09:54:59.000000000","message":"is this debugging output?","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":381,"context_line":"sudo start ceph-osd id\u003d${OSD_ID}"},{"line_number":382,"context_line":"echo \"check ceph-osd before second node addition\""},{"line_number":383,"context_line":"sudo ceph osd tree"},{"line_number":384,"context_line":"sleep 7"},{"line_number":385,"context_line":"sudo ceph osd tree"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"configure_ceph_remote"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_79310f0b","line":384,"updated":"2016-01-19 09:54:59.000000000","message":"this seems to be error prone - don\u0027t we need a loop here waiting for some state transition?","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"bde040d91a4130419d9cdc0266c4f24e89d0c401","unresolved":false,"context_lines":[{"line_number":381,"context_line":"sudo start ceph-osd id\u003d${OSD_ID}"},{"line_number":382,"context_line":"echo \"check ceph-osd before second node addition\""},{"line_number":383,"context_line":"sudo ceph osd tree"},{"line_number":384,"context_line":"sleep 7"},{"line_number":385,"context_line":"sudo ceph osd tree"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"configure_ceph_remote"}],"source_content_type":"text/x-sh","patch_set":87,"id":"9a68dd71_ca792d95","line":384,"in_reply_to":"ba63e191_79310f0b","updated":"2016-01-21 09:49:39.000000000","message":"Done","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"4217274bfb447b893f1b1da2fdf737fe7db98c3f","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"echo \"check ceph-osd tree\""},{"line_number":390,"context_line":"sudo ceph osd tree"},{"line_number":391,"context_line":"sleep 7"},{"line_number":392,"context_line":"sudo ceph osd tree"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"configure_glance"}],"source_content_type":"text/x-sh","patch_set":87,"id":"ba63e191_59176b51","line":391,"updated":"2016-01-19 09:54:59.000000000","message":"ditto","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"bde040d91a4130419d9cdc0266c4f24e89d0c401","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"echo \"check ceph-osd tree\""},{"line_number":390,"context_line":"sudo ceph osd tree"},{"line_number":391,"context_line":"sleep 7"},{"line_number":392,"context_line":"sudo ceph osd tree"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"configure_glance"}],"source_content_type":"text/x-sh","patch_set":87,"id":"9a68dd71_6a6e01cb","line":391,"in_reply_to":"ba63e191_59176b51","updated":"2016-01-21 09:49:39.000000000","message":"Done","commit_id":"8009cffe90ab9cd4e06ef67a76b422180daad7c8"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"736e01ba3bc91fdd4bad399eda4650a1fba113f0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"then"},{"line_number":38,"context_line":"  run_tempest  \"NFS shared storage test failure\""},{"line_number":39,"context_line":"else"},{"line_number":40,"context_line":"  echo \u0027test_file not exists. Skipping for NFS shared storage skipped.\u0027"},{"line_number":41,"context_line":"fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":88,"id":"9a68dd71_290fcde2","line":40,"updated":"2016-01-20 21:22:51.000000000","message":"\u0027test_file does not exist. Testing for NFS shared storage skipped.\u0027 is perhaps more aligned with what you\u0027re after here?","commit_id":"55ac3e373522eb14097aa3bc0d0645b964e6945d"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"f13e4e3738275f27e87f1f66894e88c2560fa4e0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"then"},{"line_number":38,"context_line":"  run_tempest  \"NFS shared storage test failure\""},{"line_number":39,"context_line":"else"},{"line_number":40,"context_line":"  echo \u0027test_file not exists. Skipping for NFS shared storage skipped.\u0027"},{"line_number":41,"context_line":"fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":88,"id":"9a68dd71_d406af1f","line":40,"in_reply_to":"9a68dd71_290fcde2","updated":"2016-01-21 09:50:07.000000000","message":"Done","commit_id":"55ac3e373522eb14097aa3bc0d0645b964e6945d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Live migration dedicated ci job will be responsible for testing different"},{"line_number":3,"context_line":"# environments based on underlying storage, used for ephemerals."},{"line_number":4,"context_line":"# This hook allows to inject logic of environment reconfiguration in ci job."},{"line_number":5,"context_line":"# Base scenario for this would be:"},{"line_number":6,"context_line":"# - run live-migration on env without shared storage"},{"line_number":7,"context_line":"# - set up NFS for ephemerals make appropriate change in nova and tempest"},{"line_number":8,"context_line":"# config"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_a3941f37","line":5,"updated":"2016-01-21 11:04:40.000000000","message":"Maybe add a new line before this list?","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Live migration dedicated ci job will be responsible for testing different"},{"line_number":3,"context_line":"# environments based on underlying storage, used for ephemerals."},{"line_number":4,"context_line":"# This hook allows to inject logic of environment reconfiguration in ci job."},{"line_number":5,"context_line":"# Base scenario for this would be:"},{"line_number":6,"context_line":"# - run live-migration on env without shared storage"},{"line_number":7,"context_line":"# - set up NFS for ephemerals make appropriate change in nova and tempest"},{"line_number":8,"context_line":"# config"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_f4f38a9c","line":5,"in_reply_to":"9a68dd71_a3941f37","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# in nova, glance and tempest config"},{"line_number":12,"context_line":"# - run live-migration tests"},{"line_number":13,"context_line":"# - setup ceph for cinder, make configuration changes"},{"line_number":14,"context_line":"# - run live-migration tests"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"set -xe"},{"line_number":17,"context_line":"cd $BASE/new/tempest"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_834d5b74","line":14,"updated":"2016-01-21 11:04:40.000000000","message":"So lets start with this list.\n\nMaybe add numbers, and refer to them below.\n\nI think this list should be something like:\n\n1. test with all local storage (use default for volumes)\n2. test with NFS for root + ephemeral disks\n3. test with Ceph for root + ephemeral disks\n4. test with Ceph for volumes and root + ephemeral disks","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# in nova, glance and tempest config"},{"line_number":12,"context_line":"# - run live-migration tests"},{"line_number":13,"context_line":"# - setup ceph for cinder, make configuration changes"},{"line_number":14,"context_line":"# - run live-migration tests"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"set -xe"},{"line_number":17,"context_line":"cd $BASE/new/tempest"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_b42c3203","line":14,"in_reply_to":"9a68dd71_834d5b74","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":22,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/utils.sh"},{"line_number":23,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/nfs.sh"},{"line_number":24,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/ceph.sh"},{"line_number":25,"context_line":"echo \u0027--------------------block migration test--------------------------------\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"run_tempest \"block migration test failure\""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_43a52302","line":25,"updated":"2016-01-21 11:04:40.000000000","message":"I was make these titles match the above list: \"1. test with all local storage\"","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/utils.sh"},{"line_number":23,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/nfs.sh"},{"line_number":24,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/ceph.sh"},{"line_number":25,"context_line":"echo \u0027--------------------block migration test--------------------------------\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"run_tempest \"block migration test failure\""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_d42f66f4","line":25,"in_reply_to":"9a68dd71_43a52302","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":24,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/ceph.sh"},{"line_number":25,"context_line":"echo \u0027--------------------block migration test--------------------------------\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"run_tempest \"block migration test failure\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"echo \u0027--------------------nfs live migration test-----------------------------\u0027"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_c3bef3fe","line":27,"updated":"2016-01-21 11:04:40.000000000","message":"you can add the failure bit in the function, I would just keep this as:\n* run_tempest \"block migration test\"","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"source $BASE/new/nova/nova/tests/live_migration/hooks/ceph.sh"},{"line_number":25,"context_line":"echo \u0027--------------------block migration test--------------------------------\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"run_tempest \"block migration test failure\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"echo \u0027--------------------nfs live migration test-----------------------------\u0027"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_9439ee43","line":27,"in_reply_to":"9a68dd71_c3bef3fe","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":37,"context_line":"then"},{"line_number":38,"context_line":"  run_tempest  \"NFS shared storage test failure\""},{"line_number":39,"context_line":"else"},{"line_number":40,"context_line":"  echo \u0027test_file not exists. Testing for NFS shared storage skipped.\u0027"},{"line_number":41,"context_line":"fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_63462725","line":40,"updated":"2016-01-21 11:04:40.000000000","message":"I would have something like:\n\n* nfs_install_nfs\n* nfs_configure_nova\n* nfs_configure_tempest (this can include the check, which should fail the test if the NFS setup fails)\n* run_tempest  \"NFS shared storage test\"\n* nfs_teardown","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"then"},{"line_number":38,"context_line":"  run_tempest  \"NFS shared storage test failure\""},{"line_number":39,"context_line":"else"},{"line_number":40,"context_line":"  echo \u0027test_file not exists. Testing for NFS shared storage skipped.\u0027"},{"line_number":41,"context_line":"fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_543cd62e","line":40,"in_reply_to":"9a68dd71_63462725","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":135,"context_line":"done"},{"line_number":136,"context_line":"$ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep compute\""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"run_tempest \"Ceph for nova/glance test failure\""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"echo \u0027--------------------ceph(nova/glance/cinder) live migration test--------\u0027"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_03e88be1","line":138,"updated":"2016-01-21 11:04:40.000000000","message":"I would have something like:\n\n* ceph_install_ceph (does all the install and config, local and remote)\n* ceph_configure_nova (does the restarting)\n* ceph_configure_glance (does the restarting)\n* ceph_configure_tempest\n* run_tempest  \"Ceph nova\u0026glance test\"\n* ceph_cleanup (is this needed? not sure?)","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":135,"context_line":"done"},{"line_number":136,"context_line":"$ANSIBLE all --sudo -f 5 -i \"$WORKSPACE/inventory\" -m shell -a \"ps aux | grep compute\""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"run_tempest \"Ceph for nova/glance test failure\""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"echo \u0027--------------------ceph(nova/glance/cinder) live migration test--------\u0027"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_d41686a6","line":138,"in_reply_to":"9a68dd71_03e88be1","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56da237e017d8087e86a6d0208489e4aa4733321","unresolved":false,"context_lines":[{"line_number":151,"context_line":"cinder type-delete $lvm_type"},{"line_number":152,"context_line":"openstack volume type create --os-volume-api-version 1 --property volume_backend_name\u003d\"ceph\" ceph"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"run_tempest \"Ceph for nova/glance/cinder test failure\""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_237a6f25","line":154,"updated":"2016-01-21 11:04:40.000000000","message":"I would have something like:\n\n* ceph_configure_cinder (does the restarting)\n* ceph_configure_tempest (maybe not needed?)\n* run_tempest  \"Ceph nova\u0026glance\u0026cinder test\"\n* ceph_teardown (is this needed? not sure?)","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e31df6404da3dd217d23de6a3513b3420f8ce4c1","unresolved":false,"context_lines":[{"line_number":151,"context_line":"cinder type-delete $lvm_type"},{"line_number":152,"context_line":"openstack volume type create --os-volume-api-version 1 --property volume_backend_name\u003d\"ceph\" ceph"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"run_tempest \"Ceph for nova/glance/cinder test failure\""}],"source_content_type":"text/x-sh","patch_set":91,"id":"9a68dd71_94100eaa","line":154,"in_reply_to":"9a68dd71_237a6f25","updated":"2016-01-21 22:10:31.000000000","message":"Done","commit_id":"62c9bab4e9a356fc9ca8fc6892710e4a37fee50a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":35,"context_line":"then"},{"line_number":36,"context_line":"  run_tempest  \"NFS shared storage test\""},{"line_number":37,"context_line":"else"},{"line_number":38,"context_line":"  echo \u0027test_file not exists. Testing for NFS shared storage skipped.\u0027"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_fce35a03","line":38,"updated":"2016-01-22 10:14:44.000000000","message":"I still think we should fail the script at this point, with an exit or similar.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":35,"context_line":"then"},{"line_number":36,"context_line":"  run_tempest  \"NFS shared storage test\""},{"line_number":37,"context_line":"else"},{"line_number":38,"context_line":"  echo \u0027test_file not exists. Testing for NFS shared storage skipped.\u0027"},{"line_number":39,"context_line":"fi"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"teardown_nfs"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_1a5bce88","line":38,"in_reply_to":"9a68dd71_fce35a03","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"echo \u00273. test with Ceph for root + ephemeral disks\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# setting up ceph for glance and nova first"},{"line_number":46,"context_line":"STACK_USER\u003d${STACK_USER:-stack}"},{"line_number":47,"context_line":"source $BASE/new/devstack/lib/ceph"},{"line_number":48,"context_line":"#reset output"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_9cc57e3d","line":45,"updated":"2016-01-22 10:14:44.000000000","message":"should this comment be here? I think the setup_ceph_cluster is where that happens, and thats just fine.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"echo \u00273. test with Ceph for root + ephemeral disks\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# setting up ceph for glance and nova first"},{"line_number":46,"context_line":"STACK_USER\u003d${STACK_USER:-stack}"},{"line_number":47,"context_line":"source $BASE/new/devstack/lib/ceph"},{"line_number":48,"context_line":"#reset output"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_5ac86622","line":45,"in_reply_to":"9a68dd71_9cc57e3d","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":56,"context_line":"LIBVIRT_GROUP\u003d${LIBVIRT_GROUP:-libvirtd}"},{"line_number":57,"context_line":"TIMESTAMP_FORMAT\u003d${TIMESTAMP_FORMAT:-\"%F-%H%M%S\"}"},{"line_number":58,"context_line":"LOGDAYS\u003d${LOGDAYS:-7}"},{"line_number":59,"context_line":"CURRENT_LOG_TIME\u003d$(date \"+$TIMESTAMP_FORMAT\")"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"populate_start_script"},{"line_number":62,"context_line":"setup_ceph_cluster"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_bca9627d","line":59,"updated":"2016-01-22 10:14:44.000000000","message":"Why is all the above here? I don\u0027t really understand why its here. Should this not all be setup for the first test anyways?","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":56,"context_line":"LIBVIRT_GROUP\u003d${LIBVIRT_GROUP:-libvirtd}"},{"line_number":57,"context_line":"TIMESTAMP_FORMAT\u003d${TIMESTAMP_FORMAT:-\"%F-%H%M%S\"}"},{"line_number":58,"context_line":"LOGDAYS\u003d${LOGDAYS:-7}"},{"line_number":59,"context_line":"CURRENT_LOG_TIME\u003d$(date \"+$TIMESTAMP_FORMAT\")"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"populate_start_script"},{"line_number":62,"context_line":"setup_ceph_cluster"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_158401d2","line":59,"in_reply_to":"9a68dd71_bca9627d","updated":"2016-01-22 10:50:55.000000000","message":"moved to utils, these params are used to properly start process","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":58,"context_line":"LOGDAYS\u003d${LOGDAYS:-7}"},{"line_number":59,"context_line":"CURRENT_LOG_TIME\u003d$(date \"+$TIMESTAMP_FORMAT\")"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"populate_start_script"},{"line_number":62,"context_line":"setup_ceph_cluster"},{"line_number":63,"context_line":"ceph_configure_glance"},{"line_number":64,"context_line":"ceph_configure_nova"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_3cafb295","line":61,"updated":"2016-01-22 10:14:44.000000000","message":"populate what start script? don\u0027t you need to pass in three arguments here? I am a bit confused.","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":58,"context_line":"LOGDAYS\u003d${LOGDAYS:-7}"},{"line_number":59,"context_line":"CURRENT_LOG_TIME\u003d$(date \"+$TIMESTAMP_FORMAT\")"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"populate_start_script"},{"line_number":62,"context_line":"setup_ceph_cluster"},{"line_number":63,"context_line":"ceph_configure_glance"},{"line_number":64,"context_line":"ceph_configure_nova"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_b573b514","line":61,"in_reply_to":"9a68dd71_3cafb295","updated":"2016-01-22 10:50:55.000000000","message":"no, this method is used to create start script on nodes. moved this to begining","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e3414429d8b3276f600bfa2a4fb1337c7741a1f7","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"setup_ceph_cluster"},{"line_number":48,"context_line":"configure_and_start_glance"},{"line_number":49,"context_line":"configure_and_start_nova"},{"line_number":50,"context_line":"run_tempest \"Ceph nova\u0026glance test\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"echo \u00274. test with Ceph for volumes and root + ephemeral disk\u0027"}],"source_content_type":"text/x-sh","patch_set":96,"id":"7a5de9d1_a38682b7","line":49,"updated":"2016-01-27 15:52:59.000000000","message":"Nit: I kinda prefer these having ceph in the name, but thats crazy picky.","commit_id":"4f86e277e2ce2a5ea8387d8fcdb7afb3a69cbf75"}],"nova/tests/live_migration/hooks/utils.sh":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e69dceafc3cce5c5be26db0ac329a34f56cc6025","unresolved":false,"context_lines":[{"line_number":12,"context_line":"function populate_start_script {"},{"line_number":13,"context_line":"    cat \u003e /tmp/start_process.sh \u003c\u003cEOF"},{"line_number":14,"context_line":"set -x"},{"line_number":15,"context_line":"service\u003d\\$1"},{"line_number":16,"context_line":"command\u003d\\$2"},{"line_number":17,"context_line":"sg\u003d\\$3"},{"line_number":18,"context_line":"ENABLED_SERVICES\u003d$ENABLED_SERVICES"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_5f9618f1","line":15,"updated":"2016-01-22 10:14:44.000000000","message":"I think its worth a comment to describe the arguments here?","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"cb3580621c3b9797f30c666584705bd6e51c1244","unresolved":false,"context_lines":[{"line_number":12,"context_line":"function populate_start_script {"},{"line_number":13,"context_line":"    cat \u003e /tmp/start_process.sh \u003c\u003cEOF"},{"line_number":14,"context_line":"set -x"},{"line_number":15,"context_line":"service\u003d\\$1"},{"line_number":16,"context_line":"command\u003d\\$2"},{"line_number":17,"context_line":"sg\u003d\\$3"},{"line_number":18,"context_line":"ENABLED_SERVICES\u003d$ENABLED_SERVICES"}],"source_content_type":"text/x-sh","patch_set":93,"id":"9a68dd71_95779139","line":15,"in_reply_to":"9a68dd71_5f9618f1","updated":"2016-01-22 10:50:55.000000000","message":"Done","commit_id":"ed4fd38126714acd56ec3825248df802586cf148"}]}
