)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"791613e59f515a91f9bb2f5fead41c3c0beea98d","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"It seems that addresses information is not available in the initial"},{"line_number":15,"context_line":"response upon server creation, from the compute API ref:"},{"line_number":16,"context_line":"\"Servers with status BUILD hide their addresses information.\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Updating the server details before calling get_server_ip() solves"},{"line_number":19,"context_line":"the problem."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"571c3fe4_2787b145","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":61},"updated":"2022-08-31 13:53:38.000000000","message":"but we do check server move to Active when we do the ssh thing, can you please link the log or bug report where you have seen this error?","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"fb62bc5b3babb956f7388a40c3f3f3889c439a11","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"It seems that addresses information is not available in the initial"},{"line_number":15,"context_line":"response upon server creation, from the compute API ref:"},{"line_number":16,"context_line":"\"Servers with status BUILD hide their addresses information.\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Updating the server details before calling get_server_ip() solves"},{"line_number":19,"context_line":"the problem."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"46677e82_23fe3920","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":61},"in_reply_to":"571c3fe4_2787b145","updated":"2022-09-20 07:03:22.000000000","message":"Done","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"e4679cfafff6195760afa6927b7074fb59afcb6a","unresolved":true,"context_lines":[{"line_number":19,"context_line":"the server to become ACTIVE. Such response includes the Fixed IP"},{"line_number":20,"context_line":"address (once the server is ACTIVE) and can be used for checking"},{"line_number":21,"context_line":"the connection to the server later."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I1addbb52320deaa9e268eceb5dbd83f6da6c6f6a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4dff5bbe_ca741c04","line":22,"updated":"2022-09-29 07:57:22.000000000","message":"Closes-Bug: 1973307","commit_id":"ca5ddb4fe06f1f6176527dd08241b757155fc584"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"4aad5fa6dbddb74d6929870a8c863061a5c6014b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9027741e_0d8f8275","updated":"2022-08-30 12:25:59.000000000","message":"Looks good to me. \n\nI wrote a comment. I\u0027m not sure whether it makes sense.","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"791613e59f515a91f9bb2f5fead41c3c0beea98d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"88c65549_2c65e67f","updated":"2022-08-31 13:53:38.000000000","message":"need more information about error.","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"eb9ec840e64a2c1b0416d66eb34ab516aa341ff0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"13a43666_9c7f03e9","updated":"2022-08-31 13:54:39.000000000","message":"recheck refresh log for multinode job","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":30742,"name":"Soniya Murlidhar Vyas","email":"svyas@redhat.com","username":"svyas"},"change_message_id":"3345778a4a3cee1b56447c1c446afa5044ce587a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5f978f08_f0306f36","updated":"2022-09-22 04:54:13.000000000","message":"LGTM","commit_id":"ca5ddb4fe06f1f6176527dd08241b757155fc584"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"fd06810f72ba25887a3d98201378d5f6ca1a40d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"32abbd1d_bd202be7","updated":"2022-09-30 08:25:32.000000000","message":"Looks good to me!","commit_id":"ca5ddb4fe06f1f6176527dd08241b757155fc584"},{"author":{"_account_id":26220,"name":"Chris Stone","email":"cstone@blizzard.com","username":"cstone"},"change_message_id":"c530f3018ad0232d8674903301c1fd328a7605c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9262e456_836ef728","updated":"2022-10-03 23:47:40.000000000","message":"This change worked well for me","commit_id":"ca5ddb4fe06f1f6176527dd08241b757155fc584"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"e4679cfafff6195760afa6927b7074fb59afcb6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2ff4ef23_626e3f0c","updated":"2022-09-29 07:57:22.000000000","message":"makes sense to me, thanks!","commit_id":"ca5ddb4fe06f1f6176527dd08241b757155fc584"}],"tempest/common/compute.py":[{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"4aad5fa6dbddb74d6929870a8c863061a5c6014b","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"cd567fa7_b859f284","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"updated":"2022-08-30 12:25:59.000000000","message":"Would it make sense to first check whether the \"addresses\" field is really missing and then make the show_server API call? I\u0027m thinking that maybe in the future the wait_for_ssh_or_ping() function might be used in different context in which the \"addresses\" field is present. Just an idea.\n\nSomething like:\n```\nif \"addresses\" not in server:\n   server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]\n```","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"a81c4bd3ac3c3aa9055e70c20dedd77113a4eca6","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bcbb0c3e_8a8f9c50","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"in_reply_to":"081a99a5_65516693","updated":"2022-08-31 16:41:19.000000000","message":"I\u0027m not sure if I\u0027m correct but I see that we wait for the ACTIVE status but I do not see that we update the server variable [1] after the server is in ACTIVE status. We use all the time the response we get by creating the server and because of that we do not have the \"addresses\" field in some situations (?). \n\n[1] https://github.com/openstack/tempest/blob/d265e14cebb0f3568dcc287eb974bfaa024ddfdf/tempest/common/compute.py#L292","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"bd9ed1f6751d302e264f98747d1c72bfccf86976","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"98d4896a_b18dd185","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"in_reply_to":"081a99a5_65516693","updated":"2022-08-31 16:37:18.000000000","message":"We do wait for the server to be ACTIVE but the \"server\" dictionary which is passed to wait_for_ssh_or_ping() is created upon server creation on the L293 and stored to server var on the L305-6 so imo the \"addresses\" is still hidden.","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"185a486a8294517f142be904b5452272bada6d1e","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"cd5ccaa5_d0c0324b","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"in_reply_to":"bcbb0c3e_8a8f9c50","updated":"2022-09-10 17:57:58.000000000","message":"I see now. Instead of doing a another GET call to nova to repopulate the server response which tempest already done, we can pass the full server response here.\n\nI know in many tests we are doing show server to get the full response and that can be avoided too with the approach I am suggesting in my below comment.","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"791613e59f515a91f9bb2f5fead41c3c0beea98d","unresolved":true,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"081a99a5_65516693","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"in_reply_to":"cd567fa7_b859f284","updated":"2022-08-31 13:53:38.000000000","message":"but we do wait for server to be Active @L310 and addresses field should be present after server is Active.","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"093d2641568f10130c088d2496782bf7da121044","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        _setup_validation_fip("},{"line_number":129,"context_line":"            server, clients, tenant_network, validation_resources)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    server \u003d clients.servers_client.show_server(server[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":132,"context_line":"    server_ip \u003d get_server_ip("},{"line_number":133,"context_line":"        server, validation_resources\u003dvalidation_resources)"},{"line_number":134,"context_line":"    if wait_until \u003d\u003d \u0027PINGABLE\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"b2e528b2_1457be28","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":71},"in_reply_to":"cd5ccaa5_d0c0324b","updated":"2022-09-19 20:50:15.000000000","message":"Ack","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"185a486a8294517f142be904b5452272bada6d1e","unresolved":true,"context_lines":[{"line_number":299,"context_line":"    if multiple_create_request:"},{"line_number":300,"context_line":"        # Get servers created which name match with name param."},{"line_number":301,"context_line":"        body_servers \u003d clients.servers_client.list_servers()"},{"line_number":302,"context_line":"        servers \u003d \\"},{"line_number":303,"context_line":"            [s for s in body_servers[\u0027servers\u0027] if s[\u0027name\u0027].startswith(name)]"},{"line_number":304,"context_line":"    else:"},{"line_number":305,"context_line":"        body \u003d rest_client.ResponseBody(body.response, body[\u0027server\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"74abe840_f43e3ebb","line":302,"range":{"start_line":302,"start_character":8,"end_line":302,"end_character":16},"updated":"2022-09-10 17:57:58.000000000","message":"let\u0027s change this var to created_servers \n\ns/servers/created_servers","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"093d2641568f10130c088d2496782bf7da121044","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    if multiple_create_request:"},{"line_number":300,"context_line":"        # Get servers created which name match with name param."},{"line_number":301,"context_line":"        body_servers \u003d clients.servers_client.list_servers()"},{"line_number":302,"context_line":"        servers \u003d \\"},{"line_number":303,"context_line":"            [s for s in body_servers[\u0027servers\u0027] if s[\u0027name\u0027].startswith(name)]"},{"line_number":304,"context_line":"    else:"},{"line_number":305,"context_line":"        body \u003d rest_client.ResponseBody(body.response, body[\u0027server\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac9765a_b22253e7","line":302,"range":{"start_line":302,"start_character":8,"end_line":302,"end_character":16},"in_reply_to":"74abe840_f43e3ebb","updated":"2022-09-19 20:50:15.000000000","message":"Done","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"185a486a8294517f142be904b5452272bada6d1e","unresolved":true,"context_lines":[{"line_number":303,"context_line":"            [s for s in body_servers[\u0027servers\u0027] if s[\u0027name\u0027].startswith(name)]"},{"line_number":304,"context_line":"    else:"},{"line_number":305,"context_line":"        body \u003d rest_client.ResponseBody(body.response, body[\u0027server\u0027])"},{"line_number":306,"context_line":"        servers \u003d [body]"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    if wait_until:"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e4039385_64b4face","line":306,"range":{"start_line":306,"start_character":8,"end_line":306,"end_character":15},"updated":"2022-09-10 17:57:58.000000000","message":"ditto\n\ns/servers/created_servers","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"093d2641568f10130c088d2496782bf7da121044","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            [s for s in body_servers[\u0027servers\u0027] if s[\u0027name\u0027].startswith(name)]"},{"line_number":304,"context_line":"    else:"},{"line_number":305,"context_line":"        body \u003d rest_client.ResponseBody(body.response, body[\u0027server\u0027])"},{"line_number":306,"context_line":"        servers \u003d [body]"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    if wait_until:"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"37efbc65_bb69c579","line":306,"range":{"start_line":306,"start_character":8,"end_line":306,"end_character":15},"in_reply_to":"e4039385_64b4face","updated":"2022-09-19 20:50:15.000000000","message":"Done","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"185a486a8294517f142be904b5452272bada6d1e","unresolved":true,"context_lines":[{"line_number":315,"context_line":"            wait_until_extra \u003d wait_until"},{"line_number":316,"context_line":"            wait_until \u003d \u0027ACTIVE\u0027"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        for server in servers:"},{"line_number":319,"context_line":"            try:"},{"line_number":320,"context_line":"                waiters.wait_for_server_status("},{"line_number":321,"context_line":"                    clients.servers_client, server[\u0027id\u0027], wait_until,"},{"line_number":322,"context_line":"                    request_id\u003drequest_id)"},{"line_number":323,"context_line":"                if CONF.validation.run_validation and validatable:"},{"line_number":324,"context_line":"                    if CONF.validation.connect_method \u003d\u003d \u0027floating\u0027:"},{"line_number":325,"context_line":"                        _setup_validation_fip("},{"line_number":326,"context_line":"                            server, clients, tenant_network,"},{"line_number":327,"context_line":"                            validation_resources)"},{"line_number":328,"context_line":"                    if wait_until_extra:"},{"line_number":329,"context_line":"                        wait_for_ssh_or_ping("},{"line_number":330,"context_line":"                            server, clients, tenant_network,"},{"line_number":331,"context_line":"                            validatable, validation_resources,"},{"line_number":332,"context_line":"                            wait_until_extra, False)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"            except Exception:"},{"line_number":335,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":336,"context_line":"                    for server in servers:"},{"line_number":337,"context_line":"                        try:"},{"line_number":338,"context_line":"                            clients.servers_client.delete_server("},{"line_number":339,"context_line":"                                server[\u0027id\u0027])"},{"line_number":340,"context_line":"                        except Exception:"},{"line_number":341,"context_line":"                            LOG.exception(\u0027Deleting server %s failed\u0027,"},{"line_number":342,"context_line":"                                          server[\u0027id\u0027])"},{"line_number":343,"context_line":"                    for server in servers:"},{"line_number":344,"context_line":"                        # NOTE(artom) If the servers were booted with volumes"},{"line_number":345,"context_line":"                        # and with delete_on_termination\u003dFalse we need to wait"},{"line_number":346,"context_line":"                        # for the servers to go away before proceeding with"},{"line_number":347,"context_line":"                        # cleanup, otherwise we\u0027ll attempt to delete the"},{"line_number":348,"context_line":"                        # volumes while they\u0027re still attached to servers that"},{"line_number":349,"context_line":"                        # are in the process of being deleted."},{"line_number":350,"context_line":"                        try:"},{"line_number":351,"context_line":"                            waiters.wait_for_server_termination("},{"line_number":352,"context_line":"                                clients.servers_client, server[\u0027id\u0027])"},{"line_number":353,"context_line":"                        except Exception:"},{"line_number":354,"context_line":"                            LOG.exception(\u0027Server %s failed to delete in time\u0027,"},{"line_number":355,"context_line":"                                          server[\u0027id\u0027])"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    return body, servers"},{"line_number":358,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"724817e7_ac2816c4","line":355,"range":{"start_line":318,"start_character":0,"end_line":355,"end_character":55},"updated":"2022-09-10 17:57:58.000000000","message":"let\u0027s change this block to use the server after ACTIVE state where we will have addresses field too.\n\nAnother update you need is to return server from waiters.wait_for_server_status method - https://github.com/openstack/tempest/blob/6ec23b64dc844e0f7c2f01dc7e1f6d87fdb50345/tempest/common/waiters.py#L35\n\n\n        servers \u003d []\n        try:\n            # Wait for server to be in active state and populate servers list\n            # with those full server response so that we will have addresses \n            # field present in server which is needed to be used for wait for\n            # ssh\n            for server in created_servers:\n                server \u003d waiters.wait_for_server_status(\n                    clients.servers_client, server[\u0027id\u0027], wait_until,\n                    request_id\u003drequest_id)\n                servers.append(server)\n                \n            for server in servers:\n                if CONF.validation.run_validation and validatable:\n                    if CONF.validation.connect_method \u003d\u003d \u0027floating\u0027:\n                        _setup_validation_fip(\n                            server, clients, tenant_network,\n                            validation_resources)\n                    if wait_until_extra:\n                        wait_for_ssh_or_ping(\n                            server, clients, tenant_network,\n                            validatable, validation_resources,\n                            wait_until_extra, False)\n\n        except Exception:\n            with excutils.save_and_reraise_exception():\n                for server in servers:\n                    try:\n                        clients.servers_client.delete_server(\n                            server[\u0027id\u0027])\n                    except Exception:\n                        LOG.exception(\u0027Deleting server %s failed\u0027,\n                                      server[\u0027id\u0027])\n                for server in servers:\n                    # NOTE(artom) If the servers were booted with volumes\n                    # and with delete_on_termination\u003dFalse we need to wait\n                    # for the servers to go away before proceeding with\n                    # cleanup, otherwise we\u0027ll attempt to delete the\n                    # volumes while they\u0027re still attached to servers that\n                    # are in the process of being deleted.\n                    try:\n                        waiters.wait_for_server_termination(\n                            clients.servers_client, server[\u0027id\u0027])\n                    except Exception:\n                        LOG.exception(\u0027Server %s failed to delete in time\u0027,\n                                      server[\u0027id\u0027])","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"},{"author":{"_account_id":15206,"name":"Marian Krcmarik","email":"mkrcmari@redhat.com","username":"mvk"},"change_message_id":"093d2641568f10130c088d2496782bf7da121044","unresolved":false,"context_lines":[{"line_number":315,"context_line":"            wait_until_extra \u003d wait_until"},{"line_number":316,"context_line":"            wait_until \u003d \u0027ACTIVE\u0027"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        for server in servers:"},{"line_number":319,"context_line":"            try:"},{"line_number":320,"context_line":"                waiters.wait_for_server_status("},{"line_number":321,"context_line":"                    clients.servers_client, server[\u0027id\u0027], wait_until,"},{"line_number":322,"context_line":"                    request_id\u003drequest_id)"},{"line_number":323,"context_line":"                if CONF.validation.run_validation and validatable:"},{"line_number":324,"context_line":"                    if CONF.validation.connect_method \u003d\u003d \u0027floating\u0027:"},{"line_number":325,"context_line":"                        _setup_validation_fip("},{"line_number":326,"context_line":"                            server, clients, tenant_network,"},{"line_number":327,"context_line":"                            validation_resources)"},{"line_number":328,"context_line":"                    if wait_until_extra:"},{"line_number":329,"context_line":"                        wait_for_ssh_or_ping("},{"line_number":330,"context_line":"                            server, clients, tenant_network,"},{"line_number":331,"context_line":"                            validatable, validation_resources,"},{"line_number":332,"context_line":"                            wait_until_extra, False)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"            except Exception:"},{"line_number":335,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":336,"context_line":"                    for server in servers:"},{"line_number":337,"context_line":"                        try:"},{"line_number":338,"context_line":"                            clients.servers_client.delete_server("},{"line_number":339,"context_line":"                                server[\u0027id\u0027])"},{"line_number":340,"context_line":"                        except Exception:"},{"line_number":341,"context_line":"                            LOG.exception(\u0027Deleting server %s failed\u0027,"},{"line_number":342,"context_line":"                                          server[\u0027id\u0027])"},{"line_number":343,"context_line":"                    for server in servers:"},{"line_number":344,"context_line":"                        # NOTE(artom) If the servers were booted with volumes"},{"line_number":345,"context_line":"                        # and with delete_on_termination\u003dFalse we need to wait"},{"line_number":346,"context_line":"                        # for the servers to go away before proceeding with"},{"line_number":347,"context_line":"                        # cleanup, otherwise we\u0027ll attempt to delete the"},{"line_number":348,"context_line":"                        # volumes while they\u0027re still attached to servers that"},{"line_number":349,"context_line":"                        # are in the process of being deleted."},{"line_number":350,"context_line":"                        try:"},{"line_number":351,"context_line":"                            waiters.wait_for_server_termination("},{"line_number":352,"context_line":"                                clients.servers_client, server[\u0027id\u0027])"},{"line_number":353,"context_line":"                        except Exception:"},{"line_number":354,"context_line":"                            LOG.exception(\u0027Server %s failed to delete in time\u0027,"},{"line_number":355,"context_line":"                                          server[\u0027id\u0027])"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    return body, servers"},{"line_number":358,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"11cd847a_4d82299c","line":355,"range":{"start_line":318,"start_character":0,"end_line":355,"end_character":55},"in_reply_to":"724817e7_ac2816c4","updated":"2022-09-19 20:50:15.000000000","message":"Ack","commit_id":"ad4de83d20931c29b017564289afb30e1013f5fa"}]}
