nova/nova
Balazs Gibizer edeeaf9102 Add late server group policy check to rebuild
The affinity and anti-affinity server group policy is enforced by the
scheduler but two parallel scheduling could cause that such policy is
violated. During instance boot a late policy check was performed in
the compute manager to prevent this. This check was missing in case
of rebuild. Therefore two parallel evacuate command could cause that
the server group policy is violated. This patch introduces the late
policy check to rebuild to prevent such situation. When the violation
is detected during boot a re-scheduling happens. However the rebuild
action does not have the re-scheduling implementation so in this case
the rebuild will fail and the evacuation needs to be retried by the
user. Still this is better than allowing a parallel evacuation to
break the server group affinity policy.

To make the late policy check possible in the compute/manager the
rebuild_instance compute RPC call was extended with a request_spec
parameter.

Co-Authored-By: Richard Zsarnoczai <richard.zsarnoczai@ericsson.com>

Change-Id: I752617066bb2167b49239ab9d17b0c89754a3e12
Closes-Bug: #1735407
2018-02-06 13:54:12 +01:00
..
CA
api Merge "Merge ResourceV21 obj into Resource obj" 2018-01-27 15:28:51 +00:00
cells Add instance action record for snapshot instances 2017-12-11 17:46:38 +08:00
cmd Expand on when you might want to set --max-count for map_instances 2018-01-23 15:34:03 -05:00
common
compute Add late server group policy check to rebuild 2018-02-06 13:54:12 +01:00
conductor Add late server group policy check to rebuild 2018-02-06 13:54:12 +01:00
conf Merge "Deprecate allowed_direct_url_schemes and nova.image.download.modules" 2018-01-27 00:15:49 +00:00
console Fix accumulated nits 2018-01-16 14:54:04 +00:00
consoleauth Merge "Remove translation of log messages" 2017-08-10 11:39:03 +00:00
db Generalize DB conf group copying 2018-01-20 12:43:11 -05:00
hacking trivial: Rename 'policy_check' -> 'policy' 2017-10-25 17:56:40 +01:00
image Merge "Handle images with no data" 2018-01-27 15:29:13 +00:00
ipv6
keymgr Remove deprecated keymgr code 2017-09-11 15:48:30 -04:00
locale Imported Translations from Zanata 2018-01-04 07:20:17 +00:00
network Use neutron port_list when filtering instance by ip 2018-01-23 10:10:53 +08:00
notifications Merge "Transform instance.resize_prep notification" 2018-01-27 01:36:42 +00:00
objects Add late server group policy check to rebuild 2018-02-06 13:54:12 +01:00
pci Address nits in I46d483f9de6776db1b025f925890624e5e682ada 2018-01-02 15:57:50 +00:00
policies Merge "Deprecate API extensions policies" 2018-01-03 09:08:07 +00:00
privsep Move remaining uses of parted to privsep. 2018-01-24 22:26:36 +00:00
scheduler Merge "placement: using the dict format for the allocation in claim_resources" 2018-01-28 18:48:18 +00:00
servicegroup iso8601.is8601.Utc No Longer Exists 2017-08-29 19:26:55 -04:00
tests Add late server group policy check to rebuild 2018-02-06 13:54:12 +01:00
virt Merge "libvirt: don't attempt to live snapshot paused instances" 2018-01-29 04:13:45 +00:00
vnc
volume Add support for getting volume details with a specified microversion 2018-01-02 15:34:05 +01:00
__init__.py
availability_zones.py Avoid lazy-load error when getting instance AZ 2017-05-25 15:46:22 -04:00
baserpc.py
block_device.py Add uuid column to BlockDeviceMapping 2017-12-17 14:28:35 +00:00
cache_utils.py remove log translation tags from nova.cells 2017-04-10 14:48:07 +00:00
config.py
context.py Get auth from context for glance endpoint 2017-11-21 10:26:42 -06:00
crypto.py
debugger.py
exception.py Merge "placement: support traits in allocation candidates API" 2018-01-27 03:34:12 +00:00
exception_wrapper.py rename binary to source in versioned notifications 2017-07-25 17:36:04 +02:00
filters.py
hooks.py
i18n.py correct referenced url in comments 2018-01-18 09:16:37 +08:00
loadables.py
manager.py
policy.py Add policy granularity to the Flavors API 2017-07-19 15:56:47 -04:00
profiler.py
quota.py Follow up on removing old-style quotas code 2017-12-08 22:11:24 +00:00
rpc.py Remove dead code of api.fault notification sending 2017-10-09 17:29:40 +02:00
safe_utils.py Allow wrapping of closures 2017-07-20 10:07:52 +01:00
service.py Enhance doc for nova services 2017-08-31 08:30:48 +08:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-11-28 12:22:30 -06:00
test.py test: Store the OutputStreamCapture fixture 2017-10-25 17:07:34 +01:00
utils.py Fix missing marker functions 2018-01-25 03:37:48 +00:00
version.py
weights.py
wsgi.py