)]}'
{"lib/ironic":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"a1f0f0b5fce3a375826de70c6ba072725298eb0b","unresolved":false,"context_lines":[{"line_number":581,"context_line":""},{"line_number":582,"context_line":"function enroll_nodes {"},{"line_number":583,"context_line":"    echo_summary \"Detect API version 1.11 support by explicitly requesting it.\""},{"line_number":584,"context_line":"    if ironic --ironic-api-version 1.11 driver-list \u003e /dev/null; then"},{"line_number":585,"context_line":"        local enroll_state_supported\u003d1"},{"line_number":586,"context_line":"        local node_create_version_arg\u003d\"--ironic-api-version 1.11\""},{"line_number":587,"context_line":"    else"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a50d1a3_c91b627f","line":584,"updated":"2015-07-27 13:24:24.000000000","message":"I believe stable/juno will just ignore the version headers and return successfully.","commit_id":"24a5ba5fc6f5e1b3fa8ea2e926377e95431d1f8b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"fed5e9f50110c2f71421b7f72ffd66ca64515801","unresolved":false,"context_lines":[{"line_number":581,"context_line":""},{"line_number":582,"context_line":"function enroll_nodes {"},{"line_number":583,"context_line":"    echo_summary \"Detect API version 1.11 support by explicitly requesting it.\""},{"line_number":584,"context_line":"    if ironic --ironic-api-version 1.11 driver-list \u003e /dev/null; then"},{"line_number":585,"context_line":"        local enroll_state_supported\u003d1"},{"line_number":586,"context_line":"        local node_create_version_arg\u003d\"--ironic-api-version 1.11\""},{"line_number":587,"context_line":"    else"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a50d1a3_24978b91","line":584,"in_reply_to":"3a50d1a3_c91b627f","updated":"2015-07-27 13:27:58.000000000","message":"omg, good catch. I will use something definitely absent in juno...","commit_id":"24a5ba5fc6f5e1b3fa8ea2e926377e95431d1f8b"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"a1f0f0b5fce3a375826de70c6ba072725298eb0b","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        if [[ \"$enroll_state_supported\" \u003d\u003d \"1\" ]]; then"},{"line_number":655,"context_line":"            ironic node-set-provision-state $node_id manage"},{"line_number":656,"context_line":"            wait_for_provision_state $node_id manageable"},{"line_number":657,"context_line":"            ironic node-set-provision-state $node_id provide"},{"line_number":658,"context_line":"            wait_for_provision_state $node_id available"},{"line_number":659,"context_line":"        fi"},{"line_number":660,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a50d1a3_440f372e","line":657,"updated":"2015-07-27 13:24:24.000000000","message":"This is going to invoke a clean, are we okay with that? (I think yes)","commit_id":"24a5ba5fc6f5e1b3fa8ea2e926377e95431d1f8b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"fed5e9f50110c2f71421b7f72ffd66ca64515801","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        if [[ \"$enroll_state_supported\" \u003d\u003d \"1\" ]]; then"},{"line_number":655,"context_line":"            ironic node-set-provision-state $node_id manage"},{"line_number":656,"context_line":"            wait_for_provision_state $node_id manageable"},{"line_number":657,"context_line":"            ironic node-set-provision-state $node_id provide"},{"line_number":658,"context_line":"            wait_for_provision_state $node_id available"},{"line_number":659,"context_line":"        fi"},{"line_number":660,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"3a50d1a3_04e36f34","line":657,"in_reply_to":"3a50d1a3_440f372e","updated":"2015-07-27 13:27:58.000000000","message":"I didn\u0027t think about it, but yes, I think we are.\n\nMy only doubt is about 2 minutes timeout in wait_for_provision_state. Do you think we should bump it?","commit_id":"24a5ba5fc6f5e1b3fa8ea2e926377e95431d1f8b"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"63238262c448f4bca06cbe618476bf0494e25a25","unresolved":false,"context_lines":[{"line_number":565,"context_line":"    die $LINENO \"Timed out waiting for Nova hypervisor-stats $resource \u003e\u003d $expected_count\""},{"line_number":566,"context_line":"}"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"function wait_for_provision_state {"},{"line_number":569,"context_line":"    local node_id\u003d$1"},{"line_number":570,"context_line":"    local expected_state\u003d$2"},{"line_number":571,"context_line":"    local timeout\u003d${3:-120}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3a50d1a3_87c153e6","line":568,"updated":"2015-07-29 12:04:58.000000000","message":"Do you think this function could use the test_with_retry function instead of making a new loop/sleep function? Or perhaps test_with_retry could be improved to support more args?\n\nhttps://github.com/openstack-dev/devstack/blob/master/functions-common#L2022","commit_id":"2b118252f4118cc863a921c134020a02be12175f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f3f8ae5bef42b6f3eceb29feaa7c03bff891111a","unresolved":false,"context_lines":[{"line_number":565,"context_line":"    die $LINENO \"Timed out waiting for Nova hypervisor-stats $resource \u003e\u003d $expected_count\""},{"line_number":566,"context_line":"}"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"function wait_for_provision_state {"},{"line_number":569,"context_line":"    local node_id\u003d$1"},{"line_number":570,"context_line":"    local expected_state\u003d$2"},{"line_number":571,"context_line":"    local timeout\u003d${3:-120}"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a4dcd0f_14abdc1e","line":568,"in_reply_to":"3a50d1a3_87c153e6","updated":"2015-08-04 10:29:21.000000000","message":"yes please, we\u0027re trying to not have a bunch of custom retry loops.","commit_id":"2b118252f4118cc863a921c134020a02be12175f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f3f8ae5bef42b6f3eceb29feaa7c03bff891111a","unresolved":false,"context_lines":[{"line_number":585,"context_line":"    local node_create_version_arg\u003d"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    echo_summary \"Detect if ironic service has support for API versioning.\""},{"line_number":588,"context_line":"    if ironic --ironic-api-version 1.999999 driver-list \u003e /dev/null; then"},{"line_number":589,"context_line":"        # Successfull result for obviously non-existing version means server is"},{"line_number":590,"context_line":"        # not aware of versioning at all (e.g. Juno)."},{"line_number":591,"context_line":"        echo_summary \"... ironic service does not support API versioning.\""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a4dcd0f_94b60c89","line":588,"updated":"2015-08-04 10:29:21.000000000","message":"ok, I hate this check and pattern, because devstack code is going to get copied into real people\u0027s scripts.\n\nironic client needs some more explicit discovery here so we can have:\n\nif ironic --supports-microversions (or something). \n\nI\u0027m firmly -1 until we have a better pattern here.","commit_id":"2b118252f4118cc863a921c134020a02be12175f"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"837532dbefa504eeb86efa771cf54a6ac244c246","unresolved":false,"context_lines":[{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    echo_summary \"Detect if ironic service has support for API versioning.\""},{"line_number":588,"context_line":"    if ironic --ironic-api-version 1.999999 driver-list \u003e /dev/null; then"},{"line_number":589,"context_line":"        # Successfull result for obviously non-existing version means server is"},{"line_number":590,"context_line":"        # not aware of versioning at all (e.g. Juno)."},{"line_number":591,"context_line":"        echo_summary \"... ironic service does not support API versioning.\""},{"line_number":592,"context_line":"    else"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"3a50d1a3_bd74f0fd","line":589,"updated":"2015-07-28 01:45:38.000000000","message":"successful","commit_id":"2b118252f4118cc863a921c134020a02be12175f"}]}
