Merge "Fix lease update when resource_type parameter is missing"
This commit is contained in:
commit
fb599ec609
|
@ -396,6 +396,17 @@ class ManagerService(service_utils.RPCServer):
|
||||||
self._send_notification(lease, ctx, events=['create'])
|
self._send_notification(lease, ctx, events=['create'])
|
||||||
return lease
|
return lease
|
||||||
|
|
||||||
|
def _add_resource_type(self, reservations, existing_reservations):
|
||||||
|
rsvns_by_id = {}
|
||||||
|
|
||||||
|
for r in existing_reservations:
|
||||||
|
rsvns_by_id[r['id']] = r
|
||||||
|
for r in reservations:
|
||||||
|
if 'resource_type' not in r:
|
||||||
|
r['resource_type'] = rsvns_by_id[r['id']]['resource_type']
|
||||||
|
|
||||||
|
return reservations
|
||||||
|
|
||||||
@status.lease.lease_status(
|
@status.lease.lease_status(
|
||||||
transition=status.lease.UPDATING,
|
transition=status.lease.UPDATING,
|
||||||
result_in=status.lease.STABLE,
|
result_in=status.lease.STABLE,
|
||||||
|
@ -461,6 +472,10 @@ class ManagerService(service_utils.RPCServer):
|
||||||
'Please enter valid reservation IDs. Invalid reservation '
|
'Please enter valid reservation IDs. Invalid reservation '
|
||||||
'IDs are: %s' % ','.join([str(id) for id in invalid_ids]))
|
'IDs are: %s' % ','.join([str(id) for id in invalid_ids]))
|
||||||
|
|
||||||
|
# Populate resource_type if missing from data passed by client
|
||||||
|
reservations = self._add_resource_type(reservations,
|
||||||
|
existing_reservations)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
[
|
[
|
||||||
self.plugins[r['resource_type']] for r
|
self.plugins[r['resource_type']] for r
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixes failure to update reservations when the ``resource_type`` parameter
|
||||||
|
is not provided in the API request. For more details, see `bug 1957761
|
||||||
|
<https://bugs.launchpad.net/blazar/+bug/1957761>`_.
|
Loading…
Reference in New Issue