nova/nova/conf
Matt Riedemann cd0021157b Use long_rpc_timeout in conductor migrate_server RPC API call
The conductor migrate_server RPC method is a blocking RPC call
used by both the API during a resize / cold migrate request and
by the compute service if rescheduling from a failed prep_resize
operation on the selected dest host (or alternate).

Currently the RPC call is using the global rpc_response_timeout
which defaults to 60 seconds. When coming from the API request,
we're going from API to conductor to scheduler and don't return
the response to the API caller until conductor casts to the
first selected destination host's prep_resize method. In a large
deployment, or under heavy load on the control plane, this could
take long enough to trip the rpc_response_timeout and result in
a MessagingTimeout 500 error response to the user.

Reschedules from the compute should be faster since they don't
involve a roundtrip call to the scheduler (since we have alternate
selections since Queens).

This makes the migrate_server method use the long_rpc_timeout
config for the overall timeout which defaults to 1800 seconds.
The rpc_response_timeout becomes the heartbeat value to make sure
the call is still alive.

This was noticed during at least one particularly slow resize
call that timed out in the gate [1].

Related-Bug: #1763070

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010494.html

Change-Id: I9115ef6df59844cd6e702f19ba38ffbf9f8b35d3
2019-11-01 10:14:34 -04:00
..
__init__.py Add cache_images() to conductor 2019-10-14 11:35:11 -07:00
api.py Deprecate [api]auth_strategy and noauth2 2019-10-09 15:16:07 -05:00
availability_zone.py Default AZ for instance if cross_az_attach=False and checking from API 2019-10-31 10:08:46 -04:00
base.py Ensure config regexes match the entire string 2019-02-13 08:16:45 -05:00
cache.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
cinder.py Default AZ for instance if cross_az_attach=False and checking from API 2019-10-31 10:08:46 -04:00
compute.py Merge "Update help for image_cache_manager_interval option" 2019-10-31 05:08:05 +00:00
conductor.py conf: Remove '[conductor] topic' opt 2018-03-12 13:26:08 +00:00
configdrive.py conf: Rename 'configuration drive' to 'config drive' 2019-06-20 18:23:14 +01:00
console.py conf: remove *_topic config opts 2017-07-17 21:27:02 -07:00
consoleauth.py Remove nova-consoleauth 2019-07-05 15:04:47 +00:00
database.py Add useful error log when _determine_version_cap raises DBNotAllowed 2019-08-07 13:13:06 -04:00
devices.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
ephemeral_storage.py Parse algorithm from cipher for ephemeral disk encryption 2017-04-26 11:19:43 -04:00
glance.py Fix typo in enable_certificate_validation config option help 2018-06-04 14:50:45 -04:00
guestfs.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
hyperv.py hacking: Resolve W605 (invalid escape sequence) 2019-06-24 14:24:06 -05:00
imagecache.py Add cache_images() to conductor 2019-10-14 11:35:11 -07:00
ironic.py Merge "Remove [ironic]api_endpoint option" 2019-05-03 21:08:38 +00:00
key_manager.py Add secret=true to fixed_key configuration parameter 2018-12-03 14:39:51 -05:00
keystone.py Use ksa adapter for keystone conf & requests 2017-11-30 22:33:01 +00:00
libvirt.py libvirt: Enable driver configuring PMEM namespaces 2019-09-19 23:15:39 +00:00
mks.py Use URIOpt 2017-07-18 00:38:24 +00:00
netconf.py conf: Move additional nova-net opts to 'network' 2017-10-26 14:01:18 +00:00
network.py hacking: Resolve W503 (line break occurred before a binary operator) 2019-06-24 14:24:06 -05:00
neutron.py Remove deprecated [neutron]/url option 2019-08-21 17:55:56 +00:00
notifications.py Change the default of notification_format to unversioned 2019-06-04 10:36:45 +02:00
novnc.py Conf options: updated flags for novnc 2016-08-01 15:00:07 -05:00
opts.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
paths.py Make nova build reproducible 2018-03-09 13:12:39 +01:00
pci.py conf: Call out where pci.alias should be set 2019-02-28 10:44:42 +00:00
placement.py Delete the placement code 2019-04-28 20:06:15 +00:00
powervm.py Powervm configuration cleanup 2018-06-13 11:48:30 -05:00
quota.py Follow up for counting quota usage from placement 2019-05-31 21:23:58 +00:00
rdp.py Use URIOpt 2017-07-18 00:38:24 +00:00
remote_debug.py Use HostAddressOpt for opts that accept IP and hostnames 2017-04-03 16:40:36 +05:30
rpc.py Use long_rpc_timeout in conductor migrate_server RPC API call 2019-11-01 10:14:34 -04:00
scheduler.py Add a new request filter to isolate aggregates 2019-09-12 16:56:32 -05:00
serial_console.py hacking: Resolve W605 (invalid escape sequence) 2019-06-24 14:24:06 -05:00
service.py conf: Deprecate 'network_manager' 2018-06-22 15:04:48 +01:00
service_token.py Service token is not experimental 2017-11-21 17:36:32 +00:00
servicegroup.py conf: Use new-style choice values 2018-09-12 09:45:06 -06:00
spice.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
upgrade_levels.py Remove nova-consoleauth 2019-07-05 15:04:47 +00:00
utils.py Get auth from context for glance endpoint 2017-11-21 10:26:42 -06:00
vendordata.py Use a service account to make vendordata requests. 2017-01-26 13:39:46 +00:00
vmware.py Switch some GitHub URLs to point to opendev.org 2019-08-19 21:08:27 +01:00
vnc.py Deprecate the nova-xvpvncproxy service 2018-10-15 10:03:13 +01:00
workarounds.py Add support for translating CPU policy extra specs, image meta 2019-09-18 00:21:10 +01:00
wsgi.py Add missing ws seperator between words 2018-11-26 23:42:18 +00:00
xenserver.py Deprecate the XenAPIDriver 2019-09-06 11:36:22 -04:00
xvp.py flake8: Specify 'nova' as name of app 2017-03-16 13:48:51 -07:00
zvm.py z/VM Driver: Spawn and destroy function of z/VM driver 2018-07-16 11:35:11 +08:00