)]}'
{"devstack/exercise.sh":[{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"daac6ec0f6b7031dbfda93eb91076e9984e8372b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    for p in cpus cpu_arch memory_mb local_gb; do"},{"line_number":84,"context_line":"        ironic node-update $uuid remove properties/$p \u003e /dev/null || true"},{"line_number":85,"context_line":"    done"},{"line_number":86,"context_line":"    if ! ironic node-show $uuid | grep provision_state | grep -iq manageable; then"},{"line_number":87,"context_line":"        ironic node-set-provision-state $uuid manage"},{"line_number":88,"context_line":"    fi"},{"line_number":89,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_6e01436a","line":86,"range":{"start_line":86,"start_character":9,"end_line":86,"end_character":25},"updated":"2016-07-20 08:42:52.000000000","message":"we can fix here also","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"openstack baremetal introspection rule import \"$rules_file\""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"for uuid in $nodes; do"},{"line_number":95,"context_line":"    ironic node-set-provision-state $uuid inspect"},{"line_number":96,"context_line":"done"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"current_nodes\u003d$nodes"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_bca367ff","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":49},"updated":"2016-07-20 12:56:23.000000000","message":"I think here we can add TODO","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"daac6ec0f6b7031dbfda93eb91076e9984e8372b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        if [ \"$current\" !\u003d \"$expected\" ]; then"},{"line_number":145,"context_line":"            if [ \"$attempt\" -eq \"$max_attempts\" ]; then"},{"line_number":146,"context_line":"                echo \"Expected provision_state $expected, got $current:\""},{"line_number":147,"context_line":"                ironic node-show $uuid"},{"line_number":148,"context_line":"                exit 1"},{"line_number":149,"context_line":"            fi"},{"line_number":150,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_2e32ab5f","line":147,"range":{"start_line":147,"start_character":16,"end_line":147,"end_character":32},"updated":"2016-07-20 08:42:52.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    openstack service list | grep swift \u0026\u0026 test_swift"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    wait_for_provision_state $uuid manageable"},{"line_number":189,"context_line":"    ironic node-set-provision-state $uuid provide"},{"line_number":190,"context_line":"done"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"# Cleaning kicks in here, we have to wait until it finishes (~ 2 minutes)"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_7c760fa5","line":189,"range":{"start_line":189,"start_character":2,"end_line":189,"end_character":49},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        break"},{"line_number":202,"context_line":"    elif [ \"$attempt\" -eq 24 ]; then"},{"line_number":203,"context_line":"        echo \"Timeout while waiting for nova hypervisor-stats, current:\""},{"line_number":204,"context_line":"        nova hypervisor-stats"},{"line_number":205,"context_line":"        exit 1"},{"line_number":206,"context_line":"    fi"},{"line_number":207,"context_line":"    sleep 5"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_9c7143ab","line":204,"range":{"start_line":204,"start_character":0,"end_line":204,"end_character":29},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"image\u003d$(openstack image list --property disk_format\u003dami -f value -c ID | head -n1)"},{"line_number":213,"context_line":"net_id\u003d$(openstack network show \"$PRIVATE_NETWORK_NAME\" -f value -c id)"},{"line_number":214,"context_line":"uuid\u003d$(nova boot --flavor baremetal --nic net-id\u003d$net_id --image $image testing | grep \" id \" | awk \u0027{ print $4 }\u0027)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"for attempt in {1..30}; do"},{"line_number":217,"context_line":"    status\u003d$(nova show $uuid | grep \" status \" | awk \u0027{ print $4 }\u0027)"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_5c2d0b94","line":214,"range":{"start_line":214,"start_character":0,"end_line":214,"end_character":115},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"uuid\u003d$(nova boot --flavor baremetal --nic net-id\u003d$net_id --image $image testing | grep \" id \" | awk \u0027{ print $4 }\u0027)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"for attempt in {1..30}; do"},{"line_number":217,"context_line":"    status\u003d$(nova show $uuid | grep \" status \" | awk \u0027{ print $4 }\u0027)"},{"line_number":218,"context_line":"    if [ \"$status\" \u003d \"ERROR\" ]; then"},{"line_number":219,"context_line":"        echo \"Instance failed to boot\""},{"line_number":220,"context_line":"        # Some debug output"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_dc39fbd8","line":217,"range":{"start_line":217,"start_character":0,"end_line":217,"end_character":68},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    if [ \"$status\" \u003d \"ERROR\" ]; then"},{"line_number":219,"context_line":"        echo \"Instance failed to boot\""},{"line_number":220,"context_line":"        # Some debug output"},{"line_number":221,"context_line":"        nova show $uuid"},{"line_number":222,"context_line":"        nova hypervisor-stats"},{"line_number":223,"context_line":"        exit 1"},{"line_number":224,"context_line":"    elif [ \"$status\" !\u003d \"ACTIVE\" ]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_5c06ab1d","line":221,"range":{"start_line":221,"start_character":0,"end_line":221,"end_character":23},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        echo \"Instance failed to boot\""},{"line_number":220,"context_line":"        # Some debug output"},{"line_number":221,"context_line":"        nova show $uuid"},{"line_number":222,"context_line":"        nova hypervisor-stats"},{"line_number":223,"context_line":"        exit 1"},{"line_number":224,"context_line":"    elif [ \"$status\" !\u003d \"ACTIVE\" ]; then"},{"line_number":225,"context_line":"        if [ \"$attempt\" -eq 30 ]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_7c01ef04","line":222,"range":{"start_line":222,"start_character":0,"end_line":222,"end_character":29},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"dc7813f720265621c19fd159eb804a6d8828f45a","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    sleep 30"},{"line_number":233,"context_line":"done"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"nova delete $uuid"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"echo \"Validation passed\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"dada55a8_3c1c9769","line":235,"range":{"start_line":235,"start_character":0,"end_line":235,"end_character":17},"updated":"2016-07-20 12:56:23.000000000","message":"ditto","commit_id":"683c25b65ddfcbd25afd6ff46132130106bd9e33"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"for uuid in $nodes; do"},{"line_number":83,"context_line":"    for p in cpus cpu_arch memory_mb local_gb; do"},{"line_number":84,"context_line":"        openstack baremetal unset --property properties/$p $uuid \u003e /dev/null || true"},{"line_number":85,"context_line":"    done"},{"line_number":86,"context_line":"    if [[ \"$(openstack baremetal show $uuid -f value -c provision_state)\" !\u003d \"manageable\" ]]; then"},{"line_number":87,"context_line":"        # TODO(vsaienko) switch to OSC when set-provision-state is implemented."}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_cf0e31e4","line":84,"updated":"2016-08-01 12:40:11.000000000","message":"should be \"node unset\"","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        openstack baremetal unset --property properties/$p $uuid \u003e /dev/null || true"},{"line_number":85,"context_line":"    done"},{"line_number":86,"context_line":"    if [[ \"$(openstack baremetal show $uuid -f value -c provision_state)\" !\u003d \"manageable\" ]]; then"},{"line_number":87,"context_line":"        # TODO(vsaienko) switch to OSC when set-provision-state is implemented."},{"line_number":88,"context_line":"        ironic node-set-provision-state $uuid manage"},{"line_number":89,"context_line":"    fi"},{"line_number":90,"context_line":"done"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_6f0bc5d6","line":88,"range":{"start_line":87,"start_character":8,"end_line":88,"end_character":52},"updated":"2016-08-01 12:40:11.000000000","message":"I think we\u0027ve released \"openstack baremetal node manage\" already","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":93,"context_line":"openstack baremetal introspection rule import \"$rules_file\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"for uuid in $nodes; do"},{"line_number":96,"context_line":"    # TODO(vsaienko) switch to OSC when set-provision-state is implemented."},{"line_number":97,"context_line":"    ironic node-set-provision-state $uuid inspect"},{"line_number":98,"context_line":"done"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"current_nodes\u003d$nodes"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_eff7b5d0","line":97,"range":{"start_line":96,"start_character":5,"end_line":97,"end_character":46},"updated":"2016-08-01 12:40:11.000000000","message":"ditto","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        if [ \"$current\" !\u003d \"$expected\" ]; then"},{"line_number":147,"context_line":"            if [ \"$attempt\" -eq \"$max_attempts\" ]; then"},{"line_number":148,"context_line":"                echo \"Expected provision_state $expected, got $current:\""},{"line_number":149,"context_line":"                openstack baremetal show $uuid"},{"line_number":150,"context_line":"                exit 1"},{"line_number":151,"context_line":"            fi"},{"line_number":152,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_4f1a4118","line":149,"updated":"2016-08-01 12:40:11.000000000","message":"should be \"node show\"","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":157,"context_line":"}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"for uuid in $nodes; do"},{"line_number":160,"context_line":"    node_json\u003d$(curl_ir GET v1/nodes/$uuid)"},{"line_number":161,"context_line":"    properties\u003d$(echo $node_json | jq \u0027.properties\u0027)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    echo Properties for $uuid: $properties"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_2fbf0dab","line":160,"range":{"start_line":160,"start_character":4,"end_line":160,"end_character":43},"updated":"2016-08-01 12:40:11.000000000","message":"not necessary to fix in this patch, but now ironicclient has --json option, ditto for OSC","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    openstack service list | grep swift \u0026\u0026 test_swift"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    wait_for_provision_state $uuid manageable"},{"line_number":191,"context_line":"    # TODO(vsaienko) switch to OSC when set-provision-state is implemented."},{"line_number":192,"context_line":"    ironic node-set-provision-state $uuid provide"},{"line_number":193,"context_line":"done"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"# Cleaning kicks in here, we have to wait until it finishes (~ 2 minutes)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_0fd20928","line":192,"range":{"start_line":191,"start_character":4,"end_line":192,"end_character":49},"updated":"2016-08-01 12:40:11.000000000","message":"ditto about \"baremetal node provide\"","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        break"},{"line_number":205,"context_line":"    elif [ \"$attempt\" -eq 24 ]; then"},{"line_number":206,"context_line":"        echo \"Timeout while waiting for nova hypervisor-stats, current:\""},{"line_number":207,"context_line":"        nova hypervisor-stats"},{"line_number":208,"context_line":"        exit 1"},{"line_number":209,"context_line":"    fi"},{"line_number":210,"context_line":"    sleep 5"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_8f92794a","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":29},"updated":"2016-08-01 12:40:11.000000000","message":"missing","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"image\u003d$(openstack image list --property disk_format\u003dami -f value -c ID | head -n1)"},{"line_number":216,"context_line":"net_id\u003d$(openstack network show \"$PRIVATE_NETWORK_NAME\" -f value -c id)"},{"line_number":217,"context_line":"uuid\u003d$(nova boot --flavor baremetal --nic net-id\u003d$net_id --image $image testing | grep \" id \" | awk \u0027{ print $4 }\u0027)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"for attempt in {1..30}; do"},{"line_number":220,"context_line":"    status\u003d$(nova show $uuid | grep \" status \" | awk \u0027{ print $4 }\u0027)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_2f9a6d6e","line":217,"range":{"start_line":217,"start_character":7,"end_line":217,"end_character":16},"updated":"2016-08-01 12:40:11.000000000","message":"I think we can replace this one too or leave a TODO with explanation","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6adfce204ae059d09bf1602103af8e6532762154","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    if [ \"$status\" \u003d \"ERROR\" ]; then"},{"line_number":222,"context_line":"        echo \"Instance failed to boot\""},{"line_number":223,"context_line":"        # Some debug output"},{"line_number":224,"context_line":"        nova show $uuid"},{"line_number":225,"context_line":"        nova hypervisor-stats"},{"line_number":226,"context_line":"        exit 1"},{"line_number":227,"context_line":"    elif [ \"$status\" !\u003d \"ACTIVE\" ]; then"},{"line_number":228,"context_line":"        if [ \"$attempt\" -eq 30 ]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bacf61ea_0f8049f4","line":225,"range":{"start_line":224,"start_character":0,"end_line":225,"end_character":29},"updated":"2016-08-01 12:40:11.000000000","message":"missing","commit_id":"d54ca886b6b9e60a0057f42b2a6e226bd136d3d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c1c64702a2e0a6268149c7121fd2a267e1919255","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"for uuid in $nodes; do"},{"line_number":83,"context_line":"    for p in cpus cpu_arch memory_mb local_gb; do"},{"line_number":84,"context_line":"        openstack baremetal node unset --property properties/$p $uuid \u003e /dev/null || true"},{"line_number":85,"context_line":"    done"},{"line_number":86,"context_line":"    if [[ \"$(openstack baremetal node show $uuid -f value -c provision_state)\" !\u003d \"manageable\" ]]; then"},{"line_number":87,"context_line":"        openstack baremetal node manage $uuid"}],"source_content_type":"text/x-sh","patch_set":5,"id":"bacf61ea_8877d79e","line":84,"updated":"2016-08-02 12:04:03.000000000","message":"duplicated properties here, you only need --property $p","commit_id":"041deb6af9af17ddb5fa710c42ecda8e2c7306a6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"b589df70acd4a99f06e2662e98bdcf3510acf27a","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"for uuid in $nodes; do"},{"line_number":83,"context_line":"    for p in cpus cpu_arch memory_mb local_gb; do"},{"line_number":84,"context_line":"        openstack baremetal node unset --property properties/$p $uuid \u003e /dev/null || true"},{"line_number":85,"context_line":"    done"},{"line_number":86,"context_line":"    if [[ \"$(openstack baremetal node show $uuid -f value -c provision_state)\" !\u003d \"manageable\" ]]; then"},{"line_number":87,"context_line":"        openstack baremetal node manage $uuid"}],"source_content_type":"text/x-sh","patch_set":5,"id":"bacf61ea_eb100d5c","line":84,"in_reply_to":"bacf61ea_8877d79e","updated":"2016-08-02 12:36:13.000000000","message":"yeah, it is the syntax for `openstack baremetal set` command.","commit_id":"041deb6af9af17ddb5fa710c42ecda8e2c7306a6"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c1c64702a2e0a6268149c7121fd2a267e1919255","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"image\u003d$(openstack image list --property disk_format\u003dami -f value -c ID | head -n1)"},{"line_number":213,"context_line":"net_id\u003d$(openstack network show \"$PRIVATE_NETWORK_NAME\" -f value -c id)"},{"line_number":214,"context_line":"# TODO(vsaienko) replace by openstack create with --wait flag"},{"line_number":215,"context_line":"uuid\u003d$(nova boot --flavor baremetal --nic net-id\u003d$net_id --image $image testing | grep \" id \" | awk \u0027{ print $4 }\u0027)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"for attempt in {1..30}; do"}],"source_content_type":"text/x-sh","patch_set":5,"id":"bacf61ea_e86c93d2","line":214,"updated":"2016-08-02 12:04:03.000000000","message":"why isn\u0027t it possible today?","commit_id":"041deb6af9af17ddb5fa710c42ecda8e2c7306a6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"b589df70acd4a99f06e2662e98bdcf3510acf27a","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"image\u003d$(openstack image list --property disk_format\u003dami -f value -c ID | head -n1)"},{"line_number":213,"context_line":"net_id\u003d$(openstack network show \"$PRIVATE_NETWORK_NAME\" -f value -c id)"},{"line_number":214,"context_line":"# TODO(vsaienko) replace by openstack create with --wait flag"},{"line_number":215,"context_line":"uuid\u003d$(nova boot --flavor baremetal --nic net-id\u003d$net_id --image $image testing | grep \" id \" | awk \u0027{ print $4 }\u0027)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"for attempt in {1..30}; do"}],"source_content_type":"text/x-sh","patch_set":5,"id":"bacf61ea_ce5a772a","line":214,"in_reply_to":"bacf61ea_e86c93d2","updated":"2016-08-02 12:36:13.000000000","message":"It is possible, but it will require additional changes, L217... will be not needed. I think it is better to do it in a separate patch.","commit_id":"041deb6af9af17ddb5fa710c42ecda8e2c7306a6"}]}
