)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"30a1fe8326a9623293090208ee238aad89f4d620","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3d6dc4bd_280c45ba","updated":"2023-11-09 15:22:40.000000000","message":"recheck","commit_id":"b99f7c0ed0bf1f3d124e656d68fcd7dc2f65f75a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"81836a1eb31d9a880db6ab3cd8bc10b9e83243d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c335c953_2197c3a9","updated":"2023-11-22 12:38:05.000000000","message":"recheck ssh timeout","commit_id":"fb207b55602ce771ca06b2b3ac843ca88986ed3d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"de64cb6d28b82a622f3a2b177d911a61f4688e69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fd876f93_e9c69bc9","updated":"2023-11-21 07:55:44.000000000","message":"recheck timeout","commit_id":"fb207b55602ce771ca06b2b3ac843ca88986ed3d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"72c85cf5d949460e1d50c9e23489b5dcbcad5976","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"79ff4906_3f280cd7","updated":"2024-01-19 17:54:23.000000000","message":"recheck read timeout in cinder multistore job","commit_id":"ef3d4032322426491ddfafdf5634a85c74655717"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b9f3d1806adf0584fae25f294526b382ee796eef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"b2fdfbea_3b0cb76b","updated":"2024-01-25 05:24:10.000000000","message":"recheck backup fails to reach desired state","commit_id":"df5f3af13560ae7b5c7a821945f609064d2febb3"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fbc01c3d7882b9f93a1190bb9caa147bb38a251c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"86dbfbde_c18a9566","updated":"2024-02-01 06:04:59.000000000","message":"recheck volume fails to reach expected state in given time","commit_id":"9ae4ca6c265b0e5d4f90ea2e6aef9ee72b602955"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fe07ef9cc7b7e6e38263faeb7f3e953fcd246ee6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"48250ebe_cc53939e","updated":"2024-02-20 17:43:32.000000000","message":"Thank you for the input!!","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b27e86a3b2d17e9e4a384189b04fc7dee793311a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"31725393_bd9f0620","updated":"2024-02-27 17:55:54.000000000","message":"I dunno, but I blew away my tox and cleaned up some other stuff and it runs now. It hung several times in a row until I did that, so I dunno.. weird.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8cba7ec609654269c62a1941605202f5839c7ead","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"036fb1ad_f6a06e17","updated":"2024-02-27 17:24:36.000000000","message":"I\u0027m trying to run the unit tests locally and seem to have a hang:\n```\n{2} glance.tests.unit.v2.test_v2_policy.TestMetadefAPIPolicy.test_enforce_exception_behavior [0.011097s] ... ok\nFound 0 queued images...\n+----+\n| ID |\n+----+\n+----+\n\n```\nI assume that\u0027s from `cmd/cache_manage`...","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"3ad0f3d4_fe71dfd3","updated":"2024-02-27 15:22:03.000000000","message":"Some minor issues","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"9dfcccce3979dc9fd23c0466449f75f8946f7376","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"30e9cd86_ab368925","updated":"2024-02-21 05:26:08.000000000","message":"recheck failed to reach desired state","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"7b218cb984bddf0c7237ebb8b4c87a57ae503d80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"839ffaee_65a11ade","updated":"2024-02-27 18:45:38.000000000","message":"thank you Cyril and Dan for review, made changes as per your suggestion.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5bae28400cb583a9c81bca30c882d7654d49517a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"d44f3601_dabc11ae","in_reply_to":"036fb1ad_f6a06e17","updated":"2024-02-27 17:31:44.000000000","message":"Strange, which tox env you are using py38/39/310 or any other?\nI am not facing this issue","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"febcd1dacfeb7599c76c2476ab192062bb217fe7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"d90ca3dc_9c77f4f7","in_reply_to":"a529066f_78249e29","updated":"2024-02-27 17:57:41.000000000","message":"In my env tox -e cover reports\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 2212 tests in 21.3274 sec.\n - Passed: 2204\n - Skipped: 1\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 7\nSum of execute time for each test: 103.5638 sec.\n\n\nFailures are from test_quota with error\n\nFile \"/opt/stack/glance/.tox/cover/lib/python3.8/site-packages/oslo_limit/limit.py\", line 268, in __init__\n    raise ValueError(\"endpoint_id is not configured\")\n\n    ValueError: endpoint_id is not configured","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e26333653f4ae0f2a2e15e43b2aa73654f5ba6f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"a529066f_78249e29","in_reply_to":"d44f3601_dabc11ae","updated":"2024-02-27 17:38:38.000000000","message":"I\u0027m running the `cover` target, which I think is single-threaded. I\u0027m trying now with `py311`. After that I\u0027ll walk down the stack and figure out where the problem is coming in.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"27895071e1ad6ee1e523c498d2f2945350aeb701","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"2cdd70c8_4559ac2d","in_reply_to":"d90ca3dc_9c77f4f7","updated":"2024-02-27 18:03:28.000000000","message":"I got a bunch of those as well, but also on the py311 target. Went away after I rebuilt my tox venv. But agree, weird also.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b6fb79ff09de76951721214ba7f00bfd6ddbc0ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"9bb64563_63b57d60","updated":"2024-02-27 18:53:41.000000000","message":"I just skimmed this and am assuming it\u0027s good now that the code has been unified. Much cleaner I think.","commit_id":"781ce285604844643cfc30232406a402fa32c30e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f361bd9690e37c317e1c19b078483bc89547918b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"ba5af4e4_120f26e8","updated":"2024-02-28 03:58:46.000000000","message":"recheck py311 is passing locally","commit_id":"781ce285604844643cfc30232406a402fa32c30e"}],"glance/common/config.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a65873ae9bf19f99ca49a05a267447a11c77ff26","unresolved":true,"context_lines":[{"line_number":742,"context_line":"                        \"if `centralized_db` is defined as cache driver \""},{"line_number":743,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":744,"context_line":"                raise RuntimeError(msg)"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"        # Log the options used when starting if we\u0027re in debug mode..."},{"line_number":747,"context_line":"        if CONF.debug:"},{"line_number":748,"context_line":"            CONF.log_opt_values(logger, logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":18,"id":"efe43f8a_50f2b272","line":745,"updated":"2024-02-20 15:13:22.000000000","message":"Hmm, is this the right place to do this? Seems weird to put this in the loader here, and then need to check the app_name in order to apply this restriction...","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3ade3df405d83cdd5837272f24c253752075499","unresolved":false,"context_lines":[{"line_number":742,"context_line":"                        \"if `centralized_db` is defined as cache driver \""},{"line_number":743,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":744,"context_line":"                raise RuntimeError(msg)"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"        # Log the options used when starting if we\u0027re in debug mode..."},{"line_number":747,"context_line":"        if CONF.debug:"},{"line_number":748,"context_line":"            CONF.log_opt_values(logger, logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":18,"id":"c8b9cbd5_0b01f80f","line":745,"in_reply_to":"becb37f8_2bc739fc","updated":"2024-02-20 20:07:20.000000000","message":"Done","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fe07ef9cc7b7e6e38263faeb7f3e953fcd246ee6","unresolved":true,"context_lines":[{"line_number":742,"context_line":"                        \"if `centralized_db` is defined as cache driver \""},{"line_number":743,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":744,"context_line":"                raise RuntimeError(msg)"},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"        # Log the options used when starting if we\u0027re in debug mode..."},{"line_number":747,"context_line":"        if CONF.debug:"},{"line_number":748,"context_line":"            CONF.log_opt_values(logger, logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":18,"id":"becb37f8_2bc739fc","line":745,"in_reply_to":"efe43f8a_50f2b272","updated":"2024-02-20 17:43:32.000000000","message":"I can remove app_name check, but need to find better way to check cache middleware is enabled, may be I can use conf.paste_deply.flavor for it.","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"}],"glance/common/wsgi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a65873ae9bf19f99ca49a05a267447a11c77ff26","unresolved":true,"context_lines":[{"line_number":467,"context_line":"                         \"Centralized database\")"},{"line_number":468,"context_line":"                migrate \u003d sqlite_migration.Migrate(sqlite_db_file,"},{"line_number":469,"context_line":"                                                   glance.db.get_api())"},{"line_number":470,"context_line":"                migrate.migrate()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"},{"line_number":473,"context_line":"        # not configured properly, which will be caught and printed by"}],"source_content_type":"text/x-python","patch_set":18,"id":"ca414857_cd17e701","line":470,"updated":"2024-02-20 15:13:22.000000000","message":"If you\u0027re going to do this on startup, I think you should do it before start_wsgi() so that no children are running, right? Otherwise they will potentially be returning \"nothing is cached\" if anyone asks, and/or be allowing cache operations to complete while you\u0027re trying to migrate.","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3ade3df405d83cdd5837272f24c253752075499","unresolved":false,"context_lines":[{"line_number":467,"context_line":"                         \"Centralized database\")"},{"line_number":468,"context_line":"                migrate \u003d sqlite_migration.Migrate(sqlite_db_file,"},{"line_number":469,"context_line":"                                                   glance.db.get_api())"},{"line_number":470,"context_line":"                migrate.migrate()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"},{"line_number":473,"context_line":"        # not configured properly, which will be caught and printed by"}],"source_content_type":"text/x-python","patch_set":18,"id":"3138638b_c592a02c","line":470,"in_reply_to":"ca414857_cd17e701","updated":"2024-02-20 20:07:20.000000000","message":"Done","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":true,"context_lines":[{"line_number":456,"context_line":"        self.default_port \u003d default_port"},{"line_number":457,"context_line":"        self.configure()"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""}],"source_content_type":"text/x-python","patch_set":19,"id":"00cdb725_744c20e5","line":459,"range":{"start_line":459,"start_character":61,"end_line":459,"end_character":67},"updated":"2024-02-27 15:22:03.000000000","message":"enablEd","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        self.default_port \u003d default_port"},{"line_number":457,"context_line":"        self.configure()"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""}],"source_content_type":"text/x-python","patch_set":19,"id":"6bdf86b0_11023b69","line":459,"range":{"start_line":459,"start_character":61,"end_line":459,"end_character":67},"in_reply_to":"00cdb725_744c20e5","updated":"2024-02-27 18:02:50.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b27e86a3b2d17e9e4a384189b04fc7dee793311a","unresolved":true,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":463,"context_line":"            if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":464,"context_line":"                msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""}],"source_content_type":"text/x-python","patch_set":19,"id":"ca545534_05366a30","line":461,"updated":"2024-02-27 17:55:54.000000000","message":"I don\u0027t think there is a test where this is false?","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":463,"context_line":"            if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":464,"context_line":"                msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""}],"source_content_type":"text/x-python","patch_set":19,"id":"8f3aefc2_5ad97f90","line":461,"in_reply_to":"ca545534_05366a30","updated":"2024-02-27 18:02:50.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":true,"context_lines":[{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":463,"context_line":"            if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":464,"context_line":"                msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""},{"line_number":465,"context_line":"                        \"if `centralized_db` is defined as cache driver \""}],"source_content_type":"text/x-python","patch_set":19,"id":"1ba94dc6_b0241d6f","line":462,"range":{"start_line":462,"start_character":0,"end_line":462,"end_character":12},"updated":"2024-02-27 15:22:03.000000000","message":"So, \"cache_driver\" reads like \"the name of the cache driver\", and it\u0027s easy to overlook the whole \u0027 \u003d\u003d \"centralized_db\"\u0027 at the end of the line, especially after spending a long time doing reviews :) \n\nPlease use \"use_centralized_db\" as a variable name, which will be much clearer.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":false,"context_lines":[{"line_number":459,"context_line":"        # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":460,"context_line":"        # cache driver is centralized_db"},{"line_number":461,"context_line":"        if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":462,"context_line":"            cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":463,"context_line":"            if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":464,"context_line":"                msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""},{"line_number":465,"context_line":"                        \"if `centralized_db` is defined as cache driver \""}],"source_content_type":"text/x-python","patch_set":19,"id":"e56486b6_12f12026","line":462,"range":{"start_line":462,"start_character":0,"end_line":462,"end_character":12},"in_reply_to":"1ba94dc6_b0241d6f","updated":"2024-02-27 18:02:50.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b27e86a3b2d17e9e4a384189b04fc7dee793311a","unresolved":true,"context_lines":[{"line_number":466,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":467,"context_line":"                raise RuntimeError(msg)"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        sqlite_migration.migrate_if_required()"},{"line_number":470,"context_line":"        self.start_wsgi()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"}],"source_content_type":"text/x-python","patch_set":19,"id":"6681905d_aa7dc5c5","line":469,"updated":"2024-02-27 17:55:54.000000000","message":"This whole block is the same, right? The checking of the ref url and then the running of the migration if it\u0027s good... That is what I was saying could all be in the same helper. Why duplicate the check and the message? It would also make it easier to validate that code with just one of these instead of both.","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5367ffb4e2d2f5a97b824bfe3130382fa7410698","unresolved":true,"context_lines":[{"line_number":466,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":467,"context_line":"                raise RuntimeError(msg)"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        sqlite_migration.migrate_if_required()"},{"line_number":470,"context_line":"        self.start_wsgi()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"}],"source_content_type":"text/x-python","patch_set":19,"id":"c40c366c_8411f681","line":469,"in_reply_to":"40b58ad9_be90f3b6","updated":"2024-02-27 18:12:20.000000000","message":"Yeah exactly :)","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":true,"context_lines":[{"line_number":466,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":467,"context_line":"                raise RuntimeError(msg)"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        sqlite_migration.migrate_if_required()"},{"line_number":470,"context_line":"        self.start_wsgi()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"}],"source_content_type":"text/x-python","patch_set":19,"id":"40b58ad9_be90f3b6","line":469,"in_reply_to":"6681905d_aa7dc5c5","updated":"2024-02-27 18:02:50.000000000","message":"You mean I should move this entire condition inside migrate_if_required method, right?","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"18f1388936e5a01f8d3ab8bcddd474e086b7d51a","unresolved":false,"context_lines":[{"line_number":466,"context_line":"                        \"for image_cache_driver config option.\")"},{"line_number":467,"context_line":"                raise RuntimeError(msg)"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        sqlite_migration.migrate_if_required()"},{"line_number":470,"context_line":"        self.start_wsgi()"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        # NOTE(danms): This may raise GlanceException if the staging store is"}],"source_content_type":"text/x-python","patch_set":19,"id":"503f9363_18813cb2","line":469,"in_reply_to":"c40c366c_8411f681","updated":"2024-02-27 18:13:15.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"}],"glance/common/wsgi_app.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a65873ae9bf19f99ca49a05a267447a11c77ff26","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            migrate \u003d sqlite_migration.Migrate(sqlite_db_file,"},{"line_number":154,"context_line":"                                               glance.db.get_api())"},{"line_number":155,"context_line":"            migrate.migrate()"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    # NOTE(danms): This may raise GlanceException if the staging store is"},{"line_number":158,"context_line":"    # not configured properly, which will bubble up to the WSGI server,"},{"line_number":159,"context_line":"    # aborting application load as desired."}],"source_content_type":"text/x-python","patch_set":18,"id":"c07f3fac_fd5aa010","line":156,"updated":"2024-02-20 15:13:22.000000000","message":"In this case, I think we could be just one of multiple processes started by uwsgi, which means we might run two copies of this migration process...\n\nAlso, would it not be better to put this if..if..migrate routine in a single handler and run `sqlite_migration.migrate_if_needed()` here and in `common/wsgi.py`?","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3ade3df405d83cdd5837272f24c253752075499","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            migrate \u003d sqlite_migration.Migrate(sqlite_db_file,"},{"line_number":154,"context_line":"                                               glance.db.get_api())"},{"line_number":155,"context_line":"            migrate.migrate()"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    # NOTE(danms): This may raise GlanceException if the staging store is"},{"line_number":158,"context_line":"    # not configured properly, which will bubble up to the WSGI server,"},{"line_number":159,"context_line":"    # aborting application load as desired."}],"source_content_type":"text/x-python","patch_set":18,"id":"da500186_da03d081","line":156,"in_reply_to":"c07f3fac_fd5aa010","updated":"2024-02-20 20:07:20.000000000","message":"Done","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        glance_store.create_stores(CONF)"},{"line_number":143,"context_line":"        glance_store.verify_default_store()"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":146,"context_line":"    # cache driver is centralized_db"},{"line_number":147,"context_line":"    if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":148,"context_line":"        cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""}],"source_content_type":"text/x-python","patch_set":19,"id":"735cbc81_f5de0070","line":145,"range":{"start_line":145,"start_character":53,"end_line":145,"end_character":54},"updated":"2024-02-27 15:22:03.000000000","message":"Ditto","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        glance_store.create_stores(CONF)"},{"line_number":143,"context_line":"        glance_store.verify_default_store()"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":146,"context_line":"    # cache driver is centralized_db"},{"line_number":147,"context_line":"    if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":148,"context_line":"        cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""}],"source_content_type":"text/x-python","patch_set":19,"id":"f0574186_cd0d3dd3","line":145,"range":{"start_line":145,"start_character":53,"end_line":145,"end_character":54},"in_reply_to":"735cbc81_f5de0070","updated":"2024-02-27 18:02:50.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":true,"context_lines":[{"line_number":145,"context_line":"    # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":146,"context_line":"    # cache driver is centralized_db"},{"line_number":147,"context_line":"    if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":148,"context_line":"        cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":149,"context_line":"        if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":150,"context_line":"            msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""},{"line_number":151,"context_line":"                    \"if `centralized_db` is defined as cache driver \""}],"source_content_type":"text/x-python","patch_set":19,"id":"04b0d495_fe474889","line":148,"range":{"start_line":148,"start_character":23,"end_line":148,"end_character":46},"updated":"2024-02-27 15:22:03.000000000","message":"Ditto","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    # Check worker_self_reference_url is set if cache is enabld and"},{"line_number":146,"context_line":"    # cache driver is centralized_db"},{"line_number":147,"context_line":"    if CONF.paste_deploy.flavor and \u0027cache\u0027 in CONF.paste_deploy.flavor:"},{"line_number":148,"context_line":"        cache_driver \u003d CONF.image_cache_driver \u003d\u003d \"centralized_db\""},{"line_number":149,"context_line":"        if cache_driver and not CONF.worker_self_reference_url:"},{"line_number":150,"context_line":"            msg \u003d _(\"\u0027worker_self_reference_url\u0027 needs to be set \""},{"line_number":151,"context_line":"                    \"if `centralized_db` is defined as cache driver \""}],"source_content_type":"text/x-python","patch_set":19,"id":"0156271e_34feca4d","line":148,"range":{"start_line":148,"start_character":23,"end_line":148,"end_character":46},"in_reply_to":"04b0d495_fe474889","updated":"2024-02-27 18:02:50.000000000","message":"Acknowledged","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"}],"glance/sqlite_migration.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a65873ae9bf19f99ca49a05a267447a11c77ff26","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        self.context \u003d context.get_admin_context()"},{"line_number":52,"context_line":"        self.node_reference \u003d CONF.worker_self_reference_url"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def migrate(self):"},{"line_number":55,"context_line":"        LOG.debug(\"Adding local node reference %(node)s in centralized db\","},{"line_number":56,"context_line":"                  {\u0027node\u0027: self.node_reference})"},{"line_number":57,"context_line":"        to_be_deleted \u003d []"}],"source_content_type":"text/x-python","patch_set":18,"id":"4db25764_281bdddd","line":54,"updated":"2024-02-20 15:13:22.000000000","message":"Per the previous, I think you need an external lock around this to make sure we aren\u0027t doing this in two places at once. If you do what I suggested and make the dispatch code in the other locations into a single helper, they can grab the lock before they even check, which will help make it cleaner.","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3ade3df405d83cdd5837272f24c253752075499","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.context \u003d context.get_admin_context()"},{"line_number":52,"context_line":"        self.node_reference \u003d CONF.worker_self_reference_url"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def migrate(self):"},{"line_number":55,"context_line":"        LOG.debug(\"Adding local node reference %(node)s in centralized db\","},{"line_number":56,"context_line":"                  {\u0027node\u0027: self.node_reference})"},{"line_number":57,"context_line":"        to_be_deleted \u003d []"}],"source_content_type":"text/x-python","patch_set":18,"id":"eb43be7c_49b01c1c","line":54,"in_reply_to":"4db25764_281bdddd","updated":"2024-02-20 20:07:20.000000000","message":"Done","commit_id":"7e638b099a44e74240a53f12de04630af8861b27"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"54c51bacee96ebd5856950f4a8d5d958c1f2e5d7","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2023 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":19,"id":"f33d4040_42a6c862","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2024-02-27 15:22:03.000000000","message":"Probably 2023-2024 by now, time flies!\n\nAlso, do we want this file in glance/? Shouldn\u0027t we rather move it to glance/image_cache/?","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"18f1388936e5a01f8d3ab8bcddd474e086b7d51a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2023 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":19,"id":"d68e2d84_64f02379","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"d5df8824_beba74b9","updated":"2024-02-27 18:13:15.000000000","message":"Done","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"10ca5f1bd390db8d337aa569b1d9623314b70a91","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2023 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":19,"id":"d5df8824_beba74b9","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"f33d4040_42a6c862","updated":"2024-02-27 18:02:50.000000000","message":"this file is temporary and will be removed once we remove sqlite cache drive","commit_id":"0f2a3644e92bec030ac07f9562215a2b6ba2eff0"}]}
