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'])
|
||||
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(
|
||||
transition=status.lease.UPDATING,
|
||||
result_in=status.lease.STABLE,
|
||||
|
@ -461,6 +472,10 @@ class ManagerService(service_utils.RPCServer):
|
|||
'Please enter valid reservation IDs. Invalid reservation '
|
||||
'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:
|
||||
[
|
||||
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