From 2f7df9417bd79c00deb7acbd9febc1b730c3301a Mon Sep 17 00:00:00 2001 From: melanie witt Date: Mon, 19 Mar 2018 23:10:47 +0000 Subject: [PATCH] Remove useless run_periodic_tasks call in ClientRouter The only periodic task (_remove_stale_clients) in ClientRouter was removed in change I10f374adca672576058c4dbab708c040d166df47 and this isn't the correct way to run periodic tasks repeatedly anyway (this will only run them once upon ClientRouter.__init__), so remove the useless call. This also removes a functional regression test which was testing only this specific code path, where the intended periodic task ran only once upon init of the compute service. All other periodic tasks in compute are disabled by default in functional tests. Related-Bug: #1627838 Change-Id: I3079c5ae4bd60de44f04e0136978a67d13e7a809 --- nova/rpc.py | 2 -- .../regressions/test_bug_1627838.py | 32 ------------------- 2 files changed, 34 deletions(-) delete mode 100644 nova/tests/functional/regressions/test_bug_1627838.py diff --git a/nova/rpc.py b/nova/rpc.py index c99b74a0f936..7ed87dde5a11 100644 --- a/nova/rpc.py +++ b/nova/rpc.py @@ -409,8 +409,6 @@ class ClientRouter(periodic_task.PeriodicTasks): # NOTE(melwitt): Cells v1 does its own serialization and won't # have a serializer available on the client object. self.serializer = getattr(default_client, 'serializer', None) - # Prevent this empty context from overwriting the thread local copy - self.run_periodic_tasks(nova.context.RequestContext(overwrite=False)) def client(self, context): transport = context.mq_connection diff --git a/nova/tests/functional/regressions/test_bug_1627838.py b/nova/tests/functional/regressions/test_bug_1627838.py deleted file mode 100644 index af9be8c26d13..000000000000 --- a/nova/tests/functional/regressions/test_bug_1627838.py +++ /dev/null @@ -1,32 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from oslo_context import context as common_context -from oslo_context import fixture as context_fixture - -from nova import context -from nova import test - - -class TestThreadLocalContext(test.TestCase): - def setUp(self): - super(TestThreadLocalContext, self).setUp() - self.useFixture(context_fixture.ClearRequestContext()) - # This will set the thread local copy of the context - self.context = context.RequestContext('user', 'project') - # Start the compute service to initialize compute RPC - self.start_service('compute') - - def test_context_not_overwritten_by_periodic_tasks(self): - # None of the periodic tasks should have overwritten the - # thread local copy of the context - self.assertEqual(self.context, common_context.get_current())