)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"029edfe802f59d23b3276253a69bc9af30898716","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Setting the compute service disable is the smaller problem as the"},{"line_number":22,"context_line":"scheduler still uses the ComputeFilter that filters the computes based"},{"line_number":23,"context_line":"on the service api. So during the enable -\u003edisable race window we only"},{"line_number":24,"context_line":"lose scheduling performance as the placement filter is ineffective."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"In case of setting the compute service to enabled the race is more"},{"line_number":27,"context_line":"visible as the placement pre_filter will filter out the compute that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf51134e_64b7fef6","line":24,"range":{"start_line":24,"start_character":55,"end_line":24,"end_character":66},"updated":"2020-07-10 09:12:51.000000000","message":"nit - inefficient","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a721b5e4ff4f616b27abb6ce3e2d947e8ebe6b71","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Setting the compute service disable is the smaller problem as the"},{"line_number":22,"context_line":"scheduler still uses the ComputeFilter that filters the computes based"},{"line_number":23,"context_line":"on the service api. So during the enable -\u003edisable race window we only"},{"line_number":24,"context_line":"lose scheduling performance as the placement filter is ineffective."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"In case of setting the compute service to enabled the race is more"},{"line_number":27,"context_line":"visible as the placement pre_filter will filter out the compute that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf51134e_aa0f1f2c","line":24,"range":{"start_line":24,"start_character":55,"end_line":24,"end_character":66},"in_reply_to":"bf51134e_64b7fef6","updated":"2020-07-10 12:07:23.000000000","message":"Done","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"}],"nova/tests/functional/regressions/test_bug_1886418.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"11684256ba2ea25331fe75b53402beee8b443ef3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestServices(test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":21,"context_line":"    def setUp(self):"},{"line_number":22,"context_line":"        super(TestServices, self).setUp()"},{"line_number":23,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_c46c0a38","line":20,"range":{"start_line":20,"start_character":19,"end_line":20,"end_character":73},"updated":"2020-07-10 09:28:01.000000000","message":"Is there any reasons you didn\u0027t subclass \u0027_IntegratedTestBase\u0027 instead? That offers most of what you need here, no?","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a721b5e4ff4f616b27abb6ce3e2d947e8ebe6b71","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestServices(test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":21,"context_line":"    def setUp(self):"},{"line_number":22,"context_line":"        super(TestServices, self).setUp()"},{"line_number":23,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_6a2347a8","line":20,"range":{"start_line":20,"start_character":19,"end_line":20,"end_character":73},"in_reply_to":"bf51134e_479bdcc7","updated":"2020-07-10 12:07:23.000000000","message":"I guess I just copy-pasted an exiting test class without thinking.\n\nDone.","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7912608c169da2bbdefb7467aeaa19c056980c68","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestServices(test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":21,"context_line":"    def setUp(self):"},{"line_number":22,"context_line":"        super(TestServices, self).setUp()"},{"line_number":23,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_479bdcc7","line":20,"range":{"start_line":20,"start_character":19,"end_line":20,"end_character":73},"in_reply_to":"bf51134e_8410525b","updated":"2020-07-10 09:41:09.000000000","message":"Perhaps, but this feature (the disabled trait thing) was merged in Train which is when much of the functional test rework was done, so it _should_ be okay to use \u0027_IntegratedTestBase\u0027 here. I suspect it was more a case of copying prior art from \u0027nova.tests.functional.regressions\u0027","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5fe4ff2ce8091ae20d08b1f1dc25bdd961e7229c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from nova.tests.unit.image import fake as fake_image"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestServices(test.TestCase, integrated_helpers.InstanceHelperMixin):"},{"line_number":21,"context_line":"    def setUp(self):"},{"line_number":22,"context_line":"        super(TestServices, self).setUp()"},{"line_number":23,"context_line":"        # Start standard fixtures."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_8410525b","line":20,"range":{"start_line":20,"start_character":19,"end_line":20,"end_character":73},"in_reply_to":"bf51134e_c46c0a38","updated":"2020-07-10 09:34:04.000000000","message":"I initially assumed that was because this is being backported?","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"11684256ba2ea25331fe75b53402beee8b443ef3","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _disable_compute(self):"},{"line_number":51,"context_line":"        self.api.put_service("},{"line_number":52,"context_line":"            self.compute_service_id, {\"status\": \"disabled\"})"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _enable_compute(self):"},{"line_number":55,"context_line":"        self.api.put_service("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_64eb7e77","line":52,"range":{"start_line":52,"start_character":38,"end_line":52,"end_character":39},"updated":"2020-07-10 09:28:01.000000000","message":"my eyes\n\nI suspect I\u0027m the only one who sees this stuff /o\\","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a721b5e4ff4f616b27abb6ce3e2d947e8ebe6b71","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _disable_compute(self):"},{"line_number":51,"context_line":"        self.api.put_service("},{"line_number":52,"context_line":"            self.compute_service_id, {\"status\": \"disabled\"})"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _enable_compute(self):"},{"line_number":55,"context_line":"        self.api.put_service("}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_0a6a8b7f","line":52,"range":{"start_line":52,"start_character":38,"end_line":52,"end_character":39},"in_reply_to":"bf51134e_64eb7e77","updated":"2020-07-10 12:07:23.000000000","message":"I guessed what hurts you and changed that. Done.","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"11684256ba2ea25331fe75b53402beee8b443ef3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def test_compute_disable_after_server_create(self):"},{"line_number":59,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is not on the compute"},{"line_number":60,"context_line":"        self.assertNotIn("},{"line_number":61,"context_line":"            \"COMPUTE_STATUS_DISABLED\","},{"line_number":62,"context_line":"            self._get_traits_on_compute())"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        self._disable_compute()"},{"line_number":65,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_24f50658","line":62,"range":{"start_line":61,"start_character":12,"end_line":62,"end_character":41},"updated":"2020-07-10 09:28:01.000000000","message":"Seeing as this is only ever called with one trait, we could have implemented this as \u0027_has_disabled_trait\u0027 function and assertTrue|False on that","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"11684256ba2ea25331fe75b53402beee8b443ef3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            self._get_traits_on_compute())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # Create a server."},{"line_number":77,"context_line":"        server \u003d self._build_server(networks\u003d[])"},{"line_number":78,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_c4552a52","line":79,"range":{"start_line":77,"start_character":0,"end_line":79,"end_character":62},"updated":"2020-07-10 09:28:01.000000000","message":"Use \u0027_create_server\u0027 instead","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a721b5e4ff4f616b27abb6ce3e2d947e8ebe6b71","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            self._get_traits_on_compute())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # Create a server."},{"line_number":77,"context_line":"        server \u003d self._build_server(networks\u003d[])"},{"line_number":78,"context_line":"        server \u003d self.api.post_server({\u0027server\u0027: server})"},{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_aa1eff08","line":79,"range":{"start_line":77,"start_character":0,"end_line":79,"end_character":62},"in_reply_to":"bf51134e_c4552a52","updated":"2020-07-10 12:07:23.000000000","message":"Done","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"11684256ba2ea25331fe75b53402beee8b443ef3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_24cce633","line":86,"updated":"2020-07-10 09:28:01.000000000","message":"A FIXME here would be useful, just in case the fix didn\u0027t land immediately","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"029edfe802f59d23b3276253a69bc9af30898716","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"},{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_a4911655","line":86,"range":{"start_line":82,"start_character":0,"end_line":86,"end_character":53},"updated":"2020-07-10 09:12:51.000000000","message":"nit - Shouldn\u0027t this start with FIXME?","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"78aabfd1b0141be91b63dd178525841eb975b673","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"},{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_a7abd8d3","line":86,"range":{"start_line":82,"start_character":0,"end_line":86,"end_character":53},"in_reply_to":"bf51134e_a4911655","updated":"2020-07-10 09:42:03.000000000","message":"\u003e nit - Shouldn\u0027t this start with FIXME?\n\njinx, gimme my coke","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a721b5e4ff4f616b27abb6ce3e2d947e8ebe6b71","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"},{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_4a8ac31a","line":86,"range":{"start_line":82,"start_character":0,"end_line":86,"end_character":53},"in_reply_to":"bf51134e_a747581d","updated":"2020-07-10 12:07:23.000000000","message":"Done. I had my coffee so I pass on the coke.","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"222c0e593d4b3a2e81330e8a9666169321431df5","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        server \u003d self._wait_for_state_change(server, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self._disable_compute()"},{"line_number":82,"context_line":"        # Check that COMPUTE_STATUS_DISABLED is now on the compute"},{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_a747581d","line":86,"range":{"start_line":82,"start_character":0,"end_line":86,"end_character":53},"in_reply_to":"bf51134e_a7abd8d3","updated":"2020-07-10 09:50:04.000000000","message":"10:12 vs 10:28, I\u0027ll take my mine with ice thanks.","commit_id":"570c15de338f0e1e740e655230d860657f4b4f19"}],"nova/tests/functional/test_services.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"37d952e496c63f644bbc30e9e74bd8676b85b8b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1fa4df85_1b7baf8c","updated":"2020-02-25 15:19:05.000000000","message":"Not that it matters, but why does this go here rather than in \u0027nova.tests.functional.regressions\u0027?","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"639c13b1862c699596f7f48801e60fbb0c9dfe2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ff570b3c_3ecd3166","in_reply_to":"1fa4df85_1b7baf8c","updated":"2020-05-15 15:24:48.000000000","message":"if its a regression test for a specific bug it should go there yes.","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"37d952e496c63f644bbc30e9e74bd8676b85b8b3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_bb561b06","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"updated":"2020-02-25 15:19:05.000000000","message":"I assume this periodic won\u0027t ever run during tests, right? i.e. the test won\u0027t be racy","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"639c13b1862c699596f7f48801e60fbb0c9dfe2f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_fefd796e","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"in_reply_to":"1fa4df85_bb561b06","updated":"2020-05-15 15:24:48.000000000","message":"there is a way to run them specificly. i belive the periodics normally do run normally in functional test bug i have not looked at this closely.","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3bc9ac505611fcefc396c36ff519a9006e537fac","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_a16619ec","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"in_reply_to":"ff570b3c_5a2adc7d","updated":"2020-06-02 15:00:05.000000000","message":"the periodic would put the COMPUTE_STATUS_DISABLED on the compute RP so the test would not reproduce the problem any more. As I stated in the commit message the issue is fixing itself by letting update_available_resources periodic to run. But that periodic might runs infrequently in a big deployment to spare some rabbit bandwidth. So the problem is visible to the end user.","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"a6a850e6ec748b7fb07e023838e757aac2269433","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_5a2adc7d","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"in_reply_to":"ff570b3c_7729fcf0","updated":"2020-05-27 20:34:34.000000000","message":"So don\u0027t we want to assert the behaviour of running update_available_resource here using _run_periodics?","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"38bcc792ed823fd17d6c5b2c88dbf48ddd5871c5","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_7729fcf0","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"in_reply_to":"ff570b3c_7ea96922","updated":"2020-05-22 20:02:15.000000000","message":"Okay, thanks","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"dafc8472834d3bfc89d9228081ea5774776a47b8","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Unfortunately it is not true as the compute manager failed to update"},{"line_number":84,"context_line":"        # the traits in placement due to a stale provide tree cache. It is"},{"line_number":85,"context_line":"        # stale because a server is booted on the compute since the last"},{"line_number":86,"context_line":"        # update_available_resource periodic was run."},{"line_number":87,"context_line":"        self.assertIn("},{"line_number":88,"context_line":"            \u0027An error occurred while updating COMPUTE_STATUS_DISABLED trait \u0027"},{"line_number":89,"context_line":"            \u0027on compute node resource provider\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_7ea96922","line":86,"range":{"start_line":86,"start_character":10,"end_line":86,"end_character":35},"in_reply_to":"ff570b3c_fefd796e","updated":"2020-05-15 15:38:08.000000000","message":"They don\u0027t run automatically in func tests, you call the _run_periodics helper to do it (self._run_periodics()):\n\nhttps://github.com/openstack/nova/blob/575a91ff5be79ac35aef4b61d84c78c693693304/nova/test.py#L439","commit_id":"bfe8fa44c388464b8176d00dbf9ab893a7a0d9c8"}]}
