Align reconfigure_service_endpoints RPC timeout

The target conductor method reconfigure_service_endpoints() has
a potential timeout of 90 seconds.

reconfigure_service_endpoints() needs to wait for the initial
inventory report which could take about a minute as observed
in the failure case reported.  However, this is already at the
default rpcapi timeout value.

This commit aligns the timeout for the rpcapi call to allow for
the target method timeout and processing time buffer so that the
api call is not timed-out before the target is completed.

Test Plan:
  PASSED Perform bootstrap of controller
  PASSED Perform DC System subcloud upgrade bootstrap
  PASSED Force delay in initial inv beyond default rpc timeout

Closes-Bug: 1952233
Signed-off-by: John Kung <john.kung@windriver.com>
Change-Id: I49d3b46e0750c5316353a7f770541be365428eca
This commit is contained in:
John Kung 2021-11-25 10:20:05 -05:00
parent ced5ccd805
commit 5be57c5a3e
2 changed files with 5 additions and 1 deletions

View File

@ -1823,6 +1823,7 @@ ANSIBLE_BOOTSTRAP_COMPLETED_FLAG = os.path.join(tsc.CONFIG_PATH,
".bootstrap_completed")
UNLOCK_READY_FLAG = os.path.join(tsc.PLATFORM_CONF_PATH, ".unlock_ready")
INVENTORY_WAIT_TIMEOUT_IN_SECS = 90
DEFAULT_RPCAPI_TIMEOUT_IN_SECS = 60
ANSIBLE_RESTORE_ROOK_FLAG = os.path.join(tsc.VOLATILE_PATH, ".ansible_restore_rook")

View File

@ -24,6 +24,7 @@ Client side of the conductor RPC API.
"""
from oslo_log import log
from sysinv.common import constants
from sysinv.objects import base as objects_base
import sysinv.openstack.common.rpc.proxy
@ -2028,7 +2029,9 @@ class ConductorAPI(sysinv.openstack.common.rpc.proxy.RpcProxy):
"""
return self.call(context,
self.make_msg('reconfigure_service_endpoints',
host=host))
host=host),
timeout=constants.INVENTORY_WAIT_TIMEOUT_IN_SECS +
constants.DEFAULT_RPCAPI_TIMEOUT_IN_SECS)
def mgmt_mac_set_by_ihost(self, context, host, mgmt_mac):
"""Update the management mac address upon management interface