)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6b0641a713b6194da734cd0082a6141277904bf6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5615937e_49195f56","updated":"2026-08-26 12:23:14.000000000","message":"We need more fixes around here. I can reproduce the original issue fixed here by adding a sleep:\n```\ndiff --git a/nova/manager.py b/nova/manager.py\nindex b9081e949d..d5390ee119 100644\n--- a/nova/manager.py\n+++ b/nova/manager.py\n@@ -237,6 +237,7 @@ class Manager(PeriodicTasks, metaclass\u003dManagerMeta):\n         :param failed: Whether the task failed and record task end as failed\n             task.\n         \"\"\"\n+        import time; time.sleep(1)\n         if future is not None:\n             # NOTE(gmaan): Tasks end are recorded for logging so if it is\n             # canceled or failed (means not completed successfully) then\n```\nAnd this patch fixes the error in the tests it changed but there are other tests failing with this sleep injected:\n\n```\nnova.tests.functional.test_graceful_shutdown.TestComputeGracefulShutdown.test_rpc_call_are_tracked\n--------------------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/gibi/upstream/git/openstack/nova/nova/tests/functional/test_graceful_shutdown.py\", line 875, in test_rpc_call_are_tracked\n    self.assertEqual(1, len(tracked))\n    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n\n      File \"/home/gibi/upstream/git/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/testtools/testcase.py\", line 513, in assertEqual\n    self.assertThat(observed, matcher, message)\n    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n      File \"/home/gibi/upstream/git/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/testtools/testcase.py\", line 704, in assertThat\n    raise mismatch_error\n\n    testtools.matchers._impl.MismatchError: 1 !\u003d 2\n```\nand\n```\nnova.tests.functional.test_graceful_shutdown.TestComputeGracefulShutdown.test_snapshot_instance_track_and_wait_during_shutdown\n------------------------------------------------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/gibi/upstream/git/openstack/nova/nova/tests/functional/test_graceful_shutdown.py\", line 650, in test_snapshot_instance_track_and_wait_during_shutdown\n    self.assertEqual(1, len(tracked))\n    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n\n      File \"/home/gibi/upstream/git/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/testtools/testcase.py\", line 513, in assertEqual\n    self.assertThat(observed, matcher, message)\n    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n      File \"/home/gibi/upstream/git/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/testtools/testcase.py\", line 704, in assertThat\n    raise mismatch_error\n\n    testtools.matchers._impl.MismatchError: 1 !\u003d 2\n```","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"13693e4091a9c03d79064c44ce4fed81fbb9b034","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"eb677b9a_911b5f50","updated":"2026-08-26 11:52:19.000000000","message":"recheck is it a new one?\n```\nAssertionError: Wait for state change failed, expected_params\u003d{\u0027status\u0027: \u0027VERIFY_RESIZE\u0027}, server\u003d{\u0027accessIPv4\u0027: \u0027\u0027, \u0027accessIPv6\u0027: \u0027\u0027, \u0027addresses\u0027: {}, \u0027created\u0027: \u00272026-08-26T03:34:42Z\u0027, \u0027flavor\u0027: {\u0027vcpus\u0027: 2, \u0027ram\u0027: 2048, \u0027disk\u0027: 10, \u0027ephemeral\u0027: 10, \u0027swap\u0027: 0, \u0027original_name\u0027: \u0027jegsryydyoyykumxyrqj\u0027, \u0027extra_specs\u0027: {\u0027hw:pmem\u0027: \u0027SMALL\u0027}}, \u0027hostId\u0027: \u00278a8d66db9eed58f2b1283d23acc9a32691290b603a716d81d8ed8c4e\u0027, \u0027id\u0027: \u00273de2c295-06d5-4de9-a917-061c2d19923b\u0027, \u0027image\u0027: {\u0027id\u0027: \u0027155d900f-4e14-4e4c-a73d-069cbf4541e6\u0027, \u0027links\u0027: [{\u0027rel\u0027: \u0027bookmark\u0027, \u0027href\u0027: \u0027http://a31dd139-67d5-464e-99f8-f9eaff93f461/images/155d900f-4e14-4e4c-a73d-069cbf4541e6\u0027}], \u0027properties\u0027: {\u0027architecture\u0027: \u0027x86_64\u0027}}, \u0027links\u0027: [{\u0027rel\u0027: \u0027self\u0027, \u0027href\u0027: \u0027http://a31dd139-67d5-464e-99f8-f9eaff93f461/v2.1/servers/3de2c295-06d5-4de9-a917-061c2d19923b\u0027}, {\u0027rel\u0027: \u0027bookmark\u0027, \u0027href\u0027: \u0027http://a31dd139-67d5-464e-99f8-f9eaff93f461/servers/3de2c295-06d5-4de9-a917-061c2d19923b\u0027}], \u0027metadata\u0027: {}, \u0027name\u0027: \u0027iziunihfiybhjthfgazc\u0027, \u0027status\u0027: \u0027ERROR\u0027, \u0027tenant_id\u0027: \u00276f70656e737461636b20342065766572\u0027, \u0027user_id\u0027: \u0027admin\u0027, \u0027updated\u0027: \u00272026-08-26T03:34:44Z\u0027, \u0027OS-DCF:diskConfig\u0027: \u0027MANUAL\u0027, \u0027fault\u0027: {\u0027code\u0027: 500, \u0027created\u0027: \u00272026-08-26T03:34:44Z\u0027, \u0027message\u0027: \u0027OperationalError\u0027, \u0027details\u0027: \u0027Traceback (most recent call last):\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1969, in _exec_single_context\\n    self.dialect.do_execute(\\n    ~~~~~~~~~~~~~~~~~~~~~~~^\\n        cursor, str_statement, effective_parameters, context\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/default.py\", line 952, in do_execute\\n    cursor.execute(statement, parameters)\\n    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^\\nsqlite3.OperationalError: database is locked\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/compute/manager.py\", line 202, in decorated_function\\n    return function(self, context, *args, **kwargs)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/compute/manager.py\", line 6718, in resize_instance\\n    with excutils.save_and_reraise_exception():\\n         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 260, in __exit__\\n    self.force_reraise()\\n    ~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 226, in force_reraise\\n    raise self.value\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/compute/manager.py\", line 6715, in resize_instance\\n    self._resize_instance(context, instance, image, migration,\\n    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n                          flavor, clean_shutdown, request_spec)\\n                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/compute/manager.py\", line 6736, in _resize_instance\\n    migration.save()\\n    ~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_versionedobjects/base.py\", line 315, in wrapper\\n    return _wrapper_instancemethod(first, *args, **kwargs)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_versionedobjects/base.py\", line 304, in _wrapper_instancemethod\\n    return fn(self, *args, **kwargs)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/objects/migration.py\", line 225, in save\\n    db_migration \u003d db.migration_update(self._context, self.id, updates)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/api.py\", line 144, in wrapper\\n    with excutils.save_and_reraise_exception() as ectxt:\\n         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 260, in __exit__\\n    self.force_reraise()\\n    ~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 226, in force_reraise\\n    raise self.value\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/api.py\", line 142, in wrapper\\n    return f(*args, **kwargs)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/db/main/api.py\", line 206, in wrapper\\n    with ctxt_mgr.writer.using(context):\\n         ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^\\n  File \"/usr/lib/python3.13/contextlib.py\", line 148, in __exit__\\n    next(self.gen)\\n    ~~~~^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/fixtures/nova.py\", line 457, in _locked_scope\\n    with original(tcm_self, context) as resource:\\n         ~~~~~~~~^^^^^^^^^^^^^^^^^^^\\n  File \"/usr/lib/python3.13/contextlib.py\", line 148, in __exit__\\n    next(self.gen)\\n    ~~~~^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/nova/tests/fixtures/nova.py\", line 457, in _locked_scope\\n    with original(tcm_self, context) as resource:\\n         ~~~~~~~~^^^^^^^^^^^^^^^^^^^\\n  File \"/usr/lib/python3.13/contextlib.py\", line 148, in __exit__\\n    next(self.gen)\\n    ~~~~^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 1175, in _transaction_scope\\n    with current._produce_block(\\n         ~~~~~~~~~~~~~~~~~~~~~~^\\n        mode\u003dself._mode,\\n        ^^^^^^^^^^^^^^^^\\n    ...\u003c3 lines\u003e...\\n        context\u003dcontext,\\n        ^^^^^^^^^^^^^^^^\\n    ) as resource:\\n    ^\\n  File \"/usr/lib/python3.13/contextlib.py\", line 148, in __exit__\\n    next(self.gen)\\n    ~~~~^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 837, in _session\\n    with excutils.save_and_reraise_exception():\\n         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 260, in __exit__\\n    self.force_reraise()\\n    ~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_utils/excutils.py\", line 226, in force_reraise\\n    raise self.value\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 835, in _session\\n    self._end_session_transaction(self.session)\\n    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/oslo_db/sqlalchemy/enginefacade.py\", line 748, in _end_session_transaction\\n    session.commit()\\n    ~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 2035, in commit\\n    trans.commit(_to_root\u003dTrue)\\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^\\n  File \"\u003cstring\u003e\", line 2, in commit\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/state_changes.py\", line 137, in _go\\n    ret_value \u003d fn(self, *arg, **kw)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 1316, in commit\\n    self._prepare_impl()\\n    ~~~~~~~~~~~~~~~~~~^^\\n  File \"\u003cstring\u003e\", line 2, in _prepare_impl\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/state_changes.py\", line 137, in _go\\n    ret_value \u003d fn(self, *arg, **kw)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 1290, in _prepare_impl\\n    self.session.flush()\\n    ~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 4353, in flush\\n    self._flush(objects)\\n    ~~~~~~~~~~~^^^^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 4488, in _flush\\n    with util.safe_reraise():\\n         ~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/util/langhelpers.py\", line 122, in __exit__\\n    raise exc_value.with_traceback(exc_tb)\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/session.py\", line 4449, in _flush\\n    flush_context.execute()\\n    ~~~~~~~~~~~~~~~~~~~~~^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/unitofwork.py\", line 465, in execute\\n    rec.execute(self)\\n    ~~~~~~~~~~~^^^^^^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/unitofwork.py\", line 641, in execute\\n    util.preloaded.orm_persistence.save_obj(\\n    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\\n        self.mapper,\\n        ^^^^^^^^^^^^\\n        uow.states_for_mapper_hierarchy(self.mapper, False, False),\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n        uow,\\n        ^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/persistence.py\", line 86, in save_obj\\n    _emit_update_statements(\\n    ~~~~~~~~~~~~~~~~~~~~~~~^\\n        base_mapper,\\n        ^^^^^^^^^^^^\\n    ...\u003c3 lines\u003e...\\n        update,\\n        ^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/orm/persistence.py\", line 913, in _emit_update_statements\\n    c \u003d connection.execute(\\n        statement, multiparams, execution_options\u003dexecution_options\\n    )\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1421, in execute\\n    return meth(\\n        self,\\n        distilled_parameters,\\n        execution_options or NO_OPTIONS,\\n    )\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/sql/elements.py\", line 526, in _execute_on_connection\\n    return connection._execute_clauseelement(\\n           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\\n        self, distilled_params, execution_options\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1643, in _execute_clauseelement\\n    ret \u003d self._execute_context(\\n        dialect,\\n    ...\u003c8 lines\u003e...\\n        cache_hit\u003dcache_hit,\\n    )\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1848, in _execute_context\\n    return self._exec_single_context(\\n           ~~~~~~~~~~~~~~~~~~~~~~~~~^\\n        dialect, context, statement, parameters\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1988, in _exec_single_context\\n    self._handle_dbapi_exception(\\n    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^\\n        e, str_statement, effective_parameters, cursor, context\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 2362, in _handle_dbapi_exception\\n    raise newraise.with_traceback(exc_info[2]) from e\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/base.py\", line 1969, in _exec_single_context\\n    self.dialect.do_execute(\\n    ~~~~~~~~~~~~~~~~~~~~~~~^\\n        cursor, str_statement, effective_parameters, context\\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n    )\\n    ^\\n  File \"/home/zuul/src/opendev.org/openstack/nova/.tox/functional-py313-threading/lib/python3.13/site-packages/sqlalchemy/engine/default.py\", line 952, in do_execute\\n    cursor.execute(statement, parameters)\\n    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^\\nsqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked\\n[SQL: UPDATE migrations SET status\u003d?, updated_at\u003d? WHERE migrations.id \u003d ?]\\n[parameters: (\\\u0027migrating\\\u0027, \\\u00272026-08-26 03:34:44.426210\\\u0027, 1)]\\n(Background on this error at: https://sqlalche.me/e/20/e3q8)\\n\u0027}, \u0027OS-EXT-AZ:availability_zone\u0027: \u0027nova\u0027, \u0027config_drive\u0027: \u0027\u0027, \u0027key_name\u0027: None, \u0027OS-SRV-USG:launched_at\u0027: \u00272026-08-26T03:34:43.081050\u0027, \u0027OS-SRV-USG:terminated_at\u0027: None, \u0027OS-EXT-SRV-ATTR:host\u0027: \u0027host1\u0027, \u0027OS-EXT-SRV-ATTR:instance_name\u0027: \u0027instance-00000001\u0027, \u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027: \u0027host1\u0027, \u0027OS-EXT-SRV-ATTR:hostname\u0027: \u0027iziunihfiybhjthfgazc\u0027, \u0027OS-EXT-SRV-ATTR:kernel_id\u0027: \u0027\u0027, \u0027OS-EXT-SRV-ATTR:launch_index\u0027: 0, \u0027OS-EXT-SRV-ATTR:ramdisk_id\u0027: \u0027\u0027, \u0027OS-EXT-SRV-ATTR:reservation_id\u0027: \u0027r-dm81flvy\u0027, \u0027OS-EXT-SRV-ATTR:root_device_name\u0027: \u0027/dev/vda\u0027, \u0027OS-EXT-SRV-ATTR:user_data\u0027: None, \u0027OS-EXT-STS:task_state\u0027: None, \u0027OS-EXT-STS:vm_state\u0027: \u0027error\u0027, \u0027OS-EXT-STS:power_state\u0027: 0, \u0027os-extended-volumes:volumes_attached\u0027: [], \u0027locked\u0027: False, \u0027host_status\u0027: \u0027UP\u0027, \u0027description\u0027: None, \u0027tags\u0027: [], \u0027trusted_image_certificates\u0027: None, \u0027server_groups\u0027: [], \u0027locked_reason\u0027: None, \u0027pinned_availability_zone\u0027: \u0027nova\u0027, \u0027scheduler_hints\u0027: {}}, wait_for_fault\u003dFalse\n```","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d88115c4f0af197e3fac0b3a0833e3860ec98c14","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6ef734c8_08439872","in_reply_to":"1ca15ee7_cbdbd58a","updated":"2026-08-26 18:43:11.000000000","message":"Done","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5725e71eeb6116df7c91cf266279f00d035b941d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1ca15ee7_cbdbd58a","in_reply_to":"5615937e_49195f56","updated":"2026-08-26 16:34:30.000000000","message":"yeah, I need to fix those also with samw waiter","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"eb2dd0ef7ec40b12f47384678ffe8919948eb59f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ff65ee09_179a881c","updated":"2026-08-27 14:29:19.000000000","message":"Looks good to me","commit_id":"365314945b1c41cc849e054977e2a32af6cc0b5c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"07890619c2df0de390cfaa4ce5768c91c20cdeb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fee15460_ecac2747","updated":"2026-08-27 09:11:34.000000000","message":"looks good and these tests now passes with sleep injected. Lets add the addCleanup(even.set) in a follow up.","commit_id":"365314945b1c41cc849e054977e2a32af6cc0b5c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b3bdd3982ee8b967c944f8fd396396b639a8132c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c75205ac_f55f145e","in_reply_to":"fee15460_ecac2747","updated":"2026-08-27 12:37:08.000000000","message":"ack.","commit_id":"365314945b1c41cc849e054977e2a32af6cc0b5c"}],"nova/tests/functional/test_graceful_shutdown.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6b0641a713b6194da734cd0082a6141277904bf6","unresolved":true,"context_lines":[{"line_number":703,"context_line":"        for _ in range(2):"},{"line_number":704,"context_line":"            server \u003d self.api.post_server({\u0027server\u0027: server_body})"},{"line_number":705,"context_line":"            with lock:"},{"line_number":706,"context_line":"                started_events[server[\u0027id\u0027]] \u003d threading.Event()"},{"line_number":707,"context_line":"                proceed_events[server[\u0027id\u0027]] \u003d nova_fixtures.WaitableEvent()"},{"line_number":708,"context_line":"            servers.append(server)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        for server in servers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"4c09f51a_29326c13","line":707,"range":{"start_line":706,"start_character":0,"end_line":707,"end_character":76},"updated":"2026-08-26 12:23:14.000000000","message":"if we are using events in tests then it always good to make sure you add a \nself.addCleanup(event.set) for each event so that if something fails in the test case later then the cleanup can unlock the waiters and the test will not hang but fail cleanly.\n\nPlease add these here and below/above in a follow up","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5725e71eeb6116df7c91cf266279f00d035b941d","unresolved":true,"context_lines":[{"line_number":703,"context_line":"        for _ in range(2):"},{"line_number":704,"context_line":"            server \u003d self.api.post_server({\u0027server\u0027: server_body})"},{"line_number":705,"context_line":"            with lock:"},{"line_number":706,"context_line":"                started_events[server[\u0027id\u0027]] \u003d threading.Event()"},{"line_number":707,"context_line":"                proceed_events[server[\u0027id\u0027]] \u003d nova_fixtures.WaitableEvent()"},{"line_number":708,"context_line":"            servers.append(server)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        for server in servers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e8e612d_afe59e43","line":707,"range":{"start_line":706,"start_character":0,"end_line":707,"end_character":76},"in_reply_to":"4c09f51a_29326c13","updated":"2026-08-26 16:34:30.000000000","message":"ack, will fix.","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"034d3a5838a0d9be7543e656a832143f947daea3","unresolved":false,"context_lines":[{"line_number":703,"context_line":"        for _ in range(2):"},{"line_number":704,"context_line":"            server \u003d self.api.post_server({\u0027server\u0027: server_body})"},{"line_number":705,"context_line":"            with lock:"},{"line_number":706,"context_line":"                started_events[server[\u0027id\u0027]] \u003d threading.Event()"},{"line_number":707,"context_line":"                proceed_events[server[\u0027id\u0027]] \u003d nova_fixtures.WaitableEvent()"},{"line_number":708,"context_line":"            servers.append(server)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        for server in servers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9d77e770_791f2b1e","line":707,"range":{"start_line":706,"start_character":0,"end_line":707,"end_character":76},"in_reply_to":"8e8e612d_afe59e43","updated":"2026-08-26 18:42:59.000000000","message":"Done","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b3bdd3982ee8b967c944f8fd396396b639a8132c","unresolved":false,"context_lines":[{"line_number":703,"context_line":"        for _ in range(2):"},{"line_number":704,"context_line":"            server \u003d self.api.post_server({\u0027server\u0027: server_body})"},{"line_number":705,"context_line":"            with lock:"},{"line_number":706,"context_line":"                started_events[server[\u0027id\u0027]] \u003d threading.Event()"},{"line_number":707,"context_line":"                proceed_events[server[\u0027id\u0027]] \u003d nova_fixtures.WaitableEvent()"},{"line_number":708,"context_line":"            servers.append(server)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        for server in servers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"0fcff21c_208b5d1d","line":707,"range":{"start_line":706,"start_character":0,"end_line":707,"end_character":76},"in_reply_to":"9d77e770_791f2b1e","updated":"2026-08-27 12:37:08.000000000","message":"https://review.opendev.org/c/openstack/nova/+/1002638/1","commit_id":"1b868cf98f05f91a9fa620640548b4d088a62702"}]}
