)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f8c0d2e9f567beb4f285e45b9a3bcbe03a763115","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Eliad Cohen \u003celiadcohen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-11-23 13:49:42 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added funcitonality to wait for port creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a refresh fiter that compares the current"},{"line_number":10,"context_line":"status of the port to a target value and returns the port"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"54904d6b_5027be0b","line":7,"range":{"start_line":7,"start_character":6,"end_line":7,"end_character":19},"updated":"2022-11-24 08:51:34.000000000","message":"nit: functionality","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"154b4c3ee29a45942bfc61077531d94165c3e861","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eliad Cohen \u003celiadcohen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-11-23 13:49:42 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added funcitonality to wait for port creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a refresh fiter that compares the current"},{"line_number":10,"context_line":"status of the port to a target value and returns the port"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1f8b0e2d_5571bddb","line":7,"range":{"start_line":7,"start_character":6,"end_line":7,"end_character":19},"in_reply_to":"54904d6b_5027be0b","updated":"2022-11-28 20:32:21.000000000","message":"Done","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f8c0d2e9f567beb4f285e45b9a3bcbe03a763115","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added funcitonality to wait for port creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a refresh fiter that compares the current"},{"line_number":10,"context_line":"status of the port to a target value and returns the port"},{"line_number":11,"context_line":"when that is achieved."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7932317f_c16099be","line":9,"range":{"start_line":9,"start_character":16,"end_line":9,"end_character":21},"updated":"2022-11-24 08:51:34.000000000","message":"filter?","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"154b4c3ee29a45942bfc61077531d94165c3e861","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added funcitonality to wait for port creation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a refresh fiter that compares the current"},{"line_number":10,"context_line":"status of the port to a target value and returns the port"},{"line_number":11,"context_line":"when that is achieved."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"c941c236_87ef8b84","line":9,"range":{"start_line":9,"start_character":16,"end_line":9,"end_character":21},"in_reply_to":"7932317f_c16099be","updated":"2022-11-28 20:32:21.000000000","message":"Done","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"85286987cc623ed5d5de15ff1703e7dfeb57f999","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"735a1e77_e5631b3e","updated":"2022-11-14 23:39:17.000000000","message":"Thanks all for the feedback, I think we can start reviewing this","commit_id":"b2d1e78cbca59164454fbae1432ab8b6eea6bbdc"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"22fc48b5be899b0ca33d7072e7e7c8397a1afcac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b659ef31_45803403","updated":"2022-11-18 02:36:15.000000000","message":"Comments addressed","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"09d595969c2730665be0e0808efe6a6f87f4669d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a4971eaa_601cdcd9","updated":"2022-11-16 08:52:20.000000000","message":"one of the unit tests is failing, interestingly it\u0027s one which wasn\u0027t edited in this patch, I don\u0027t understand why it fails, I\u0027m investigating that. Apart from that I wrote couple of comments with suggestions.","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"9d4ca4acb40afee7335c817ac2eaff1d90e4c75a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"84c1fb57_b9e0a656","updated":"2022-11-21 19:01:51.000000000","message":"On it, will fold the timeout into the client","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f3a11580_f29718f4","updated":"2022-11-18 14:23:07.000000000","message":"this took me longer than I expected, anyway, I\u0027ve finally figured out (well, most of it) why the unit tests are failing, see in the inline comments","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"ab38c0f2_02d33160","updated":"2022-11-21 19:09:45.000000000","message":"Ready for review","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"fd4bc02401a2e7a4adcfc22ad3cc6bdba978596a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"11424089_1472cb9a","updated":"2022-11-21 22:50:08.000000000","message":"one small detail, other than that it\u0027s ok ","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"aeba1caad3d2c4e3a812d574c1e29a79ed0bef51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"2607a39e_419057ec","updated":"2022-11-23 13:48:40.000000000","message":"revising","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"662364c0f3e957ffdeade5cc04ee311761f5ba67","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"87937be7_f0dd6f13","updated":"2022-11-28 16:37:11.000000000","message":"Execution status when running locally (Failed with recent Zuul run):\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ntempest-full-parallel (non-voting) | `tox -evenv-tempest -- tempest cleanup --dry-run --debug` | FAIL - same trace\ntempest-full-ubuntu-focal | `tox -e full  -- \u0027\u0027    --concurrency\u003d4` | PASS\nglance-multistore-cinder-import (non-voting) | `tox -e integrated-storage  -- \u0027\u0027    --concurrency\u003d4` | PASS\ntempest-full-test-account-py3 (non-voting) | `tox -e full  -- \u0027\u0027    --concurrency\u003d4` | PASS\ntempest-full-test-account-no-admin-py3 (non-voting) | Not sure whats the difference between this one and the previous one.\n\nHence would like to re-kick Zuul\n I\u0027ll take Martin\u0027s comment and make another patchset\n","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"fe15397a3862db04e891afb1b773bc02e7b6ea8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c06282e9_5b6fb5b7","updated":"2022-11-28 17:07:32.000000000","message":"Thank all for the ongoing support on this!\nI\u0027ve implemented this latest round and hope Zuul will pass now","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f8c0d2e9f567beb4f285e45b9a3bcbe03a763115","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2dbc91bf_e51f55dc","updated":"2022-11-24 08:51:34.000000000","message":"i was about to recheck when i noticed the docstring of the waiter isn\u0027t correct .. I was checking whether these 2 failures can be connected to the fact we\u0027re waiting for the port\u0027s status and whether that could cause a timeout, i haven\u0027t found any direct evidence of that though\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_49c/857756/13/check/tempest-multinode-full-py3/49c2a6a/testr_results.html","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"21365612b3b959256f9d82ba8f110d6d4e0878e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8441f391_d5aa5ae0","updated":"2022-11-23 21:00:56.000000000","message":"recheck Unexpected API Error","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"c6247a3dc0445012b47dbbcb41e31d4f49d116d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d0f892be_042dc6d5","updated":"2022-11-24 00:05:02.000000000","message":"recheck unrelated error, the failed job passed in the previous check","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"154b4c3ee29a45942bfc61077531d94165c3e861","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8b97b0b5_ea87083f","in_reply_to":"87937be7_f0dd6f13","updated":"2022-11-28 20:32:21.000000000","message":"Done","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"154b4c3ee29a45942bfc61077531d94165c3e861","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f25f5f70_a7187e6f","updated":"2022-11-28 20:32:21.000000000","message":"Yay, passed gates","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"451b048a0d78337e59affd5f42719233e9a94b96","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"eb22586e_b8fe493d","updated":"2022-12-20 19:06:39.000000000","message":"lgtm","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cac03796c9925cae94e965c72c62e0d12db373cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e4b43071_d3931dc1","updated":"2022-12-24 05:34:14.000000000","message":"lgtm as tested by martin also","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"25f0fd85396182145a066e48cf05de1c3044eddb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"22680a49_6a117417","updated":"2023-01-06 08:05:28.000000000","message":"recheck\ntempest-multinode-full-py3 is unstable","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"b62aa608cfd28b04f52ff8e18ac17b22912b341d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f9f803da_965583d1","updated":"2023-01-05 13:55:08.000000000","message":"recheck multinode random fail","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"47519a69cff4ed3d765cc59c28a013654dfb1d86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"02dc0735_3a5ce239","updated":"2023-01-09 13:43:18.000000000","message":"recheck multinode timeout issue","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"65ac5ef20c241c358fa917e86c5686f4b48e6dbd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"ea91ce43_ed329283","updated":"2023-01-09 08:34:20.000000000","message":"recheck the tox error should be fixed by now","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"3c7a07a6cf8260a75b9274f2edb3c87bf7cc6049","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"75998ae9_91408def","updated":"2023-01-05 09:16:34.000000000","message":"recheck tox error is fixed","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"}],"tempest/common/waiters.py":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"09d595969c2730665be0e0808efe6a6f87f4669d","unresolved":true,"context_lines":[{"line_number":476,"context_line":"    interface_status \u003d body[\u0027port_state\u0027]"},{"line_number":477,"context_line":"    start \u003d int(time.time())"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    while (interface_status !\u003d status):"},{"line_number":480,"context_line":"        time.sleep(client.build_interval)"},{"line_number":481,"context_line":"        body \u003d (client.show_interface(server_id, port_id)"},{"line_number":482,"context_line":"                [\u0027interfaceAttachment\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"3faf8145_4e8c0289","line":479,"range":{"start_line":479,"start_character":9,"end_line":479,"end_character":10},"updated":"2022-11-16 08:52:20.000000000","message":"better to avoid unnecessary changes","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"22fc48b5be899b0ca33d7072e7e7c8397a1afcac","unresolved":false,"context_lines":[{"line_number":476,"context_line":"    interface_status \u003d body[\u0027port_state\u0027]"},{"line_number":477,"context_line":"    start \u003d int(time.time())"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    while (interface_status !\u003d status):"},{"line_number":480,"context_line":"        time.sleep(client.build_interval)"},{"line_number":481,"context_line":"        body \u003d (client.show_interface(server_id, port_id)"},{"line_number":482,"context_line":"                [\u0027interfaceAttachment\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"c5ddc08c_45337bc8","line":479,"range":{"start_line":479,"start_character":9,"end_line":479,"end_character":10},"in_reply_to":"3faf8145_4e8c0289","updated":"2022-11-18 02:36:15.000000000","message":"Ack","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":585,"context_line":""},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"def wait_for_port_status(client, port_id, status,"},{"line_number":588,"context_line":"                         timeout\u003dCONF.network.build_timeout,"},{"line_number":589,"context_line":"                         interval\u003dCONF.network.build_interval):"},{"line_number":590,"context_line":"    \"\"\"Wait for a port reach a certain status : [\"BUILD\" | \"DOWN\" | \"ACTIVE\"]"},{"line_number":591,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":592,"context_line":"    status"}],"source_content_type":"text/x-python","patch_set":11,"id":"ebe4fecc_6d7c389b","line":589,"range":{"start_line":588,"start_character":25,"end_line":589,"end_character":61},"updated":"2022-11-18 14:23:07.000000000","message":"I can\u0027t really explain why, but these 2 lines cause the StopIteration error in the other unit tests ... my guess is it has something to do with CONF. Anyway, all other methods use build_timeout and build_interval from the respective client which is essentially loaded with the values from CONF. \nI would suggest, let\u0027s get rid of these 2 parameters - we don\u0027t need to be able to pass interval or timeout, these 2 values are internally obtained from CONF which holds the important global user\u0027s configuration.","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"9d4ca4acb40afee7335c817ac2eaff1d90e4c75a","unresolved":false,"context_lines":[{"line_number":585,"context_line":""},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"def wait_for_port_status(client, port_id, status,"},{"line_number":588,"context_line":"                         timeout\u003dCONF.network.build_timeout,"},{"line_number":589,"context_line":"                         interval\u003dCONF.network.build_interval):"},{"line_number":590,"context_line":"    \"\"\"Wait for a port reach a certain status : [\"BUILD\" | \"DOWN\" | \"ACTIVE\"]"},{"line_number":591,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":592,"context_line":"    status"}],"source_content_type":"text/x-python","patch_set":11,"id":"1167749a_defae9a7","line":589,"range":{"start_line":588,"start_character":25,"end_line":589,"end_character":61},"in_reply_to":"ebe4fecc_6d7c389b","updated":"2022-11-21 19:01:51.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":595,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":596,"context_line":"    \"\"\""},{"line_number":597,"context_line":"    start_time \u003d time.time()"},{"line_number":598,"context_line":"    while (time.time() - start_time \u003c\u003d timeout):"},{"line_number":599,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":600,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":601,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":11,"id":"656a2dc7_b31d05a3","line":598,"range":{"start_line":598,"start_character":39,"end_line":598,"end_character":46},"updated":"2022-11-18 14:23:07.000000000","message":"Then we can replace this with client.build_timeout","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"9d4ca4acb40afee7335c817ac2eaff1d90e4c75a","unresolved":false,"context_lines":[{"line_number":595,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":596,"context_line":"    \"\"\""},{"line_number":597,"context_line":"    start_time \u003d time.time()"},{"line_number":598,"context_line":"    while (time.time() - start_time \u003c\u003d timeout):"},{"line_number":599,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":600,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":601,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":11,"id":"7eb27236_8cd1cbdb","line":598,"range":{"start_line":598,"start_character":39,"end_line":598,"end_character":46},"in_reply_to":"656a2dc7_b31d05a3","updated":"2022-11-21 19:01:51.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":599,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":600,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":601,"context_line":"            return result"},{"line_number":602,"context_line":"        time.sleep(interval)"},{"line_number":603,"context_line":"    raise lib_exc.TimeoutException"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"f4d09f35_96a73e8d","line":602,"range":{"start_line":602,"start_character":19,"end_line":602,"end_character":27},"updated":"2022-11-18 14:23:07.000000000","message":"and this with client.build_interval","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"9d4ca4acb40afee7335c817ac2eaff1d90e4c75a","unresolved":false,"context_lines":[{"line_number":599,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":600,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":601,"context_line":"            return result"},{"line_number":602,"context_line":"        time.sleep(interval)"},{"line_number":603,"context_line":"    raise lib_exc.TimeoutException"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9e42d401_c21bc3a9","line":602,"range":{"start_line":602,"start_character":19,"end_line":602,"end_character":27},"in_reply_to":"f4d09f35_96a73e8d","updated":"2022-11-21 19:01:51.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"fd4bc02401a2e7a4adcfc22ad3cc6bdba978596a","unresolved":true,"context_lines":[{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":594,"context_line":"    \"\"\""},{"line_number":595,"context_line":"    start_time \u003d time.time()"},{"line_number":596,"context_line":"    while (time.time() - start_time \u003c\u003d client.timeout):"},{"line_number":597,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":598,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":599,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":12,"id":"4bfb9546_e38bc60f","line":596,"range":{"start_line":596,"start_character":46,"end_line":596,"end_character":53},"updated":"2022-11-21 22:50:08.000000000","message":"this needs to be \"build_timeout\"\n\nNow it throws:\nAttributeError: \u0027PortsClient\u0027 object has no attribute \u0027timeout\u0027\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c32/857756/12/check/tempest-slow-py3/c32cb15/testr_results.html","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"0d6215bb152991869631f22e5c976f4aee4b42db","unresolved":false,"context_lines":[{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":594,"context_line":"    \"\"\""},{"line_number":595,"context_line":"    start_time \u003d time.time()"},{"line_number":596,"context_line":"    while (time.time() - start_time \u003c\u003d client.timeout):"},{"line_number":597,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":598,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":599,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":12,"id":"ea61d74a_51da2590","line":596,"range":{"start_line":596,"start_character":46,"end_line":596,"end_character":53},"in_reply_to":"4bfb9546_e38bc60f","updated":"2022-11-23 13:50:03.000000000","message":"Done","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"fd4bc02401a2e7a4adcfc22ad3cc6bdba978596a","unresolved":true,"context_lines":[{"line_number":597,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":598,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":599,"context_line":"            return result"},{"line_number":600,"context_line":"        time.sleep(client.interval)"},{"line_number":601,"context_line":"    raise lib_exc.TimeoutException"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"76e3cf34_13526d76","line":600,"range":{"start_line":600,"start_character":26,"end_line":600,"end_character":34},"updated":"2022-11-21 22:50:08.000000000","message":"this needs to be \"build_interval\"","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"0d6215bb152991869631f22e5c976f4aee4b42db","unresolved":false,"context_lines":[{"line_number":597,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":598,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":599,"context_line":"            return result"},{"line_number":600,"context_line":"        time.sleep(client.interval)"},{"line_number":601,"context_line":"    raise lib_exc.TimeoutException"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"f4c249f4_6a08ebf4","line":600,"range":{"start_line":600,"start_character":26,"end_line":600,"end_character":34},"in_reply_to":"4347ec6a_7084064a","updated":"2022-11-23 13:50:03.000000000","message":"Done","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"aeba1caad3d2c4e3a812d574c1e29a79ed0bef51","unresolved":true,"context_lines":[{"line_number":597,"context_line":"        result \u003d client.show_port(port_id)"},{"line_number":598,"context_line":"        if result[\u0027port\u0027][\u0027status\u0027].lower() \u003d\u003d status.lower():"},{"line_number":599,"context_line":"            return result"},{"line_number":600,"context_line":"        time.sleep(client.interval)"},{"line_number":601,"context_line":"    raise lib_exc.TimeoutException"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"4347ec6a_7084064a","line":600,"range":{"start_line":600,"start_character":26,"end_line":600,"end_character":34},"in_reply_to":"76e3cf34_13526d76","updated":"2022-11-23 13:48:40.000000000","message":"Sorry, unit tests were passing because I made the same mistake there. Should be good now","commit_id":"027ebe43a2817f82b1b9b69e3e4f107d4dd88818"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f8c0d2e9f567beb4f285e45b9a3bcbe03a763115","unresolved":true,"context_lines":[{"line_number":587,"context_line":"def wait_for_port_status(client, port_id, status):"},{"line_number":588,"context_line":"    \"\"\"Wait for a port reach a certain status : [\"BUILD\" | \"DOWN\" | \"ACTIVE\"]"},{"line_number":589,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":590,"context_line":"    status"},{"line_number":591,"context_line":"    :param status: A string to compare the current port status to."},{"line_number":592,"context_line":"    :param timeout: The time elapsed before the waiter times out."},{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."}],"source_content_type":"text/x-python","patch_set":13,"id":"83d320f2_008799a3","line":590,"updated":"2022-11-24 08:51:34.000000000","message":":param port_id: ...","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"fe15397a3862db04e891afb1b773bc02e7b6ea8d","unresolved":false,"context_lines":[{"line_number":587,"context_line":"def wait_for_port_status(client, port_id, status):"},{"line_number":588,"context_line":"    \"\"\"Wait for a port reach a certain status : [\"BUILD\" | \"DOWN\" | \"ACTIVE\"]"},{"line_number":589,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":590,"context_line":"    status"},{"line_number":591,"context_line":"    :param status: A string to compare the current port status to."},{"line_number":592,"context_line":"    :param timeout: The time elapsed before the waiter times out."},{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."}],"source_content_type":"text/x-python","patch_set":13,"id":"d01625b9_ab84eeb3","line":590,"in_reply_to":"83d320f2_008799a3","updated":"2022-11-28 17:07:32.000000000","message":"Done","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f8c0d2e9f567beb4f285e45b9a3bcbe03a763115","unresolved":true,"context_lines":[{"line_number":589,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":590,"context_line":"    status"},{"line_number":591,"context_line":"    :param status: A string to compare the current port status to."},{"line_number":592,"context_line":"    :param timeout: The time elapsed before the waiter times out."},{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":594,"context_line":"    \"\"\""},{"line_number":595,"context_line":"    start_time \u003d time.time()"},{"line_number":596,"context_line":"    while (time.time() - start_time \u003c\u003d client.build_timeout):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ea04e27_c3978620","line":593,"range":{"start_line":592,"start_character":0,"end_line":593,"end_character":75},"updated":"2022-11-24 08:51:34.000000000","message":"these 2 aren\u0027t used anymore","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"fe15397a3862db04e891afb1b773bc02e7b6ea8d","unresolved":false,"context_lines":[{"line_number":589,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":590,"context_line":"    status"},{"line_number":591,"context_line":"    :param status: A string to compare the current port status to."},{"line_number":592,"context_line":"    :param timeout: The time elapsed before the waiter times out."},{"line_number":593,"context_line":"    :param interval: The wait period before two consecutive status queries."},{"line_number":594,"context_line":"    \"\"\""},{"line_number":595,"context_line":"    start_time \u003d time.time()"},{"line_number":596,"context_line":"    while (time.time() - start_time \u003c\u003d client.build_timeout):"}],"source_content_type":"text/x-python","patch_set":13,"id":"cd6cce4b_cb1e9c43","line":593,"range":{"start_line":592,"start_character":0,"end_line":593,"end_character":75},"in_reply_to":"9ea04e27_c3978620","updated":"2022-11-28 17:07:32.000000000","message":"Done","commit_id":"86bbd1660fcc531b8f9a2d53ae2146a2b4cb4e02"},{"author":{"_account_id":30674,"name":"Lukas Piwowarski","email":"lpiwowar@redhat.com","username":"lukas-piwowarski"},"change_message_id":"a603410b1be263d1f732942ca0ea99dab5e716c0","unresolved":true,"context_lines":[{"line_number":585,"context_line":""},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"def wait_for_port_status(client, port_id, status):"},{"line_number":588,"context_line":"    \"\"\"Wait for a port reach a certain status : [\"BUILD\" | \"DOWN\" | \"ACTIVE\"]"},{"line_number":589,"context_line":"    :param client: The network client to use when querying the port\u0027s"},{"line_number":590,"context_line":"    status"},{"line_number":591,"context_line":"    :param status: A string to compare the current port status-to."}],"source_content_type":"text/x-python","patch_set":14,"id":"fb2a1f84_f0ff9b08","line":588,"range":{"start_line":588,"start_character":18,"end_line":588,"end_character":29},"updated":"2022-12-05 10:03:18.000000000","message":"nit:) \n\"port reach\" \u003d\u003e \"port to reach\"","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"}],"tempest/scenario/manager.py":[{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"f649f24a15ef352e1342484a775b272358149955","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        def refresh():"},{"line_number":165,"context_line":"            result \u003d client.show_port(port_id)"},{"line_number":166,"context_line":"            return result[\u0027port\u0027][\u0027status\u0027] !\u003d \"BUILD\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        if not test_utils.call_until_true(refresh,"},{"line_number":169,"context_line":"                                          CONF.network.build_timeout,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c91feb1d_9a207fc8","line":166,"updated":"2022-11-08 11:07:34.000000000","message":"I wonder if add a wait_for_port_status in waiters wouldn\u0027t be better, in case we need it in other tests","commit_id":"14607ecfcca80e503928bf83d4c24249f5cacb75"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"85286987cc623ed5d5de15ff1703e7dfeb57f999","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        def refresh():"},{"line_number":165,"context_line":"            result \u003d client.show_port(port_id)"},{"line_number":166,"context_line":"            return result[\u0027port\u0027][\u0027status\u0027] !\u003d \"BUILD\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        if not test_utils.call_until_true(refresh,"},{"line_number":169,"context_line":"                                          CONF.network.build_timeout,"}],"source_content_type":"text/x-python","patch_set":3,"id":"0fbb8a19_fb24b246","line":166,"in_reply_to":"c91feb1d_9a207fc8","updated":"2022-11-14 23:39:17.000000000","message":"Cool idea - done!","commit_id":"14607ecfcca80e503928bf83d4c24249f5cacb75"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"56a7bcef24ce009de281f0567e7a033bdc2f6136","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                                     st\u003d\"DOWN\"))"},{"line_number":177,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":178,"context_line":"                        client.delete_port, port_id)"},{"line_number":179,"context_line":"        return result #Previously returned port, test this for consistency"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"},{"line_number":182,"context_line":"        \"\"\"Creates keypair"}],"source_content_type":"text/x-python","patch_set":3,"id":"a580a778_2d1dbfce","line":179,"range":{"start_line":179,"start_character":15,"end_line":179,"end_character":21},"updated":"2022-09-20 22:25:50.000000000","message":"now we\u0027re returning different content than we used to, a scenario test fails with the following:\n\n2022-09-15 04:21:37.706189 | controller |     Traceback (most recent call last):\n2022-09-15 04:21:37.706204 | controller |\n2022-09-15 04:21:37.706219 | controller |       File \"/opt/stack/tempest/tempest/common/utils/__init__.py\", line 70, in wrapper\n2022-09-15 04:21:37.706516 | controller |     return f(*func_args, **func_kwargs)\n2022-09-15 04:21:37.706540 | controller |\n2022-09-15 04:21:37.706556 | controller |       File \"/opt/stack/tempest/tempest/scenario/test_network_basic_ops.py\", line 738, in test_preserve_preexisting_port\n2022-09-15 04:21:37.706583 | controller |     self._setup_network_and_servers(boot_with_port\u003dTrue)\n2022-09-15 04:21:37.706601 | controller |\n2022-09-15 04:21:37.706617 | controller |       File \"/opt/stack/tempest/tempest/scenario/test_network_basic_ops.py\", line 117, in _setup_network_and_servers\n2022-09-15 04:21:37.706632 | controller |     port_id \u003d self.create_port(self.network[\u0027id\u0027])[\u0027id\u0027]\n2022-09-15 04:21:37.706649 | controller |\n2022-09-15 04:21:37.706664 | controller |     KeyError: \u0027id\u0027\n\ne.g. in here:\nhttps://c9178d2ad9dba70ed8fa-b5927acd47e553a7f4b193a16b46c40a.ssl.cf1.rackcdn.com/857756/3/check/tempest-full-parallel/c877073/job-output.txt","commit_id":"14607ecfcca80e503928bf83d4c24249f5cacb75"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"85286987cc623ed5d5de15ff1703e7dfeb57f999","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                                     st\u003d\"DOWN\"))"},{"line_number":177,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":178,"context_line":"                        client.delete_port, port_id)"},{"line_number":179,"context_line":"        return result #Previously returned port, test this for consistency"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"},{"line_number":182,"context_line":"        \"\"\"Creates keypair"}],"source_content_type":"text/x-python","patch_set":3,"id":"d33d053e_4a7f15c8","line":179,"range":{"start_line":179,"start_character":15,"end_line":179,"end_character":21},"in_reply_to":"a580a778_2d1dbfce","updated":"2022-11-14 23:39:17.000000000","message":"Ack","commit_id":"14607ecfcca80e503928bf83d4c24249f5cacb75"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"09d595969c2730665be0e0808efe6a6f87f4669d","unresolved":true,"context_lines":[{"line_number":145,"context_line":"            - \u0027binding:vnic_type\u0027 - defaults to CONF.network.port_vnic_type"},{"line_number":146,"context_line":"            - \u0027binding:profile\u0027 - defaults to CONF.network.port_profile"},{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        if not client:"},{"line_number":150,"context_line":"            client \u003d self.ports_client"},{"line_number":151,"context_line":"        name \u003d data_utils.rand_name("}],"source_content_type":"text/x-python","patch_set":10,"id":"ad22e904_95803d73","line":148,"updated":"2022-11-16 08:52:20.000000000","message":"it\u0027s better to avoid unnecessary changes","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"22fc48b5be899b0ca33d7072e7e7c8397a1afcac","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            - \u0027binding:vnic_type\u0027 - defaults to CONF.network.port_vnic_type"},{"line_number":146,"context_line":"            - \u0027binding:profile\u0027 - defaults to CONF.network.port_profile"},{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        if not client:"},{"line_number":150,"context_line":"            client \u003d self.ports_client"},{"line_number":151,"context_line":"        name \u003d data_utils.rand_name("}],"source_content_type":"text/x-python","patch_set":10,"id":"488b75c2_c3b97a06","line":148,"in_reply_to":"ad22e904_95803d73","updated":"2022-11-18 02:36:15.000000000","message":"Ack","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"f99ca940eed12f1485c4962089852ef86ce16c91","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":164,"context_line":"                        client.delete_port, port_id)"},{"line_number":165,"context_line":"        port \u003d waiters.wait_for_port_status("},{"line_number":166,"context_line":"            client\u003dclient, port_id\u003dport_id, status\u003d\"DOWN\")"},{"line_number":167,"context_line":"        return port[\"port\"]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":14,"id":"b0fc5f3e_ee0fce9b","line":166,"range":{"start_line":166,"start_character":52,"end_line":166,"end_character":56},"updated":"2022-11-29 08:25:42.000000000","message":"shouldn\u0027t we wait until the port is ACTIVE?","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c8e83670188c83a80cd419e6fc6a2ed92ab1903","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":164,"context_line":"                        client.delete_port, port_id)"},{"line_number":165,"context_line":"        port \u003d waiters.wait_for_port_status("},{"line_number":166,"context_line":"            client\u003dclient, port_id\u003dport_id, status\u003d\"DOWN\")"},{"line_number":167,"context_line":"        return port[\"port\"]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":14,"id":"f7b007f9_39849d2d","line":166,"range":{"start_line":166,"start_character":52,"end_line":166,"end_character":56},"in_reply_to":"4c5952b4_75c2b12f","updated":"2022-12-02 19:34:25.000000000","message":"I was also wondering about the status. below is something I found in api-ref but yes, let\u0027s have some neutron folks to verify it.\n\nhttps://docs.openstack.org/api-ref/network/v2/?expanded\u003dcreate-port-detail,show-port-details-detail#ports\n-------------\nSupported data plane status values:\n\nnull: no status being reported; default value\n\nACTIVE: the underlying data plane is up and running\n\nDOWN: no traffic can flow from/to the port\n\n----------------","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"b19d17edeb2678b2e764647dde625957f14b6f8e","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":164,"context_line":"                        client.delete_port, port_id)"},{"line_number":165,"context_line":"        port \u003d waiters.wait_for_port_status("},{"line_number":166,"context_line":"            client\u003dclient, port_id\u003dport_id, status\u003d\"DOWN\")"},{"line_number":167,"context_line":"        return port[\"port\"]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":14,"id":"4c5952b4_75c2b12f","line":166,"range":{"start_line":166,"start_character":52,"end_line":166,"end_character":56},"in_reply_to":"b0fc5f3e_ee0fce9b","updated":"2022-11-29 15:11:57.000000000","message":"The port doesn\u0027t become active until it is attached to an instance IIRC\nIt will change from \"BUILD\" to \"DOWN\" when it is created, from \"DOWN\" to \"ACTIVE\" when attached. Maybe we can ask some Neutron folks?","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"451b048a0d78337e59affd5f42719233e9a94b96","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":164,"context_line":"                        client.delete_port, port_id)"},{"line_number":165,"context_line":"        port \u003d waiters.wait_for_port_status("},{"line_number":166,"context_line":"            client\u003dclient, port_id\u003dport_id, status\u003d\"DOWN\")"},{"line_number":167,"context_line":"        return port[\"port\"]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def create_keypair(self, client\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":14,"id":"a47e97c8_97b255b4","line":166,"range":{"start_line":166,"start_character":52,"end_line":166,"end_character":56},"in_reply_to":"f7b007f9_39849d2d","updated":"2022-12-20 19:06:39.000000000","message":"i tested this, after a port is created it remains in DOWN until it\u0027s connected to a VM ... so DOWN is the state we wanna wait for","commit_id":"bec2d4daa00f66681043d582fc32d2a7a819c337"}],"tempest/tests/common/test_waiters.py":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"09d595969c2730665be0e0808efe6a6f87f4669d","unresolved":true,"context_lines":[{"line_number":597,"context_line":"            \"\"\"Mock client response, replies with the final status after"},{"line_number":598,"context_line":"            3 calls"},{"line_number":599,"context_line":"            \"\"\""},{"line_number":600,"context_line":"            if mock_client.call_count \u003e\u003d 3:"},{"line_number":601,"context_line":"                return mock_port"},{"line_number":602,"context_line":"            else:"},{"line_number":603,"context_line":"                mock_client.call_count +\u003d 1"}],"source_content_type":"text/x-python","patch_set":10,"id":"9bb5b22b_8c265c5e","line":600,"range":{"start_line":600,"start_character":41,"end_line":600,"end_character":42},"updated":"2022-11-16 08:52:20.000000000","message":"maybe just 2? I\u0027m trying to keep the length of the unit tests at the minimum level","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"22fc48b5be899b0ca33d7072e7e7c8397a1afcac","unresolved":false,"context_lines":[{"line_number":597,"context_line":"            \"\"\"Mock client response, replies with the final status after"},{"line_number":598,"context_line":"            3 calls"},{"line_number":599,"context_line":"            \"\"\""},{"line_number":600,"context_line":"            if mock_client.call_count \u003e\u003d 3:"},{"line_number":601,"context_line":"                return mock_port"},{"line_number":602,"context_line":"            else:"},{"line_number":603,"context_line":"                mock_client.call_count +\u003d 1"}],"source_content_type":"text/x-python","patch_set":10,"id":"14e6468f_27b00858","line":600,"range":{"start_line":600,"start_character":41,"end_line":600,"end_character":42},"in_reply_to":"9bb5b22b_8c265c5e","updated":"2022-11-18 02:36:15.000000000","message":"Ack","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"09d595969c2730665be0e0808efe6a6f87f4669d","unresolved":true,"context_lines":[{"line_number":627,"context_line":"            show_port\u003dlambda id: mock_port)"},{"line_number":628,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":629,"context_line":"        fake_status \u003d \"ACTIVE\""},{"line_number":630,"context_line":"        fake_timeout \u003d 5"},{"line_number":631,"context_line":"        self.assertRaises("},{"line_number":632,"context_line":"            lib_exc.TimeoutException,"},{"line_number":633,"context_line":"            waiters.wait_for_port_status, mock_client, fake_port_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"f422057f_cd2481e8","line":630,"range":{"start_line":630,"start_character":23,"end_line":630,"end_character":24},"updated":"2022-11-16 08:52:20.000000000","message":"maybe better to decrease that to 2? it\u0027s quite unexpected that a unit test takes 5 seconds .. 2 should be enough, we\u0027ll still exercise one loop of waiting in the waiter","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"22fc48b5be899b0ca33d7072e7e7c8397a1afcac","unresolved":false,"context_lines":[{"line_number":627,"context_line":"            show_port\u003dlambda id: mock_port)"},{"line_number":628,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":629,"context_line":"        fake_status \u003d \"ACTIVE\""},{"line_number":630,"context_line":"        fake_timeout \u003d 5"},{"line_number":631,"context_line":"        self.assertRaises("},{"line_number":632,"context_line":"            lib_exc.TimeoutException,"},{"line_number":633,"context_line":"            waiters.wait_for_port_status, mock_client, fake_port_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"b1fd835f_4d1ef789","line":630,"range":{"start_line":630,"start_character":23,"end_line":630,"end_character":24},"in_reply_to":"f422057f_cd2481e8","updated":"2022-11-18 02:36:15.000000000","message":"Ack","commit_id":"52065f067cab54687b7b81059d2f2f56ce761b72"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":607,"context_line":"        mock_port_build \u003d {\u0027port\u0027: {\u0027id\u0027: \u00271234\u0027, \u0027status\u0027: \"BUILD\"}}"},{"line_number":608,"context_line":"        mock_client \u003d mock.Mock("},{"line_number":609,"context_line":"            spec\u003dports_client.PortsClient,"},{"line_number":610,"context_line":"            build_timeout\u003d1, build_interval\u003d1,"},{"line_number":611,"context_line":"            show_port\u003dclient_response)"},{"line_number":612,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""}],"source_content_type":"text/x-python","patch_set":11,"id":"880a63f8_329d9aa8","line":610,"range":{"start_line":610,"start_character":26,"end_line":610,"end_character":27},"updated":"2022-11-18 14:23:07.000000000","message":"let\u0027s set this to 30 so that we don\u0027t need to have fake_timeout below.","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        mock_port_build \u003d {\u0027port\u0027: {\u0027id\u0027: \u00271234\u0027, \u0027status\u0027: \"BUILD\"}}"},{"line_number":608,"context_line":"        mock_client \u003d mock.Mock("},{"line_number":609,"context_line":"            spec\u003dports_client.PortsClient,"},{"line_number":610,"context_line":"            build_timeout\u003d1, build_interval\u003d1,"},{"line_number":611,"context_line":"            show_port\u003dclient_response)"},{"line_number":612,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""}],"source_content_type":"text/x-python","patch_set":11,"id":"d4e684d9_5735ce23","line":610,"range":{"start_line":610,"start_character":26,"end_line":610,"end_character":27},"in_reply_to":"880a63f8_329d9aa8","updated":"2022-11-21 19:09:45.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":611,"context_line":"            show_port\u003dclient_response)"},{"line_number":612,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""},{"line_number":614,"context_line":"        fake_timeout \u003d 30"},{"line_number":615,"context_line":"        self.assertEqual(mock_port, waiters.wait_for_port_status("},{"line_number":616,"context_line":"            mock_client, fake_port_id, fake_status, fake_timeout))"},{"line_number":617,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"4cfd7834_d1a15077","line":614,"range":{"start_line":614,"start_character":0,"end_line":614,"end_character":4},"updated":"2022-11-18 14:23:07.000000000","message":"let\u0027s remove this as we don\u0027t need it anymore","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[{"line_number":611,"context_line":"            show_port\u003dclient_response)"},{"line_number":612,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""},{"line_number":614,"context_line":"        fake_timeout \u003d 30"},{"line_number":615,"context_line":"        self.assertEqual(mock_port, waiters.wait_for_port_status("},{"line_number":616,"context_line":"            mock_client, fake_port_id, fake_status, fake_timeout))"},{"line_number":617,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"65d97d38_3604ffd6","line":614,"range":{"start_line":614,"start_character":0,"end_line":614,"end_character":4},"in_reply_to":"4cfd7834_d1a15077","updated":"2022-11-21 19:09:45.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""},{"line_number":614,"context_line":"        fake_timeout \u003d 30"},{"line_number":615,"context_line":"        self.assertEqual(mock_port, waiters.wait_for_port_status("},{"line_number":616,"context_line":"            mock_client, fake_port_id, fake_status, fake_timeout))"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"    def test_wait_for_port_status_timeout(self):"},{"line_number":619,"context_line":"        \"\"\"Negative test - checking that a timeout"}],"source_content_type":"text/x-python","patch_set":11,"id":"d02a8d07_68501dc7","line":616,"range":{"start_line":616,"start_character":52,"end_line":616,"end_character":64},"updated":"2022-11-18 14:23:07.000000000","message":"this can be removed too as we\u0027re passing this value via the client now.","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[{"line_number":613,"context_line":"        fake_status \u003d \"DOWN\""},{"line_number":614,"context_line":"        fake_timeout \u003d 30"},{"line_number":615,"context_line":"        self.assertEqual(mock_port, waiters.wait_for_port_status("},{"line_number":616,"context_line":"            mock_client, fake_port_id, fake_status, fake_timeout))"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"    def test_wait_for_port_status_timeout(self):"},{"line_number":619,"context_line":"        \"\"\"Negative test - checking that a timeout"}],"source_content_type":"text/x-python","patch_set":11,"id":"836c9664_94a19d97","line":616,"range":{"start_line":616,"start_character":52,"end_line":616,"end_character":64},"in_reply_to":"d02a8d07_68501dc7","updated":"2022-11-21 19:09:45.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":623,"context_line":"        mock_port \u003d {\u0027port\u0027: {\u0027id\u0027: \u00271234\u0027, \u0027status\u0027: \"BUILD\"}}"},{"line_number":624,"context_line":"        mock_client \u003d mock.Mock("},{"line_number":625,"context_line":"            spec\u003dports_client.PortsClient,"},{"line_number":626,"context_line":"            build_timeout\u003d1, build_interval\u003d1,"},{"line_number":627,"context_line":"            show_port\u003dlambda id: mock_port)"},{"line_number":628,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":629,"context_line":"        fake_status \u003d \"ACTIVE\""}],"source_content_type":"text/x-python","patch_set":11,"id":"56e595ed_ef662b35","line":626,"range":{"start_line":626,"start_character":26,"end_line":626,"end_character":27},"updated":"2022-11-18 14:23:07.000000000","message":"let\u0027s set it to 2 and remove the fake_timeout below","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[{"line_number":623,"context_line":"        mock_port \u003d {\u0027port\u0027: {\u0027id\u0027: \u00271234\u0027, \u0027status\u0027: \"BUILD\"}}"},{"line_number":624,"context_line":"        mock_client \u003d mock.Mock("},{"line_number":625,"context_line":"            spec\u003dports_client.PortsClient,"},{"line_number":626,"context_line":"            build_timeout\u003d1, build_interval\u003d1,"},{"line_number":627,"context_line":"            show_port\u003dlambda id: mock_port)"},{"line_number":628,"context_line":"        fake_port_id \u003d \"1234\""},{"line_number":629,"context_line":"        fake_status \u003d \"ACTIVE\""}],"source_content_type":"text/x-python","patch_set":11,"id":"e63279a0_26a5b15c","line":626,"range":{"start_line":626,"start_character":26,"end_line":626,"end_character":27},"in_reply_to":"56e595ed_ef662b35","updated":"2022-11-21 19:09:45.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5aa6a0e477638f0bdb1ad51a593859ce6890c2b4","unresolved":true,"context_lines":[{"line_number":631,"context_line":"        self.assertRaises("},{"line_number":632,"context_line":"            lib_exc.TimeoutException,"},{"line_number":633,"context_line":"            waiters.wait_for_port_status, mock_client, fake_port_id,"},{"line_number":634,"context_line":"            fake_status, fake_timeout)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"class TestServerFloatingIPWaiters(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"a390150f_8bf22b27","line":634,"range":{"start_line":634,"start_character":25,"end_line":634,"end_character":37},"updated":"2022-11-18 14:23:07.000000000","message":"this won\u0027t be needed","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"},{"author":{"_account_id":31324,"name":"Eliad Cohen","email":"eliadcohen@gmail.com","username":"eliadcohen"},"change_message_id":"c182b453d44158c2886de9269eb412f9315ad97b","unresolved":false,"context_lines":[{"line_number":631,"context_line":"        self.assertRaises("},{"line_number":632,"context_line":"            lib_exc.TimeoutException,"},{"line_number":633,"context_line":"            waiters.wait_for_port_status, mock_client, fake_port_id,"},{"line_number":634,"context_line":"            fake_status, fake_timeout)"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"class TestServerFloatingIPWaiters(base.TestCase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"c3033412_17305881","line":634,"range":{"start_line":634,"start_character":25,"end_line":634,"end_character":37},"in_reply_to":"a390150f_8bf22b27","updated":"2022-11-21 19:09:45.000000000","message":"Ack","commit_id":"e0c4723d8bc169280381210bd05ae3e63fc78527"}]}
