From d84cdbb68ec0e42edf1cca016308489bf9e2e1fe Mon Sep 17 00:00:00 2001 From: Brian Haley Date: Sun, 22 Jun 2025 17:06:34 -0400 Subject: [PATCH] Change FixedIntervalLoopingCall to use keyword argument The FixedIntervalLoopingCall class takes a function as a keyword argument, always specify it with a keyword to remove any ambiquity, instead of relying on its position. Related-change: https://review.opendev.org/c/openstack/oslo.service/+/952607 TrivialFix Change-Id: Ibcb6486a6ef7a281b18400a653eaebb9d841ee84 Signed-off-by: Brian Haley --- neutron/agent/dhcp/agent.py | 4 ++-- neutron/agent/l3/agent.py | 2 +- neutron/agent/metadata/agent.py | 2 +- neutron/plugins/ml2/drivers/agent/_common_agent.py | 2 +- neutron/service.py | 4 ++-- neutron/services/metering/agents/metering_agent.py | 4 ++-- neutron/tests/unit/agent/metadata/test_agent.py | 2 +- neutron/worker.py | 3 ++- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/neutron/agent/dhcp/agent.py b/neutron/agent/dhcp/agent.py index 3bd0301335f..63196c909f4 100644 --- a/neutron/agent/dhcp/agent.py +++ b/neutron/agent/dhcp/agent.py @@ -939,7 +939,7 @@ class NetworkCache: self._deleted_ports = set() self._deleted_ports_ts = [] self.cleanup_loop = loopingcall.FixedIntervalLoopingCall( - self.cleanup_deleted_ports) + f=self.cleanup_deleted_ports) self.cleanup_loop.start(DELETED_PORT_MAX_AGE, initial_delay=DELETED_PORT_MAX_AGE) @@ -1082,7 +1082,7 @@ class DhcpAgentWithStateReport(DhcpAgent): report_interval = self.conf.AGENT.report_interval if report_interval: self.heartbeat = loopingcall.FixedIntervalLoopingCall( - self._report_state) + f=self._report_state) self.heartbeat.start(interval=report_interval) def _report_state(self): diff --git a/neutron/agent/l3/agent.py b/neutron/agent/l3/agent.py index a61691cb2e3..a3ec1cd82f1 100644 --- a/neutron/agent/l3/agent.py +++ b/neutron/agent/l3/agent.py @@ -1004,7 +1004,7 @@ class L3NATAgentWithStateReport(L3NATAgent): report_interval = self.conf.AGENT.report_interval if report_interval: self.heartbeat = loopingcall.FixedIntervalLoopingCall( - self._report_state) + f=self._report_state) self.heartbeat.start(interval=report_interval) def after_start(self): diff --git a/neutron/agent/metadata/agent.py b/neutron/agent/metadata/agent.py index 697260cd9cb..3c65ec9e7c5 100644 --- a/neutron/agent/metadata/agent.py +++ b/neutron/agent/metadata/agent.py @@ -206,7 +206,7 @@ class UnixDomainMetadataProxy(proxy_base.UnixDomainMetadataProxyBase): report_interval = cfg.CONF.AGENT.report_interval if report_interval: self.heartbeat = loopingcall.FixedIntervalLoopingCall( - self._report_state) + f=self._report_state) self.heartbeat.start(interval=report_interval) def _report_state(self): diff --git a/neutron/plugins/ml2/drivers/agent/_common_agent.py b/neutron/plugins/ml2/drivers/agent/_common_agent.py index 3d31e11a9e1..b43f7742b4c 100644 --- a/neutron/plugins/ml2/drivers/agent/_common_agent.py +++ b/neutron/plugins/ml2/drivers/agent/_common_agent.py @@ -104,7 +104,7 @@ class CommonAgentLoop(service.Service): report_interval = cfg.CONF.AGENT.report_interval if report_interval: heartbeat = loopingcall.FixedIntervalLoopingCall( - self._report_state) + f=self._report_state) heartbeat.start(interval=report_interval) capabilities.notify_init_event(self.agent_type, self) diff --git a/neutron/service.py b/neutron/service.py index 260505ab4e0..a817c169bd5 100644 --- a/neutron/service.py +++ b/neutron/service.py @@ -406,7 +406,7 @@ class Service(n_rpc.Service): self.manager.init_host() super().start() if self.report_interval: - pulse = loopingcall.FixedIntervalLoopingCall(self.report_state) + pulse = loopingcall.FixedIntervalLoopingCall(f=self.report_state) pulse.start(interval=self.report_interval, initial_delay=self.report_interval) self.timers.append(pulse) @@ -419,7 +419,7 @@ class Service(n_rpc.Service): initial_delay = None periodic = loopingcall.FixedIntervalLoopingCall( - self.periodic_tasks) + f=self.periodic_tasks) periodic.start(interval=self.periodic_interval, initial_delay=initial_delay) self.timers.append(periodic) diff --git a/neutron/services/metering/agents/metering_agent.py b/neutron/services/metering/agents/metering_agent.py index 9e0cf857f93..b71e4d230e2 100644 --- a/neutron/services/metering/agents/metering_agent.py +++ b/neutron/services/metering/agents/metering_agent.py @@ -80,7 +80,7 @@ class MeteringAgent(MeteringPluginRpc, manager.Manager): def init_host(self): super().init_host() self.metering_loop = loopingcall.FixedIntervalLoopingCall( - self._metering_loop + f=self._metering_loop ) self.metering_loop.start(interval=self.conf.measure_interval) @@ -371,7 +371,7 @@ class MeteringAgentWithStateReport(MeteringAgent): report_interval = cfg.CONF.AGENT.report_interval if report_interval: self.heartbeat = loopingcall.FixedIntervalLoopingCall( - self._report_state) + f=self._report_state) self.heartbeat.start(interval=report_interval) def _report_state(self): diff --git a/neutron/tests/unit/agent/metadata/test_agent.py b/neutron/tests/unit/agent/metadata/test_agent.py index 2e541ac55d8..7ddc3f29db6 100644 --- a/neutron/tests/unit/agent/metadata/test_agent.py +++ b/neutron/tests/unit/agent/metadata/test_agent.py @@ -447,7 +447,7 @@ class TestUnixDomainMetadataProxy(base.BaseTestCase): server.assert_has_calls([ mock.call('/the/path', mock.ANY), mock.call().serve_forever()]) - self.looping_mock.assert_called_once_with(p._report_state) + self.looping_mock.assert_called_once_with(f=p._report_state) self.looping_mock.return_value.start.assert_called_once_with( interval=mock.ANY) diff --git a/neutron/worker.py b/neutron/worker.py index 7aef6c21c71..a9e1fba4457 100644 --- a/neutron/worker.py +++ b/neutron/worker.py @@ -44,7 +44,8 @@ class PeriodicWorker(NeutronBaseWorker): def start(self): super().start(desc="periodic worker") if self._loop is None: - self._loop = loopingcall.FixedIntervalLoopingCall(self._check_func) + self._loop = loopingcall.FixedIntervalLoopingCall( + f=self._check_func) self._loop.start(interval=self._interval, initial_delay=self._initial_delay)