Merge "Set RPC timeout in PluginReportStateAPI to report_interval" into stable/xena

This commit is contained in:
Zuul 2021-11-11 14:37:29 +00:00 committed by Gerrit Code Review
commit e952ccec6a
3 changed files with 12 additions and 2 deletions

View File

@ -83,14 +83,14 @@ class PluginReportStateAPI(object):
target = oslo_messaging.Target(topic=topic, version='1.2',
namespace=constants.RPC_NAMESPACE_STATE)
self.client = lib_rpc.get_client(target)
self.timeout = cfg.CONF.AGENT.report_interval
def has_alive_neutron_server(self, context, **kwargs):
cctxt = self.client.prepare()
return cctxt.call(context, 'has_alive_neutron_server', **kwargs)
def report_state(self, context, agent_state, use_call=False):
cctxt = self.client.prepare(
timeout=lib_rpc.TRANSPORT.conf.rpc_response_timeout)
cctxt = self.client.prepare(timeout=self.timeout)
# add unique identifier to a report
# that can be logged on server side.
# This create visible correspondence between events on

View File

@ -75,6 +75,11 @@ class AgentRPCPluginApi(base.BaseTestCase):
class AgentPluginReportState(base.BaseTestCase):
def test_plugin_report_state_timeout_report_interval(self):
cfg.CONF.set_override('report_interval', 15, 'AGENT')
reportStateAPI = rpc.PluginReportStateAPI('test')
self.assertEqual(reportStateAPI.timeout, 15)
def test_plugin_report_state_use_call(self):
topic = 'test'
reportStateAPI = rpc.PluginReportStateAPI(topic)

View File

@ -0,0 +1,5 @@
---
fixes:
- |
The agent reporting state to the server now uses a RPC timeout set to
the report_interval configuration option value. See `1948676 <https://bugs.launchpad.net/neutron/+bug/1948676>`_.