)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7b375f6e65d5ad5e3a1abb386a233bffa006c744","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-20 06:08:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add fucntional tests for new add-location API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"TODO: test for add location for multibackend"},{"line_number":10,"context_line":"Change-Id: If94d7d1fbec07a49222b65aa3e530748a95eaf5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d40d0788_c223467b","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":14},"updated":"2023-07-27 14:24:38.000000000","message":"\"functional\"","commit_id":"cda9727da626dc2b3543a86b11c6d45aef5b54e7"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"8540a755e147324e8ff3d86ded933d4cd07f96a4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-07-20 06:08:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add fucntional tests for new add-location API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"TODO: test for add location for multibackend"},{"line_number":10,"context_line":"Change-Id: If94d7d1fbec07a49222b65aa3e530748a95eaf5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"177f6fcb_3a9e7d9f","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":14},"in_reply_to":"d40d0788_c223467b","updated":"2023-08-02 14:13:51.000000000","message":"Done","commit_id":"cda9727da626dc2b3543a86b11c6d45aef5b54e7"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ae9f7170f9e017ec23247d1794a18c758d0fb7c1","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2023-08-18 09:30:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add functional tests for new add-location API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If94d7d1fbec07a49222b65aa3e530748a95eaf5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9f65aa96_cd8a0b6b","line":8,"updated":"2023-08-21 06:24:18.000000000","message":"related blueprint tag","commit_id":"f7bf6556711afe94404c6c057952230e9a40623b"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34bd850a033e495f26a51dffbac7b87c88fd57e5","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2023-08-18 09:30:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add functional tests for new add-location API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If94d7d1fbec07a49222b65aa3e530748a95eaf5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"14e78631_9f92c2d6","line":8,"in_reply_to":"9f65aa96_cd8a0b6b","updated":"2023-08-28 05:45:27.000000000","message":"Done","commit_id":"f7bf6556711afe94404c6c057952230e9a40623b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e716a5102a3b6dc20009c15409d1496c40cafce3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ce2651ae_de15a555","updated":"2023-08-04 07:54:47.000000000","message":"do we miss a test where state transition is confirmed like\nqueued -- importing -- active\nqueued -- importing -- queued\n\nCalculation fails even after retries","commit_id":"a67a6ffb0380b959820013214268da0adcf47454"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34bd850a033e495f26a51dffbac7b87c88fd57e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"686e76b2_5e3fd1b7","updated":"2023-08-28 05:45:27.000000000","message":"recheck","commit_id":"69dc382c2a14b8aabad53ea15a4c389825d6b8e0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"25c8c7451e1d0d819f413a831ab98de3a58e1563","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"8ab49c07_d25fe4ea","updated":"2023-08-30 15:49:29.000000000","message":"Need to have more closer look, maybe a lot of code can be eliminated.","commit_id":"66c17ab5542d31593435868deb3d8bace36f1201"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"292d9453bf685e6cacc29e6baf23821c5364b87f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"2adcd119_839e0024","updated":"2023-11-01 14:18:29.000000000","message":"recheck timeout on add location api test while image status transition to \u0027importing\u0027","commit_id":"c85b0b28f2ba2c0a36265ffba23769e0e68f93ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"74e3733eada0939d96a3d97c996250a0d59ee9a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"cbb37c29_e1507374","updated":"2024-01-03 11:38:49.000000000","message":"recheck","commit_id":"65c1b260ae02ea034e1b48a49421a22ccc0ccbb4"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"6183c498a1ed420ee23050e38ddc72188f960eff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"81c160cd_9fa4bd38","updated":"2024-01-22 13:11:33.000000000","message":"recheck timeout on add location api test while image status transition to \u0027importing\u0027","commit_id":"5a8bde61544de768839e7d7595cbc6f285e6cb25"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"f085fe94b848475ba63e2fcfcb929eebb3bb2407","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"7a92f790_d7a857b5","updated":"2024-02-20 11:34:09.000000000","message":"recheck timeout on add location api test while image status transition to \u0027importing\u0027","commit_id":"29a22de838f152ef5916ebaa91fca7347bc2e273"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c4d0d305da6f8ef3036f556d3024b2fc3b1b52e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"5011baf3_9474e1f8","updated":"2024-02-26 14:20:12.000000000","message":"recheck since fips job is non-voting now!","commit_id":"39c5a11d934d38504025cbfaf4419a8b19bc2971"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"91c5bb7e48c7fb3c2d91e7c0279dfcea57ecbcb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"b93ad78c_c6ac3289","updated":"2024-02-28 07:06:16.000000000","message":"recheck timeout on add location api test while image status transition","commit_id":"61bb93d9a359eb58fb9d9a9cec370e5269f29219"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"86af1772ebc9b3a10af48e4bd615aee445eb35f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":46,"id":"d0d70288_373386ff","updated":"2024-02-28 10:29:37.000000000","message":"I am hoping that we will have a follow-up patch for improvements and not let this hanging as it is.","commit_id":"a22df7f3863d068d55a836042731229f8f74c2ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"804540cc3c413ee50b3e1dbc25189bccce1f6576","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":46,"id":"6df3a87f_7589f9c2","in_reply_to":"d0d70288_373386ff","updated":"2024-02-28 11:15:45.000000000","message":"Sure I will cover it up in the follow-up patch soon. Thanks for your review!","commit_id":"a22df7f3863d068d55a836042731229f8f74c2ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"dcbd3d818fbc33abcb3cfa6718652a506a2a768e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":60,"id":"c07d6ade_827e255a","updated":"2024-06-07 06:37:44.000000000","message":"recheck openstacksdk-functional-devstack - test_volume_attachment: bad request due to volume not in correct status","commit_id":"c6ba6192077e7f8857b88a50bf8b191d0911f69d"}],"glance/tests/functional/__init__.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"30379a24795676242b97268f3a36045fe8300d5c","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        self.deployment_flavor \u003d \u0027\u0027"},{"line_number":100,"context_line":"        self.show_image_direct_url \u003d False"},{"line_number":101,"context_line":"        self.show_multiple_locations \u003d False"},{"line_number":102,"context_line":"        self.do_secure_hash \u003d True"},{"line_number":103,"context_line":"        self.property_protection_file \u003d \u0027\u0027"},{"line_number":104,"context_line":"        self.needs_database \u003d False"},{"line_number":105,"context_line":"        self.log_file \u003d None"}],"source_content_type":"text/x-python","patch_set":16,"id":"9aff7b83_8c7e2a44","line":102,"updated":"2023-08-28 15:23:36.000000000","message":"don\u0027t we need to set http_retries?","commit_id":"53cee05c07a4cf909694b681e5caee0dc7414d22"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b28bb4a1ac8b89dac4ae983987c3e51fbacb4f00","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        self.deployment_flavor \u003d \u0027\u0027"},{"line_number":100,"context_line":"        self.show_image_direct_url \u003d False"},{"line_number":101,"context_line":"        self.show_multiple_locations \u003d False"},{"line_number":102,"context_line":"        self.do_secure_hash \u003d True"},{"line_number":103,"context_line":"        self.property_protection_file \u003d \u0027\u0027"},{"line_number":104,"context_line":"        self.needs_database \u003d False"},{"line_number":105,"context_line":"        self.log_file \u003d None"}],"source_content_type":"text/x-python","patch_set":16,"id":"2ac7f1eb_d078787f","line":102,"in_reply_to":"9aff7b83_8c7e2a44","updated":"2023-08-29 09:07:18.000000000","message":"Done","commit_id":"53cee05c07a4cf909694b681e5caee0dc7414d22"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"648b76feacbacb036dfb67c3aae8955cbe458956","unresolved":true,"context_lines":[{"line_number":439,"context_line":"image_cache_driver \u003d %(image_cache_driver)s"},{"line_number":440,"context_line":"show_image_direct_url \u003d %(show_image_direct_url)s"},{"line_number":441,"context_line":"show_multiple_locations \u003d %(show_multiple_locations)s"},{"line_number":442,"context_line":"do_secure_hash \u003d %(do_secure_hash)s"},{"line_number":443,"context_line":"user_storage_quota \u003d %(user_storage_quota)s"},{"line_number":444,"context_line":"lock_path \u003d %(lock_path)s"},{"line_number":445,"context_line":"property_protection_file \u003d %(property_protection_file)s"}],"source_content_type":"text/x-python","patch_set":62,"id":"44854f7b_757c5fa9","line":442,"updated":"2024-07-15 07:07:33.000000000","message":"any reason why not doing same for http_retries?","commit_id":"8e1b2a1a2cce3b17418dd35aa8bcf0ed72c3c49d"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"86b085d273540b12796256f3d9fb23ff52be59b8","unresolved":false,"context_lines":[{"line_number":439,"context_line":"image_cache_driver \u003d %(image_cache_driver)s"},{"line_number":440,"context_line":"show_image_direct_url \u003d %(show_image_direct_url)s"},{"line_number":441,"context_line":"show_multiple_locations \u003d %(show_multiple_locations)s"},{"line_number":442,"context_line":"do_secure_hash \u003d %(do_secure_hash)s"},{"line_number":443,"context_line":"user_storage_quota \u003d %(user_storage_quota)s"},{"line_number":444,"context_line":"lock_path \u003d %(lock_path)s"},{"line_number":445,"context_line":"property_protection_file \u003d %(property_protection_file)s"}],"source_content_type":"text/x-python","patch_set":62,"id":"18c80cd2_de74304e","line":442,"in_reply_to":"44854f7b_757c5fa9","updated":"2024-07-16 10:55:52.000000000","message":"Done","commit_id":"8e1b2a1a2cce3b17418dd35aa8bcf0ed72c3c49d"}],"glance/tests/functional/ft_utils.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e716a5102a3b6dc20009c15409d1496c40cafce3","unresolved":true,"context_lines":[{"line_number":181,"context_line":"    :param delay_sec: seconds to sleep before the next request is"},{"line_number":182,"context_line":"                      made (default: 0.2)"},{"line_number":183,"context_line":"    :param start_delay_sec: seconds to wait before making the first"},{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    \"\"\""},{"line_number":186,"context_line":"    if multistore:"},{"line_number":187,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"2a88d3d6_ad32fcae","line":184,"updated":"2023-08-04 07:54:47.000000000","message":"doc string for multistore?","commit_id":"a67a6ffb0380b959820013214268da0adcf47454"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"d5dd763c5c811057352b79d17140344e77312134","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    :param delay_sec: seconds to sleep before the next request is"},{"line_number":182,"context_line":"                      made (default: 0.2)"},{"line_number":183,"context_line":"    :param start_delay_sec: seconds to wait before making the first"},{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    \"\"\""},{"line_number":186,"context_line":"    if multistore:"},{"line_number":187,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"c23a4e03_05f75c76","line":184,"in_reply_to":"2a88d3d6_ad32fcae","updated":"2023-08-09 11:17:00.000000000","message":"Done","commit_id":"a67a6ffb0380b959820013214268da0adcf47454"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e716a5102a3b6dc20009c15409d1496c40cafce3","unresolved":true,"context_lines":[{"line_number":191,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":192,"context_line":"    if start_delay_sec:"},{"line_number":193,"context_line":"        time.sleep(start_delay_sec)"},{"line_number":194,"context_line":"    while time.time() \u003c\u003d done_time:"},{"line_number":195,"context_line":"        if multistore:"},{"line_number":196,"context_line":"            resp \u003d test_obj.api_get(path, headers\u003dtest_obj._headers())"},{"line_number":197,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"35d15b85_96df2764","line":194,"updated":"2023-08-04 07:54:47.000000000","message":"question: Shouldn\u0027t we break this as soon as we know hash calculation is done or its worth to wait for 10 sec?","commit_id":"a67a6ffb0380b959820013214268da0adcf47454"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"d5dd763c5c811057352b79d17140344e77312134","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":192,"context_line":"    if start_delay_sec:"},{"line_number":193,"context_line":"        time.sleep(start_delay_sec)"},{"line_number":194,"context_line":"    while time.time() \u003c\u003d done_time:"},{"line_number":195,"context_line":"        if multistore:"},{"line_number":196,"context_line":"            resp \u003d test_obj.api_get(path, headers\u003dtest_obj._headers())"},{"line_number":197,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"0368e25b_3360ac7e","line":194,"in_reply_to":"35d15b85_96df2764","updated":"2023-08-09 11:17:00.000000000","message":"Done","commit_id":"a67a6ffb0380b959820013214268da0adcf47454"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"bc5fdbd3e9b095403a3b8c1237a1d75b5b7bc392","unresolved":true,"context_lines":[{"line_number":207,"context_line":"            test_obj.assertEqual(os_hash_value, image[\u0027os_hash_value\u0027])"},{"line_number":208,"context_line":"            test_obj.assertEqual(str(os_hash_algo), image[\u0027os_hash_algo\u0027])"},{"line_number":209,"context_line":"        test_obj.assertEqual(status, image[\u0027status\u0027])"},{"line_number":210,"context_line":"        if image[\u0027checksum\u0027] and (image[\u0027status\u0027] \u003d\u003d \u0027active\u0027):"},{"line_number":211,"context_line":"            return"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        time.sleep(delay_sec)"}],"source_content_type":"text/x-python","patch_set":11,"id":"c63175c5_2c3ae56b","line":210,"range":{"start_line":210,"start_character":29,"end_line":210,"end_character":32},"updated":"2023-08-17 18:47:52.000000000","message":"I think you could drop the parenthesis if you need another patchset.","commit_id":"829b0bf6d113e61a2fa0af3eed43db9bd1c4700e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c229922f374f0e867d96f79ef094c53b334be19c","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            test_obj.assertEqual(os_hash_value, image[\u0027os_hash_value\u0027])"},{"line_number":208,"context_line":"            test_obj.assertEqual(str(os_hash_algo), image[\u0027os_hash_algo\u0027])"},{"line_number":209,"context_line":"        test_obj.assertEqual(status, image[\u0027status\u0027])"},{"line_number":210,"context_line":"        if image[\u0027checksum\u0027] and (image[\u0027status\u0027] \u003d\u003d \u0027active\u0027):"},{"line_number":211,"context_line":"            return"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        time.sleep(delay_sec)"}],"source_content_type":"text/x-python","patch_set":11,"id":"dea2404b_4674c46a","line":210,"range":{"start_line":210,"start_character":29,"end_line":210,"end_character":32},"in_reply_to":"c63175c5_2c3ae56b","updated":"2023-10-31 09:28:11.000000000","message":"Done","commit_id":"829b0bf6d113e61a2fa0af3eed43db9bd1c4700e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f52e43816a6f5995c37aab8a628f924254d675a2","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"11cac37b_b42dfff7","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"updated":"2024-01-30 07:21:39.000000000","message":"I think this method is pretty much complex. IMO assertion should be done in test itself. Most of the code is duplicated from wait_for_status and I think similar to that request_path and headers should be passed from test rather than calling from here.","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"217f93c8fc254c937b0b1885423271df06667d7b","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"26f843cc_4411b0a7","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"in_reply_to":"11cac37b_b42dfff7","updated":"2024-01-30 07:28:02.000000000","message":"I think it also has code from verify_image_hashes_and_status","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"52b5ddbb4c95d50ddd09338bd326fa7d1f1a52e5","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"f25d0bab_17d09424","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"in_reply_to":"26f843cc_4411b0a7","updated":"2024-02-07 06:51:36.000000000","message":"Yeah, I have moved the assertion part in the test but since this method is used for both single and multistore tests, this needs the test_obj here for api_get() call for multistore tests. so if i use the existing method wait_for_status() I will have to make changes in other existing tests as well while calling this method. So keeping it separate atm, we can modify it later in separate refactoring patch ?","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3d2aa5dbf18a528b3b4a831be5202a284b0d8f1e","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"fc27ac20_411dbb62","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"in_reply_to":"780d7c57_2b78c27b","updated":"2024-02-22 07:44:54.000000000","message":"I think instead of modifying verify_image_hashes_and_status, wait_for_status() is the right place since in wait_for_image_status() i\u0027m verifying status only.","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"65b5eab2c2fbdb4d59cd140cb38deeb54e758627","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"780d7c57_2b78c27b","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"in_reply_to":"f25d0bab_17d09424","updated":"2024-02-21 14:32:03.000000000","message":"It will be better if we do it now","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"38fac776f5cd73990bf53b1aac9416a600b87d04","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                            request (default: None)"},{"line_number":185,"context_line":"    :multistore: Optional flag if multiple backends enabled"},{"line_number":186,"context_line":"    \"\"\""},{"line_number":187,"context_line":"    if multistore:"},{"line_number":188,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":189,"context_line":"    else:"},{"line_number":190,"context_line":"        path \u003d test_obj._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":191,"context_line":"    start_time \u003d time.time()"},{"line_number":192,"context_line":"    done_time \u003d start_time + max_sec"},{"line_number":193,"context_line":"    if start_delay_sec:"}],"source_content_type":"text/x-python","patch_set":34,"id":"282fd8b0_abe541f2","line":190,"range":{"start_line":187,"start_character":4,"end_line":190,"end_character":56},"in_reply_to":"fc27ac20_411dbb62","updated":"2024-04-18 12:05:23.000000000","message":"Done","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"65b5eab2c2fbdb4d59cd140cb38deeb54e758627","unresolved":true,"context_lines":[{"line_number":196,"context_line":"            raise Exception(\"Received {} response from server\".format("},{"line_number":197,"context_line":"                resp.status_code))"},{"line_number":198,"context_line":"            test_obj.assertEqual(http.OK, resp.status_code)"},{"line_number":199,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":200,"context_line":"        if image[\u0027checksum\u0027] and image[\u0027status\u0027] \u003d\u003d \u0027active\u0027:"},{"line_number":201,"context_line":"            return"},{"line_number":202,"context_line":"        if status \u003d\u003d image[\u0027status\u0027]:"}],"source_content_type":"text/x-python","patch_set":38,"id":"dbcd5f79_0a18703f","line":199,"updated":"2024-02-21 14:32:03.000000000","message":"I think after this line, you should log current image state which will help in debugging the failure.","commit_id":"b3097fb11f322ba37c55f677af4265140083afe6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3d2aa5dbf18a528b3b4a831be5202a284b0d8f1e","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            raise Exception(\"Received {} response from server\".format("},{"line_number":197,"context_line":"                resp.status_code))"},{"line_number":198,"context_line":"            test_obj.assertEqual(http.OK, resp.status_code)"},{"line_number":199,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":200,"context_line":"        if image[\u0027checksum\u0027] and image[\u0027status\u0027] \u003d\u003d \u0027active\u0027:"},{"line_number":201,"context_line":"            return"},{"line_number":202,"context_line":"        if status \u003d\u003d image[\u0027status\u0027]:"}],"source_content_type":"text/x-python","patch_set":38,"id":"7426d3da_05de88d2","line":199,"in_reply_to":"dbcd5f79_0a18703f","updated":"2024-02-22 07:44:54.000000000","message":"Done","commit_id":"b3097fb11f322ba37c55f677af4265140083afe6"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"3a12fbd6dee40332d6323153a3166a93c7f1b154","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def wait_for_status(test_obj, request_path, request_headers,"},{"line_number":55,"context_line":"                    status\u003dNone, max_sec\u003d10, delay_sec\u003d0.2,"},{"line_number":56,"context_line":"                    start_delay_sec\u003dNone, multistore\u003dFalse):"},{"line_number":57,"context_line":"    \"\"\""},{"line_number":58,"context_line":"    Performs a time-bounded wait for the entity at the request_path to"},{"line_number":59,"context_line":"    reach the requested status."}],"source_content_type":"text/x-python","patch_set":61,"id":"cc565533_b096e934","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":27},"updated":"2024-06-18 16:51:53.000000000","message":"If we\u0027re always going to pass \"self\" as \"test_obj\", shouldn\u0027t this method become part of the base class for our tests?","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def wait_for_status(test_obj, request_path, request_headers,"},{"line_number":55,"context_line":"                    status\u003dNone, max_sec\u003d10, delay_sec\u003d0.2,"},{"line_number":56,"context_line":"                    start_delay_sec\u003dNone, multistore\u003dFalse):"},{"line_number":57,"context_line":"    \"\"\""},{"line_number":58,"context_line":"    Performs a time-bounded wait for the entity at the request_path to"},{"line_number":59,"context_line":"    reach the requested status."}],"source_content_type":"text/x-python","patch_set":61,"id":"8e1c2d3a_9fa46ac9","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":27},"in_reply_to":"08e5a4a5_c2c30865","updated":"2024-07-18 05:40:11.000000000","message":"Then you can have different methods for Single store and Multistore in respective class","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"357de87780415a101a06326e0e8224858d3f2472","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def wait_for_status(test_obj, request_path, request_headers,"},{"line_number":55,"context_line":"                    status\u003dNone, max_sec\u003d10, delay_sec\u003d0.2,"},{"line_number":56,"context_line":"                    start_delay_sec\u003dNone, multistore\u003dFalse):"},{"line_number":57,"context_line":"    \"\"\""},{"line_number":58,"context_line":"    Performs a time-bounded wait for the entity at the request_path to"},{"line_number":59,"context_line":"    reach the requested status."}],"source_content_type":"text/x-python","patch_set":61,"id":"36deaf3a_e179cad7","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":27},"in_reply_to":"8e1c2d3a_9fa46ac9","updated":"2024-07-25 06:58:05.000000000","message":"Ok, in verify_image_hashes_and_status() as well we are passing test_obj.\nI will try to cover this up in follow up patch.","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"8dd9d1e829aba432dd7ff2a16386fcfbc030c88c","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def wait_for_status(test_obj, request_path, request_headers,"},{"line_number":55,"context_line":"                    status\u003dNone, max_sec\u003d10, delay_sec\u003d0.2,"},{"line_number":56,"context_line":"                    start_delay_sec\u003dNone, multistore\u003dFalse):"},{"line_number":57,"context_line":"    \"\"\""},{"line_number":58,"context_line":"    Performs a time-bounded wait for the entity at the request_path to"},{"line_number":59,"context_line":"    reach the requested status."}],"source_content_type":"text/x-python","patch_set":61,"id":"08e5a4a5_c2c30865","line":56,"range":{"start_line":56,"start_character":26,"end_line":56,"end_character":27},"in_reply_to":"cc565533_b096e934","updated":"2024-06-28 12:48:44.000000000","message":"Base class for multistore and single store tests are different. I have to pass this specially for multistore tests.","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"3a12fbd6dee40332d6323153a3166a93c7f1b154","unresolved":true,"context_lines":[{"line_number":85,"context_line":"        if resp.status_code !\u003d http.OK:"},{"line_number":86,"context_line":"            raise Exception(\"Received {} response from server\".format("},{"line_number":87,"context_line":"                resp.status_code))"},{"line_number":88,"context_line":"            test_obj.assertEqual(http.OK, resp.status_code)"},{"line_number":89,"context_line":"        entity \u003d jsonutils.loads(resp.text)"},{"line_number":90,"context_line":"        LOG.info(\u0027Image status is: %s\u0027, entity[\u0027status\u0027])"},{"line_number":91,"context_line":"        if entity[\u0027checksum\u0027] and entity[\u0027status\u0027] \u003d\u003d \u0027active\u0027:"}],"source_content_type":"text/x-python","patch_set":61,"id":"174fb430_b44a34af","line":88,"range":{"start_line":88,"start_character":21,"end_line":88,"end_character":32},"updated":"2024-06-18 16:51:53.000000000","message":"We\u0027ve just raised an exception, we cannot get to this statement, can we?","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1127e3eee27164107613701f66b863aa88a7690e","unresolved":true,"context_lines":[{"line_number":85,"context_line":"        if resp.status_code !\u003d http.OK:"},{"line_number":86,"context_line":"            raise Exception(\"Received {} response from server\".format("},{"line_number":87,"context_line":"                resp.status_code))"},{"line_number":88,"context_line":"            test_obj.assertEqual(http.OK, resp.status_code)"},{"line_number":89,"context_line":"        entity \u003d jsonutils.loads(resp.text)"},{"line_number":90,"context_line":"        LOG.info(\u0027Image status is: %s\u0027, entity[\u0027status\u0027])"},{"line_number":91,"context_line":"        if entity[\u0027checksum\u0027] and entity[\u0027status\u0027] \u003d\u003d \u0027active\u0027:"}],"source_content_type":"text/x-python","patch_set":61,"id":"1dd95f64_a9076994","line":88,"range":{"start_line":88,"start_character":21,"end_line":88,"end_character":32},"in_reply_to":"174fb430_b44a34af","updated":"2024-06-27 05:34:05.000000000","message":"good catch","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"8dd9d1e829aba432dd7ff2a16386fcfbc030c88c","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if resp.status_code !\u003d http.OK:"},{"line_number":86,"context_line":"            raise Exception(\"Received {} response from server\".format("},{"line_number":87,"context_line":"                resp.status_code))"},{"line_number":88,"context_line":"            test_obj.assertEqual(http.OK, resp.status_code)"},{"line_number":89,"context_line":"        entity \u003d jsonutils.loads(resp.text)"},{"line_number":90,"context_line":"        LOG.info(\u0027Image status is: %s\u0027, entity[\u0027status\u0027])"},{"line_number":91,"context_line":"        if entity[\u0027checksum\u0027] and entity[\u0027status\u0027] \u003d\u003d \u0027active\u0027:"}],"source_content_type":"text/x-python","patch_set":61,"id":"975ab9ef_a3364fe9","line":88,"range":{"start_line":88,"start_character":21,"end_line":88,"end_character":32},"in_reply_to":"1dd95f64_a9076994","updated":"2024-06-28 12:48:44.000000000","message":"Done","commit_id":"a699d707deac16f0459024e2eb5680431ca7c43d"}],"glance/tests/functional/v2/test_images.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f2592f22ec64fcb0d0bc74e1e04dd92f342b4028","unresolved":true,"context_lines":[{"line_number":3746,"context_line":"        with requests.get(url) as r:"},{"line_number":3747,"context_line":"            expect_c \u003d str(md5(r.content, usedforsecurity\u003dFalse).hexdigest())"},{"line_number":3748,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":3749,"context_line":"        validation_data \u003d {\u0027checksum\u0027: expect_c, \u0027os_hash_value\u0027: expect_h}"},{"line_number":3750,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url,"},{"line_number":3751,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3752,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"}],"source_content_type":"text/x-python","patch_set":15,"id":"6789bc09_411bce31","line":3749,"updated":"2023-08-28 06:25:37.000000000","message":"ditto","commit_id":"69dc382c2a14b8aabad53ea15a4c389825d6b8e0"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"803fc569ad51fd0aade564539802f28034ab4af6","unresolved":false,"context_lines":[{"line_number":3746,"context_line":"        with requests.get(url) as r:"},{"line_number":3747,"context_line":"            expect_c \u003d str(md5(r.content, usedforsecurity\u003dFalse).hexdigest())"},{"line_number":3748,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":3749,"context_line":"        validation_data \u003d {\u0027checksum\u0027: expect_c, \u0027os_hash_value\u0027: expect_h}"},{"line_number":3750,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url,"},{"line_number":3751,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3752,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"}],"source_content_type":"text/x-python","patch_set":15,"id":"0d86e1ec_30005524","line":3749,"in_reply_to":"6789bc09_411bce31","updated":"2023-08-28 14:36:20.000000000","message":"Done","commit_id":"69dc382c2a14b8aabad53ea15a4c389825d6b8e0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f2592f22ec64fcb0d0bc74e1e04dd92f342b4028","unresolved":true,"context_lines":[{"line_number":7701,"context_line":"        with requests.get(url) as r:"},{"line_number":7702,"context_line":"            expect_c \u003d str(md5(r.content, usedforsecurity\u003dFalse).hexdigest())"},{"line_number":7703,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":7704,"context_line":"        validation_data \u003d {\u0027checksum\u0027: expect_c, \u0027os_hash_value\u0027: expect_h}"},{"line_number":7705,"context_line":"        data \u003d {\u0027url\u0027: url, \u0027validation_data\u0027: validation_data}"},{"line_number":7706,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7707,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"}],"source_content_type":"text/x-python","patch_set":15,"id":"4a5acfa4_0a8609e9","line":7704,"updated":"2023-08-28 06:25:37.000000000","message":"As per your comment on client patch [1], I think these kind of tests are invalid now \n\n[1] https://review.opendev.org/c/openstack/python-glanceclient/+/890634/comment/d660b414_ae3d286b/","commit_id":"69dc382c2a14b8aabad53ea15a4c389825d6b8e0"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b28bb4a1ac8b89dac4ae983987c3e51fbacb4f00","unresolved":false,"context_lines":[{"line_number":7701,"context_line":"        with requests.get(url) as r:"},{"line_number":7702,"context_line":"            expect_c \u003d str(md5(r.content, usedforsecurity\u003dFalse).hexdigest())"},{"line_number":7703,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":7704,"context_line":"        validation_data \u003d {\u0027checksum\u0027: expect_c, \u0027os_hash_value\u0027: expect_h}"},{"line_number":7705,"context_line":"        data \u003d {\u0027url\u0027: url, \u0027validation_data\u0027: validation_data}"},{"line_number":7706,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7707,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"}],"source_content_type":"text/x-python","patch_set":15,"id":"a16d0f20_a4a1055b","line":7704,"in_reply_to":"4a5acfa4_0a8609e9","updated":"2023-08-29 09:07:18.000000000","message":"Done","commit_id":"69dc382c2a14b8aabad53ea15a4c389825d6b8e0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"30379a24795676242b97268f3a36045fe8300d5c","unresolved":true,"context_lines":[{"line_number":3720,"context_line":"        # Add Location with non image owner"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3722,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT2,"},{"line_number":3723,"context_line":"                                 \u0027X-Roles\u0027: \u0027service\u0027})"},{"line_number":3724,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/foo_image\u0027 % self.http_port0"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url})"}],"source_content_type":"text/x-python","patch_set":16,"id":"a8b7e809_16306e19","line":3723,"range":{"start_line":3723,"start_character":45,"end_line":3723,"end_character":52},"updated":"2023-08-28 15:23:36.000000000","message":"I am confused with this scenario, this is for add_location policy check where policy is role:service or image owner, so how it is returning NOTFOUND is question unless it is returning it before policy check for add location while getting image.\n\ni think you should use member role here, otherwise with service role we allow to add location, right.","commit_id":"53cee05c07a4cf909694b681e5caee0dc7414d22"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b28bb4a1ac8b89dac4ae983987c3e51fbacb4f00","unresolved":false,"context_lines":[{"line_number":3720,"context_line":"        # Add Location with non image owner"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3722,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT2,"},{"line_number":3723,"context_line":"                                 \u0027X-Roles\u0027: \u0027service\u0027})"},{"line_number":3724,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/foo_image\u0027 % self.http_port0"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url})"}],"source_content_type":"text/x-python","patch_set":16,"id":"02b98069_400c20ab","line":3723,"range":{"start_line":3723,"start_character":45,"end_line":3723,"end_character":52},"in_reply_to":"a8b7e809_16306e19","updated":"2023-08-29 09:07:18.000000000","message":"Done","commit_id":"53cee05c07a4cf909694b681e5caee0dc7414d22"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ef48f74f6249528232c34c1c0e6351661e23839c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":18,"id":"c99e0d76_4083f9f8","line":7887,"updated":"2023-08-29 17:12:06.000000000","message":"Just curious,\n\nAny reason, for single store you have added 2 tests with do_secure true and other with false and for Multistore everything is in one test","commit_id":"d0d9f28b5fbd5f79fa82fc0b565ce62fad344e85"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c229922f374f0e867d96f79ef094c53b334be19c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"45b7a057_2b338ce1","line":7887,"in_reply_to":"bc360c9e_a9490e21","updated":"2023-10-31 09:28:11.000000000","message":"Done","commit_id":"d0d9f28b5fbd5f79fa82fc0b565ce62fad344e85"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7ff0ccfdc4b1eb2b50907f19437ee48c74137083","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":18,"id":"bc360c9e_a9490e21","line":7887,"in_reply_to":"c99e0d76_4083f9f8","updated":"2023-08-30 10:43:14.000000000","message":"sorry I missed to add it, added it now above this test.","commit_id":"d0d9f28b5fbd5f79fa82fc0b565ce62fad344e85"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f52e43816a6f5995c37aab8a628f924254d675a2","unresolved":true,"context_lines":[{"line_number":3699,"context_line":"        response \u003d requests.patch(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3700,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":3701,"context_line":""},{"line_number":3702,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":3703,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"}],"source_content_type":"text/x-python","patch_set":34,"id":"bdf559a3_d08d095e","line":3702,"updated":"2024-01-30 07:21:39.000000000","message":"I think its better to break this test in more tests by picking up negative scenarios in separate tests.","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"52b5ddbb4c95d50ddd09338bd326fa7d1f1a52e5","unresolved":false,"context_lines":[{"line_number":3699,"context_line":"        response \u003d requests.patch(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3700,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":3701,"context_line":""},{"line_number":3702,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":3703,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"}],"source_content_type":"text/x-python","patch_set":34,"id":"b2385263_bb6e26d5","line":3702,"in_reply_to":"bdf559a3_d08d095e","updated":"2024-02-07 06:51:36.000000000","message":"Done","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f52e43816a6f5995c37aab8a628f924254d675a2","unresolved":true,"context_lines":[{"line_number":3714,"context_line":"        image \u003d jsonutils.loads(response.text)"},{"line_number":3715,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3716,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3717,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3718,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3719,"context_line":""},{"line_number":3720,"context_line":"        # Add Location with non image owner"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"}],"source_content_type":"text/x-python","patch_set":34,"id":"b103d086_f0599c97","line":3718,"range":{"start_line":3717,"start_character":8,"end_line":3718,"end_character":48},"updated":"2024-01-30 07:21:39.000000000","message":"not sure we should assert it or not","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"52b5ddbb4c95d50ddd09338bd326fa7d1f1a52e5","unresolved":false,"context_lines":[{"line_number":3714,"context_line":"        image \u003d jsonutils.loads(response.text)"},{"line_number":3715,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3716,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3717,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3718,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3719,"context_line":""},{"line_number":3720,"context_line":"        # Add Location with non image owner"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"}],"source_content_type":"text/x-python","patch_set":34,"id":"dbb78330_2527311e","line":3718,"range":{"start_line":3717,"start_character":8,"end_line":3718,"end_character":48},"in_reply_to":"b103d086_f0599c97","updated":"2024-02-07 06:51:36.000000000","message":"Done","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f52e43816a6f5995c37aab8a628f924254d675a2","unresolved":true,"context_lines":[{"line_number":3781,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3782,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3783,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3784,"context_line":"        func_utils.wait_for_image_status(self, image_id,"},{"line_number":3785,"context_line":"                                         checksum\u003dexpect_c,"},{"line_number":3786,"context_line":"                                         os_hash_value\u003dexpect_h,"},{"line_number":3787,"context_line":"                                         os_hash_algo\u003d\u0027sha256\u0027,"},{"line_number":3788,"context_line":"                                         status\u003d\u0027active\u0027,"},{"line_number":3789,"context_line":"                                         max_sec\u003d10,"},{"line_number":3790,"context_line":"                                         delay_sec\u003d0.2,"},{"line_number":3791,"context_line":"                                         start_delay_sec\u003d1)"},{"line_number":3792,"context_line":""},{"line_number":3793,"context_line":"        # Add location with invalid validation_data"},{"line_number":3794,"context_line":"        # (wrong hash value in validation data)."}],"source_content_type":"text/x-python","patch_set":34,"id":"aab4f748_e7d22363","line":3791,"range":{"start_line":3784,"start_character":9,"end_line":3791,"end_character":59},"updated":"2024-01-30 07:21:39.000000000","message":"I think wait for status should only wait for desired state and after that you should call a get here and assert for expected values.","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"52b5ddbb4c95d50ddd09338bd326fa7d1f1a52e5","unresolved":false,"context_lines":[{"line_number":3781,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3782,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3783,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3784,"context_line":"        func_utils.wait_for_image_status(self, image_id,"},{"line_number":3785,"context_line":"                                         checksum\u003dexpect_c,"},{"line_number":3786,"context_line":"                                         os_hash_value\u003dexpect_h,"},{"line_number":3787,"context_line":"                                         os_hash_algo\u003d\u0027sha256\u0027,"},{"line_number":3788,"context_line":"                                         status\u003d\u0027active\u0027,"},{"line_number":3789,"context_line":"                                         max_sec\u003d10,"},{"line_number":3790,"context_line":"                                         delay_sec\u003d0.2,"},{"line_number":3791,"context_line":"                                         start_delay_sec\u003d1)"},{"line_number":3792,"context_line":""},{"line_number":3793,"context_line":"        # Add location with invalid validation_data"},{"line_number":3794,"context_line":"        # (wrong hash value in validation data)."}],"source_content_type":"text/x-python","patch_set":34,"id":"76f5a947_9be2a742","line":3791,"range":{"start_line":3784,"start_character":9,"end_line":3791,"end_character":59},"in_reply_to":"aab4f748_e7d22363","updated":"2024-02-07 06:51:36.000000000","message":"Done","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f52e43816a6f5995c37aab8a628f924254d675a2","unresolved":true,"context_lines":[{"line_number":3805,"context_line":"        image \u003d jsonutils.loads(response.text)"},{"line_number":3806,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3807,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3808,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3809,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3810,"context_line":""},{"line_number":3811,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3812,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":34,"id":"c0ef570d_472b4921","line":3809,"range":{"start_line":3808,"start_character":8,"end_line":3809,"end_character":48},"updated":"2024-01-30 07:21:39.000000000","message":"ditto, are we asserting size and virtual sizes after image is active? If not then we should not assert it for None here.","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"52b5ddbb4c95d50ddd09338bd326fa7d1f1a52e5","unresolved":false,"context_lines":[{"line_number":3805,"context_line":"        image \u003d jsonutils.loads(response.text)"},{"line_number":3806,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3807,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3808,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3809,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3810,"context_line":""},{"line_number":3811,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3812,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":34,"id":"39081a58_b2b2d4ce","line":3809,"range":{"start_line":3808,"start_character":8,"end_line":3809,"end_character":48},"in_reply_to":"c0ef570d_472b4921","updated":"2024-02-07 06:51:36.000000000","message":"Done","commit_id":"e2f4341a3a626696d17c3d8945b76f40b0ac7438"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"65b5eab2c2fbdb4d59cd140cb38deeb54e758627","unresolved":true,"context_lines":[{"line_number":3794,"context_line":""},{"line_number":3795,"context_line":"        # Verify Image is in \u0027importing\u0027 state during hash caculation"},{"line_number":3796,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3797,"context_line":"        func_utils.wait_for_image_status(self, request_path\u003dpath,"},{"line_number":3798,"context_line":"                                         request_headers\u003dheaders,"},{"line_number":3799,"context_line":"                                         status\u003d\u0027importing\u0027,"},{"line_number":3800,"context_line":"                                         max_sec\u003d40,"},{"line_number":3801,"context_line":"                                         delay_sec\u003d0.1)"},{"line_number":3802,"context_line":""},{"line_number":3803,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3804,"context_line":"        # failure during verifying validation data with calculated hash value"}],"source_content_type":"text/x-python","patch_set":38,"id":"570b651b_1c19d3fb","line":3801,"range":{"start_line":3797,"start_character":8,"end_line":3801,"end_character":55},"updated":"2024-02-21 14:32:03.000000000","message":"I think your test is timing out here because it might have been passed importing state before reaching this call?","commit_id":"b3097fb11f322ba37c55f677af4265140083afe6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3d2aa5dbf18a528b3b4a831be5202a284b0d8f1e","unresolved":true,"context_lines":[{"line_number":3794,"context_line":""},{"line_number":3795,"context_line":"        # Verify Image is in \u0027importing\u0027 state during hash caculation"},{"line_number":3796,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3797,"context_line":"        func_utils.wait_for_image_status(self, request_path\u003dpath,"},{"line_number":3798,"context_line":"                                         request_headers\u003dheaders,"},{"line_number":3799,"context_line":"                                         status\u003d\u0027importing\u0027,"},{"line_number":3800,"context_line":"                                         max_sec\u003d40,"},{"line_number":3801,"context_line":"                                         delay_sec\u003d0.1)"},{"line_number":3802,"context_line":""},{"line_number":3803,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3804,"context_line":"        # failure during verifying validation data with calculated hash value"}],"source_content_type":"text/x-python","patch_set":38,"id":"5fd2a498_8a0ec6cc","line":3801,"range":{"start_line":3797,"start_character":8,"end_line":3801,"end_character":55},"in_reply_to":"570b651b_1c19d3fb","updated":"2024-02-22 07:44:54.000000000","message":"Yeah may be, it\u0027s passing locally. I have added the log statement to check the image status in wait_for_status(), let\u0027s see.","commit_id":"b3097fb11f322ba37c55f677af4265140083afe6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"43a4e5e7290a04e32fdd13152d6c673066e3fa50","unresolved":false,"context_lines":[{"line_number":3794,"context_line":""},{"line_number":3795,"context_line":"        # Verify Image is in \u0027importing\u0027 state during hash caculation"},{"line_number":3796,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3797,"context_line":"        func_utils.wait_for_image_status(self, request_path\u003dpath,"},{"line_number":3798,"context_line":"                                         request_headers\u003dheaders,"},{"line_number":3799,"context_line":"                                         status\u003d\u0027importing\u0027,"},{"line_number":3800,"context_line":"                                         max_sec\u003d40,"},{"line_number":3801,"context_line":"                                         delay_sec\u003d0.1)"},{"line_number":3802,"context_line":""},{"line_number":3803,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3804,"context_line":"        # failure during verifying validation data with calculated hash value"}],"source_content_type":"text/x-python","patch_set":38,"id":"1c2df26b_7321f1a6","line":3801,"range":{"start_line":3797,"start_character":8,"end_line":3801,"end_character":55},"in_reply_to":"5fd2a498_8a0ec6cc","updated":"2024-06-06 06:50:08.000000000","message":"Done","commit_id":"b3097fb11f322ba37c55f677af4265140083afe6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3700,"context_line":""},{"line_number":3701,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":3702,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3703,"context_line":"        self.skipTest(\"Skip Until timeouting issue resolved\")"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"},{"line_number":3706,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"8bf8411d_6cae5a6b","line":3703,"updated":"2024-07-18 05:40:11.000000000","message":"Which issue you are talking about here, is it still pending?","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"745849d3d2c4ddd9ce254f324983ee7960124624","unresolved":true,"context_lines":[{"line_number":3700,"context_line":""},{"line_number":3701,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":3702,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3703,"context_line":"        self.skipTest(\"Skip Until timeouting issue resolved\")"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"},{"line_number":3706,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"cdb2a201_1c70e3ab","line":3703,"in_reply_to":"33acbb25_1d6e5ce8","updated":"2024-07-22 09:10:58.000000000","message":"test_add_location_with_status_importing is failing which should not fail if it is positive test.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"113e9970b1911817ebf2bb24e4aa7f55214c2df0","unresolved":true,"context_lines":[{"line_number":3700,"context_line":""},{"line_number":3701,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":3702,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3703,"context_line":"        self.skipTest(\"Skip Until timeouting issue resolved\")"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"},{"line_number":3706,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"33acbb25_1d6e5ce8","line":3703,"in_reply_to":"699cda9e_6d434a6c","updated":"2024-07-22 07:56:07.000000000","message":"Skipping the test is not the solution then.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":true,"context_lines":[{"line_number":3700,"context_line":""},{"line_number":3701,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":3702,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3703,"context_line":"        self.skipTest(\"Skip Until timeouting issue resolved\")"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"},{"line_number":3706,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"699cda9e_6d434a6c","line":3703,"in_reply_to":"8bf8411d_6cae5a6b","updated":"2024-07-22 07:25:56.000000000","message":"It was a timeout issue while image status changing from importing to queued. Earlier his test used to fail locally as well sometime, but it\u0027s passing now.\nSo removing the skip check now, let\u0027s see if it passes or still timeouts.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"357de87780415a101a06326e0e8224858d3f2472","unresolved":true,"context_lines":[{"line_number":3700,"context_line":""},{"line_number":3701,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":3702,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3703,"context_line":"        self.skipTest(\"Skip Until timeouting issue resolved\")"},{"line_number":3704,"context_line":""},{"line_number":3705,"context_line":"        # Create an image"},{"line_number":3706,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"}],"source_content_type":"text/x-python","patch_set":64,"id":"9eb30faf_f1ac6e79","line":3703,"in_reply_to":"cdb2a201_1c70e3ab","updated":"2024-07-25 06:58:05.000000000","message":"I\u0027ve added the http check. It should pass now.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3723,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"        # Start http server locally"},{"line_number":3726,"context_line":"        thread, httpd, port \u003d test_utils.start_standalone_http_server()"},{"line_number":3727,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/test_image\u0027 % self.http_port0"},{"line_number":3728,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/foo_image1\u0027 % self.http_port1"},{"line_number":3729,"context_line":"        with requests.get(url1) as r:"}],"source_content_type":"text/x-python","patch_set":64,"id":"e453c4b4_98074da8","line":3726,"updated":"2024-07-18 05:40:11.000000000","message":"I don\u0027t think this is required as we are starting http server in setup call from where you are using http_port0 and http_port1 below","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":3723,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"        # Start http server locally"},{"line_number":3726,"context_line":"        thread, httpd, port \u003d test_utils.start_standalone_http_server()"},{"line_number":3727,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/test_image\u0027 % self.http_port0"},{"line_number":3728,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/foo_image1\u0027 % self.http_port1"},{"line_number":3729,"context_line":"        with requests.get(url1) as r:"}],"source_content_type":"text/x-python","patch_set":64,"id":"cc846681_ee668761","line":3726,"in_reply_to":"e453c4b4_98074da8","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3754,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":3755,"context_line":"        # kill the local http server"},{"line_number":3756,"context_line":"        httpd.shutdown()"},{"line_number":3757,"context_line":"        httpd.server_close()"},{"line_number":3758,"context_line":""},{"line_number":3759,"context_line":"    def test_add_location_with_do_secure_hash_true_negative(self):"},{"line_number":3760,"context_line":"        self.start_servers(**self.__dict__.copy())"}],"source_content_type":"text/x-python","patch_set":64,"id":"007c8b3d_d52eff3f","line":3757,"updated":"2024-07-18 05:40:11.000000000","message":"you also need to call self.stop_servers() which you are starting at line 3702","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":3754,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":3755,"context_line":"        # kill the local http server"},{"line_number":3756,"context_line":"        httpd.shutdown()"},{"line_number":3757,"context_line":"        httpd.server_close()"},{"line_number":3758,"context_line":""},{"line_number":3759,"context_line":"    def test_add_location_with_do_secure_hash_true_negative(self):"},{"line_number":3760,"context_line":"        self.start_servers(**self.__dict__.copy())"}],"source_content_type":"text/x-python","patch_set":64,"id":"e5019864_98029a1e","line":3757,"in_reply_to":"007c8b3d_d52eff3f","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3827,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3828,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3829,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":3830,"context_line":""},{"line_number":3831,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":3832,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3833,"context_line":""}],"source_content_type":"text/x-python","patch_set":64,"id":"7ec79cd2_0d7e0e53","line":3830,"updated":"2024-07-18 05:40:11.000000000","message":"You need to call self.stop_servers() here and all other tests where you are starting server but not stopping it.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":3827,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3828,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3829,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":3830,"context_line":""},{"line_number":3831,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":3832,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":3833,"context_line":""}],"source_content_type":"text/x-python","patch_set":64,"id":"00cc28fd_08fce2dc","line":3830,"in_reply_to":"7ec79cd2_0d7e0e53","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3957,"context_line":"        resp \u003d requests.get(path, headers\u003dheaders)"},{"line_number":3958,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":3959,"context_line":"        self.assertEqual(expect_c, image[\u0027checksum\u0027])"},{"line_number":3960,"context_line":"        self.assertEqual(expect_h, image[\u0027os_hash_value\u0027])"},{"line_number":3961,"context_line":""},{"line_number":3962,"context_line":"    def test_add_location_with_do_secure_hash_false(self):"},{"line_number":3963,"context_line":"        self.api_server.do_secure_hash \u003d False"}],"source_content_type":"text/x-python","patch_set":64,"id":"659f2aec_a1018fbc","line":3960,"updated":"2024-07-18 05:40:11.000000000","message":"Need to call stop_servers method","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":3957,"context_line":"        resp \u003d requests.get(path, headers\u003dheaders)"},{"line_number":3958,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":3959,"context_line":"        self.assertEqual(expect_c, image[\u0027checksum\u0027])"},{"line_number":3960,"context_line":"        self.assertEqual(expect_h, image[\u0027os_hash_value\u0027])"},{"line_number":3961,"context_line":""},{"line_number":3962,"context_line":"    def test_add_location_with_do_secure_hash_false(self):"},{"line_number":3963,"context_line":"        self.api_server.do_secure_hash \u003d False"}],"source_content_type":"text/x-python","patch_set":64,"id":"4ff7b521_4b1f3bcf","line":3960,"in_reply_to":"659f2aec_a1018fbc","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3978,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3979,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3980,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3981,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3982,"context_line":""},{"line_number":3983,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/foo_image\u0027 % self.http_port0"},{"line_number":3984,"context_line":"        with requests.get(url) as r:"}],"source_content_type":"text/x-python","patch_set":64,"id":"f6c30ee6_ef5a54b7","line":3981,"updated":"2024-07-18 05:40:11.000000000","message":"No need to test this","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":3978,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":3979,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3980,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3981,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":3982,"context_line":""},{"line_number":3983,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/foo_image\u0027 % self.http_port0"},{"line_number":3984,"context_line":"        with requests.get(url) as r:"}],"source_content_type":"text/x-python","patch_set":64,"id":"3345cd58_1e3e742c","line":3981,"in_reply_to":"f6c30ee6_ef5a54b7","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":3994,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3995,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3996,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3997,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3998,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3999,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4000,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"97f08809_e152b9e9","line":3997,"updated":"2024-07-18 05:40:11.000000000","message":"If do_secure_hash is False then why do we need to wait for active state, isn\u0027t image immediately becomes active?","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"113e9970b1911817ebf2bb24e4aa7f55214c2df0","unresolved":true,"context_lines":[{"line_number":3994,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3995,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3996,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3997,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3998,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3999,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4000,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"517c130e_11c41b6b","line":3997,"in_reply_to":"3c8889f9_86f868cf","updated":"2024-07-22 07:56:07.000000000","message":"That is needs to be find out why it is taking time then.\nThe wait here is not required at all.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"bb71872938a78428a646e688b9c3e3ef4a310917","unresolved":false,"context_lines":[{"line_number":3994,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3995,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3996,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3997,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3998,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3999,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4000,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"af36ded9_b8db2fa6","line":3997,"in_reply_to":"517c130e_11c41b6b","updated":"2024-07-25 06:29:22.000000000","message":"Since this is async call we need to call get api to get the image state, this wait call is doing same thing, alternatively you can call get api instead of calling this wait method.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":true,"context_lines":[{"line_number":3994,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3995,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3996,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3997,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3998,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3999,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4000,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"3c8889f9_86f868cf","line":3997,"in_reply_to":"97f08809_e152b9e9","updated":"2024-07-22 07:25:56.000000000","message":"No, at least not in the resp received from api. I tried removing this wait and called show image but seems it still takes some time to change and update the image status.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":4025,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":4026,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":4027,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":4028,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":4029,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":4030,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4031,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"67b8f9b7_4683d97e","line":4028,"updated":"2024-07-18 05:40:11.000000000","message":"ditto","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"bb71872938a78428a646e688b9c3e3ef4a310917","unresolved":false,"context_lines":[{"line_number":4025,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":4026,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":4027,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":4028,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":4029,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":4030,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":4031,"context_line":"                                   max_sec\u003d5,"}],"source_content_type":"text/x-python","patch_set":64,"id":"3d96df78_f5a1eafa","line":4028,"in_reply_to":"67b8f9b7_4683d97e","updated":"2024-07-25 06:29:22.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":4031,"context_line":"                                   max_sec\u003d5,"},{"line_number":4032,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":4033,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":4034,"context_line":""},{"line_number":4035,"context_line":""},{"line_number":4036,"context_line":"class TestImagesIPv6(functional.FunctionalTest):"},{"line_number":4037,"context_line":"    \"\"\"Verify that API and REG servers running IPv6 can communicate\"\"\""}],"source_content_type":"text/x-python","patch_set":64,"id":"82d33cef_ae1c9d34","line":4034,"updated":"2024-07-18 05:40:11.000000000","message":"Need to call stop_servers method","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":4031,"context_line":"                                   max_sec\u003d5,"},{"line_number":4032,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":4033,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":4034,"context_line":""},{"line_number":4035,"context_line":""},{"line_number":4036,"context_line":"class TestImagesIPv6(functional.FunctionalTest):"},{"line_number":4037,"context_line":"    \"\"\"Verify that API and REG servers running IPv6 can communicate\"\"\""}],"source_content_type":"text/x-python","patch_set":64,"id":"dfc34456_0217a261","line":4034,"in_reply_to":"82d33cef_ae1c9d34","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7727,"context_line":""},{"line_number":7728,"context_line":"        self.config(default_backend\u003d\u0027store1\u0027,"},{"line_number":7729,"context_line":"                    group\u003d\u0027glance_store\u0027)"},{"line_number":7730,"context_line":"        self.config(filesystem_store_datadir\u003d\u0027/tmp/foo\u0027,"},{"line_number":7731,"context_line":"                    group\u003d\u0027os_glance_tasks_store\u0027)"},{"line_number":7732,"context_line":""},{"line_number":7733,"context_line":"        glance_store.create_multi_stores(CONF,"},{"line_number":7734,"context_line":"                                         reserved_stores\u003dwsgi.RESERVED_STORES)"}],"source_content_type":"text/x-python","patch_set":64,"id":"6dad3a98_3ac01d42","line":7731,"range":{"start_line":7730,"start_character":8,"end_line":7731,"end_character":50},"updated":"2024-07-18 05:40:11.000000000","message":"Why not setting os_glance_staging_store?","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":7727,"context_line":""},{"line_number":7728,"context_line":"        self.config(default_backend\u003d\u0027store1\u0027,"},{"line_number":7729,"context_line":"                    group\u003d\u0027glance_store\u0027)"},{"line_number":7730,"context_line":"        self.config(filesystem_store_datadir\u003d\u0027/tmp/foo\u0027,"},{"line_number":7731,"context_line":"                    group\u003d\u0027os_glance_tasks_store\u0027)"},{"line_number":7732,"context_line":""},{"line_number":7733,"context_line":"        glance_store.create_multi_stores(CONF,"},{"line_number":7734,"context_line":"                                         reserved_stores\u003dwsgi.RESERVED_STORES)"}],"source_content_type":"text/x-python","patch_set":64,"id":"f02a5e7f_bf8f7c13","line":7731,"range":{"start_line":7730,"start_character":8,"end_line":7731,"end_character":50},"in_reply_to":"6dad3a98_3ac01d42","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7807,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":7808,"context_line":"                                   max_sec\u003d5,"},{"line_number":7809,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7810,"context_line":"                                   start_delay_sec\u003d1, multistore\u003dTrue)"},{"line_number":7811,"context_line":""},{"line_number":7812,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":7813,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"5c532192_e6479c6e","line":7810,"updated":"2024-07-18 05:40:11.000000000","message":"Need to call stop_servers method as well","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"113e9970b1911817ebf2bb24e4aa7f55214c2df0","unresolved":false,"context_lines":[{"line_number":7807,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":7808,"context_line":"                                   max_sec\u003d5,"},{"line_number":7809,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7810,"context_line":"                                   start_delay_sec\u003d1, multistore\u003dTrue)"},{"line_number":7811,"context_line":""},{"line_number":7812,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":7813,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"e43f8810_80013278","line":7810,"in_reply_to":"3d9902b4_d4342b8e","updated":"2024-07-22 07:56:07.000000000","message":"Acknowledged","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":true,"context_lines":[{"line_number":7807,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":7808,"context_line":"                                   max_sec\u003d5,"},{"line_number":7809,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7810,"context_line":"                                   start_delay_sec\u003d1, multistore\u003dTrue)"},{"line_number":7811,"context_line":""},{"line_number":7812,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":7813,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"3d9902b4_d4342b8e","line":7810,"in_reply_to":"5c532192_e6479c6e","updated":"2024-07-22 07:25:56.000000000","message":"There is no stop_servers() method in SynchronousAPiBase, and though it\u0027s start_server() also doesn\u0027t work similar to start_server() if FunctionalTest.\n\nhttps://github.com/openstack/glance/blob/38a2828e8f25d1cc43f300eaa0bb2cb8144d4dce/glance/tests/functional/__init__.py#L1616\n\nI think there is no point in calling start_server() as well in all this multistore tests, so removing the same.","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7834,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":7835,"context_line":""},{"line_number":7836,"context_line":"        # Start http server locally"},{"line_number":7837,"context_line":"        thread, httpd, port \u003d test_utils.start_standalone_http_server()"},{"line_number":7838,"context_line":""},{"line_number":7839,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/store1/test_image\u0027 % self.http_port0"},{"line_number":7840,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/store1/foo_image1\u0027 % self.http_port1"}],"source_content_type":"text/x-python","patch_set":64,"id":"eb4eaa6d_f780d9a4","line":7837,"updated":"2024-07-18 05:40:11.000000000","message":"I don\u0027t think this is required as we are starting http server in setup call from where you are using http_port0 and http_port1 below","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":7834,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":7835,"context_line":""},{"line_number":7836,"context_line":"        # Start http server locally"},{"line_number":7837,"context_line":"        thread, httpd, port \u003d test_utils.start_standalone_http_server()"},{"line_number":7838,"context_line":""},{"line_number":7839,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/store1/test_image\u0027 % self.http_port0"},{"line_number":7840,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/store1/foo_image1\u0027 % self.http_port1"}],"source_content_type":"text/x-python","patch_set":64,"id":"e9544209_977800a9","line":7837,"in_reply_to":"eb4eaa6d_f780d9a4","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7865,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7866,"context_line":"                                   start_delay_sec\u003d1,"},{"line_number":7867,"context_line":"                                   multistore\u003dTrue)"},{"line_number":7868,"context_line":"        # kill the local http server"},{"line_number":7869,"context_line":"        httpd.shutdown()"},{"line_number":7870,"context_line":"        httpd.server_close()"},{"line_number":7871,"context_line":""},{"line_number":7872,"context_line":"    def test_add_location_with_do_secure_hash_true_negative(self):"},{"line_number":7873,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"bdfe392f_3784d491","line":7870,"range":{"start_line":7868,"start_character":0,"end_line":7870,"end_character":28},"updated":"2024-07-18 05:40:11.000000000","message":"No need of this,\nNeed to call stop_servers method","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":7865,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7866,"context_line":"                                   start_delay_sec\u003d1,"},{"line_number":7867,"context_line":"                                   multistore\u003dTrue)"},{"line_number":7868,"context_line":"        # kill the local http server"},{"line_number":7869,"context_line":"        httpd.shutdown()"},{"line_number":7870,"context_line":"        httpd.server_close()"},{"line_number":7871,"context_line":""},{"line_number":7872,"context_line":"    def test_add_location_with_do_secure_hash_true_negative(self):"},{"line_number":7873,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"7348248f_8c6a4c72","line":7870,"range":{"start_line":7868,"start_character":0,"end_line":7870,"end_character":28},"in_reply_to":"bdfe392f_3784d491","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7935,"context_line":"            \u0027os_hash_value\u0027: expect_h}"},{"line_number":7936,"context_line":"        data \u003d {\u0027url\u0027: url, \u0027validation_data\u0027: validation_data}"},{"line_number":7937,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7938,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":7939,"context_line":""},{"line_number":7940,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":7941,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"ca30327f_f3c3202d","line":7938,"updated":"2024-07-18 05:40:11.000000000","message":"Need to call stop_servers method","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":7935,"context_line":"            \u0027os_hash_value\u0027: expect_h}"},{"line_number":7936,"context_line":"        data \u003d {\u0027url\u0027: url, \u0027validation_data\u0027: validation_data}"},{"line_number":7937,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7938,"context_line":"        self.assertEqual(http.BAD_REQUEST, response.status_code, response.text)"},{"line_number":7939,"context_line":""},{"line_number":7940,"context_line":"    def test_add_location_with_do_secure_hash_true(self):"},{"line_number":7941,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":64,"id":"a3f869de_36d293be","line":7938,"in_reply_to":"ca30327f_f3c3202d","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":7996,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":7997,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":7998,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":7999,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":8000,"context_line":""},{"line_number":8001,"context_line":"        path \u003d \u0027/v2/images/%s/locations\u0027 % image_id"},{"line_number":8002,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":64,"id":"e3ef4cbb_ac1fb1f1","line":7999,"updated":"2024-07-18 05:40:11.000000000","message":"No need to test this","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":7996,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":7997,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":7998,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":7999,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":8000,"context_line":""},{"line_number":8001,"context_line":"        path \u003d \u0027/v2/images/%s/locations\u0027 % image_id"},{"line_number":8002,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":64,"id":"3c892688_242624d1","line":7999,"in_reply_to":"e3ef4cbb_ac1fb1f1","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":8047,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":8048,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":8049,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":8050,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":8051,"context_line":""},{"line_number":8052,"context_line":"        path \u003d \u0027/v2/images/%s/locations\u0027 % image_id"},{"line_number":8053,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":64,"id":"33463a6d_951d2ab4","line":8050,"updated":"2024-07-18 05:40:11.000000000","message":"NO need to test this","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":8047,"context_line":"        image_id \u003d image[\u0027id\u0027]"},{"line_number":8048,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":8049,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":8050,"context_line":"        self.assertIsNone(image[\u0027virtual_size\u0027])"},{"line_number":8051,"context_line":""},{"line_number":8052,"context_line":"        path \u003d \u0027/v2/images/%s/locations\u0027 % image_id"},{"line_number":8053,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"}],"source_content_type":"text/x-python","patch_set":64,"id":"39bd7b78_91f67651","line":8050,"in_reply_to":"33463a6d_951d2ab4","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[{"line_number":8070,"context_line":"        resp \u003d self.api_get(path, headers\u003dself._headers())"},{"line_number":8071,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":8072,"context_line":"        self.assertEqual(expect_c, image[\u0027checksum\u0027])"},{"line_number":8073,"context_line":"        self.assertEqual(expect_h, image[\u0027os_hash_value\u0027])"}],"source_content_type":"text/x-python","patch_set":64,"id":"56e47887_3a704b36","line":8073,"updated":"2024-07-18 05:40:11.000000000","message":"Need to call stop servers method","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":false,"context_lines":[{"line_number":8070,"context_line":"        resp \u003d self.api_get(path, headers\u003dself._headers())"},{"line_number":8071,"context_line":"        image \u003d jsonutils.loads(resp.text)"},{"line_number":8072,"context_line":"        self.assertEqual(expect_c, image[\u0027checksum\u0027])"},{"line_number":8073,"context_line":"        self.assertEqual(expect_h, image[\u0027os_hash_value\u0027])"}],"source_content_type":"text/x-python","patch_set":64,"id":"8bd21553_8369a587","line":8073,"in_reply_to":"56e47887_3a704b36","updated":"2024-07-22 07:25:56.000000000","message":"Done","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a7ba3e1f57ca09f7d54e3fa7d80091b2f5dcd88","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":64,"id":"9efcc61c_e725bcda","line":8074,"updated":"2024-07-18 05:40:11.000000000","message":"Also this multistore is missing do_secure_hash \u003d False scenarios","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"759f0e728c65af4ba6ce98669ab6e475915b25ff","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":64,"id":"d3a27e7b_15f771ce","line":8074,"in_reply_to":"9efcc61c_e725bcda","updated":"2024-07-22 07:25:56.000000000","message":"It\u0027s there at line #7739","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"113e9970b1911817ebf2bb24e4aa7f55214c2df0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"c63a0c95_e1c6b4ba","line":8074,"in_reply_to":"d3a27e7b_15f771ce","updated":"2024-07-22 07:56:07.000000000","message":"Acknowledged","commit_id":"da1116eb78b00d0c01a22ab902b40c2c07b475b6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"745849d3d2c4ddd9ce254f324983ee7960124624","unresolved":true,"context_lines":[{"line_number":3715,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3716,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"        # Add location with invalid validation_data"},{"line_number":3719,"context_line":"        # (wrong hash value in validation data)."},{"line_number":3720,"context_line":"        # Image will be reverted to queued state from importing"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3722,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/test_image\u0027 % self.http_port0"},{"line_number":3725,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/foo_image1\u0027 % self.http_port1"},{"line_number":3726,"context_line":"        with requests.get(url1) as r:"},{"line_number":3727,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":3728,"context_line":"        validation_data \u003d {"},{"line_number":3729,"context_line":"            \u0027os_hash_algo\u0027: \u0027sha512\u0027,"},{"line_number":3730,"context_line":"            \u0027os_hash_value\u0027: expect_h}"},{"line_number":3731,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url,"},{"line_number":3732,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3733,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3734,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3735,"context_line":""},{"line_number":3736,"context_line":"        # Verify Image is in \u0027importing\u0027 state during hash caculation"},{"line_number":3737,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3738,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3739,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3740,"context_line":"                                   status\u003d\u0027importing\u0027,"},{"line_number":3741,"context_line":"                                   max_sec\u003d40,"},{"line_number":3742,"context_line":"                                   delay_sec\u003d0.1)"},{"line_number":3743,"context_line":""},{"line_number":3744,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3745,"context_line":"        # failure during verifying validation data with calculated hash value"}],"source_content_type":"text/x-python","patch_set":66,"id":"830eab81_a5dcb9c3","line":3742,"range":{"start_line":3718,"start_character":8,"end_line":3742,"end_character":49},"updated":"2024-07-22 09:10:58.000000000","message":"Here it is failing because you are using http store and then it failing while popping the location which is not allowed in case if store is http.\n\nI will suggest to add a check in the revert that if location url starts with http then do not call pop location with a note to known issue.","commit_id":"b5f93670e58459db12f2076599dd61b4e9924e7e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"357de87780415a101a06326e0e8224858d3f2472","unresolved":false,"context_lines":[{"line_number":3715,"context_line":"        self.assertEqual(\u0027queued\u0027, image[\u0027status\u0027])"},{"line_number":3716,"context_line":"        self.assertIsNone(image[\u0027size\u0027])"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"        # Add location with invalid validation_data"},{"line_number":3719,"context_line":"        # (wrong hash value in validation data)."},{"line_number":3720,"context_line":"        # Image will be reverted to queued state from importing"},{"line_number":3721,"context_line":"        path \u003d self._url(\u0027/v2/images/%s/locations\u0027 % image_id)"},{"line_number":3722,"context_line":"        headers \u003d self._headers({\u0027X-Tenant-Id\u0027: TENANT1})"},{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        url \u003d \u0027http://127.0.0.1:%s/test_image\u0027 % self.http_port0"},{"line_number":3725,"context_line":"        url1 \u003d \u0027http://127.0.0.1:%s/foo_image1\u0027 % self.http_port1"},{"line_number":3726,"context_line":"        with requests.get(url1) as r:"},{"line_number":3727,"context_line":"            expect_h \u003d str(hashlib.sha512(r.content).hexdigest())"},{"line_number":3728,"context_line":"        validation_data \u003d {"},{"line_number":3729,"context_line":"            \u0027os_hash_algo\u0027: \u0027sha512\u0027,"},{"line_number":3730,"context_line":"            \u0027os_hash_value\u0027: expect_h}"},{"line_number":3731,"context_line":"        data \u003d jsonutils.dumps({\u0027url\u0027: url,"},{"line_number":3732,"context_line":"                                \u0027validation_data\u0027: validation_data})"},{"line_number":3733,"context_line":"        response \u003d requests.post(path, headers\u003dheaders, data\u003ddata)"},{"line_number":3734,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":3735,"context_line":""},{"line_number":3736,"context_line":"        # Verify Image is in \u0027importing\u0027 state during hash caculation"},{"line_number":3737,"context_line":"        path \u003d self._url(\u0027/v2/images/%s\u0027 % image_id)"},{"line_number":3738,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3739,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3740,"context_line":"                                   status\u003d\u0027importing\u0027,"},{"line_number":3741,"context_line":"                                   max_sec\u003d40,"},{"line_number":3742,"context_line":"                                   delay_sec\u003d0.1)"},{"line_number":3743,"context_line":""},{"line_number":3744,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3745,"context_line":"        # failure during verifying validation data with calculated hash value"}],"source_content_type":"text/x-python","patch_set":66,"id":"a87ddaa7_b7b4efb0","line":3742,"range":{"start_line":3718,"start_character":8,"end_line":3742,"end_character":49},"in_reply_to":"830eab81_a5dcb9c3","updated":"2024-07-25 06:58:05.000000000","message":"Done","commit_id":"b5f93670e58459db12f2076599dd61b4e9924e7e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"113e9970b1911817ebf2bb24e4aa7f55214c2df0","unresolved":true,"context_lines":[{"line_number":7803,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7804,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":7805,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":7806,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":7807,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":7808,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":7809,"context_line":"                                   max_sec\u003d5,"},{"line_number":7810,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7811,"context_line":"                                   start_delay_sec\u003d1, multistore\u003dTrue)"},{"line_number":7812,"context_line":""},{"line_number":7813,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":7814,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":66,"id":"635f0bf4_8ac296dd","line":7811,"range":{"start_line":7806,"start_character":8,"end_line":7811,"end_character":70},"updated":"2024-07-22 07:56:07.000000000","message":"Wait should not be required here, need to find out why it is taking time to set image active.","commit_id":"b5f93670e58459db12f2076599dd61b4e9924e7e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"357de87780415a101a06326e0e8224858d3f2472","unresolved":false,"context_lines":[{"line_number":7803,"context_line":"        response \u003d self.api_post(path, headers\u003dheaders, json\u003ddata)"},{"line_number":7804,"context_line":"        self.assertEqual(http.ACCEPTED, response.status_code, response.text)"},{"line_number":7805,"context_line":"        path \u003d \u0027/v2/images/%s\u0027 % image_id"},{"line_number":7806,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":7807,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":7808,"context_line":"                                   status\u003d\u0027active\u0027,"},{"line_number":7809,"context_line":"                                   max_sec\u003d5,"},{"line_number":7810,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":7811,"context_line":"                                   start_delay_sec\u003d1, multistore\u003dTrue)"},{"line_number":7812,"context_line":""},{"line_number":7813,"context_line":"    def test_add_location_with_status_importing(self):"},{"line_number":7814,"context_line":"        self._setup_multiple_stores()"}],"source_content_type":"text/x-python","patch_set":66,"id":"c2ef2bdf_55c45d80","line":7811,"range":{"start_line":7806,"start_character":8,"end_line":7811,"end_character":70},"in_reply_to":"635f0bf4_8ac296dd","updated":"2024-07-25 06:58:05.000000000","message":"Done","commit_id":"b5f93670e58459db12f2076599dd61b4e9924e7e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8a2814e4e77e76ca9715438f7545e23707148b55","unresolved":true,"context_lines":[{"line_number":3741,"context_line":"                                   max_sec\u003d40,"},{"line_number":3742,"context_line":"                                   delay_sec\u003d0.1)"},{"line_number":3743,"context_line":""},{"line_number":3744,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3745,"context_line":"        # failure during verifying validation data with calculated hash value"},{"line_number":3746,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3747,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3748,"context_line":"                                   status\u003d\u0027queued\u0027,"},{"line_number":3749,"context_line":"                                   max_sec\u003d10,"},{"line_number":3750,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":3751,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":3752,"context_line":""},{"line_number":3753,"context_line":"        self.stop_servers()"},{"line_number":3754,"context_line":""}],"source_content_type":"text/x-python","patch_set":67,"id":"49d3bf81_cb65407f","line":3751,"range":{"start_line":3744,"start_character":7,"end_line":3751,"end_character":53},"updated":"2024-07-25 07:46:20.000000000","message":"I think this is causing race condition, image is going in queued state even before it is waiting for to be in importing state. I think you can remove this test for now and we can rethink how to test it in followup patch.","commit_id":"504f4cd897f0e388ace60e7e8f5d9f5648a6b047"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"344032b91951c5a304a730d85bcc4a02be3d5517","unresolved":false,"context_lines":[{"line_number":3741,"context_line":"                                   max_sec\u003d40,"},{"line_number":3742,"context_line":"                                   delay_sec\u003d0.1)"},{"line_number":3743,"context_line":""},{"line_number":3744,"context_line":"        # Verify Image is reverted back to \u0027queued\u0027 state after"},{"line_number":3745,"context_line":"        # failure during verifying validation data with calculated hash value"},{"line_number":3746,"context_line":"        func_utils.wait_for_status(self, request_path\u003dpath,"},{"line_number":3747,"context_line":"                                   request_headers\u003dheaders,"},{"line_number":3748,"context_line":"                                   status\u003d\u0027queued\u0027,"},{"line_number":3749,"context_line":"                                   max_sec\u003d10,"},{"line_number":3750,"context_line":"                                   delay_sec\u003d0.2,"},{"line_number":3751,"context_line":"                                   start_delay_sec\u003d1)"},{"line_number":3752,"context_line":""},{"line_number":3753,"context_line":"        self.stop_servers()"},{"line_number":3754,"context_line":""}],"source_content_type":"text/x-python","patch_set":67,"id":"41bbd777_f4b30583","line":3751,"range":{"start_line":3744,"start_character":7,"end_line":3751,"end_character":53},"in_reply_to":"49d3bf81_cb65407f","updated":"2024-07-25 10:32:33.000000000","message":"Acknowledged","commit_id":"504f4cd897f0e388ace60e7e8f5d9f5648a6b047"}]}
