Support floating IP reservation parameters in lease-update
The lease-update command needs to know about all possible keys that can
be passed as reservation parameters. Also treat required_floatingips as
a list, like in commit 9183950833
.
Change-Id: Iad95ebf662fb052000f05aa3d76f76308704fd1d
Related-Bug: #1843258
This commit is contained in:
parent
9183950833
commit
e98421c919
@ -412,14 +412,17 @@ class UpdateLease(command.UpdateCommand):
|
||||
if parsed_args.start_date:
|
||||
params['start_date'] = parsed_args.start_date
|
||||
if parsed_args.reservation:
|
||||
keys = [
|
||||
keys = set([
|
||||
# General keys
|
||||
'id',
|
||||
# Keys for host reservation
|
||||
'min', 'max', 'hypervisor_properties', 'resource_properties',
|
||||
# Keys for instance reservation
|
||||
'vcpus', 'memory_mb', 'disk_gb', 'amount', 'affinity'
|
||||
]
|
||||
'vcpus', 'memory_mb', 'disk_gb', 'amount', 'affinity',
|
||||
# Keys for floating IP reservation
|
||||
'amount', 'network_id', 'required_floatingips',
|
||||
])
|
||||
list_keys = ['required_floatingips']
|
||||
params['reservations'] = []
|
||||
reservations = []
|
||||
for res_str in parsed_args.reservation:
|
||||
@ -433,7 +436,9 @@ class UpdateLease(command.UpdateCommand):
|
||||
match = prog.search(params)
|
||||
if match:
|
||||
k, v = match.group(2, 3)
|
||||
if strutils.is_int_like(v):
|
||||
if k in list_keys:
|
||||
v = jsonutils.loads(v)
|
||||
elif strutils.is_int_like(v):
|
||||
v = int(v)
|
||||
res_info[k] = v
|
||||
if match.group(1) is not None:
|
||||
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
The command-line client now parses floating IP reservation values when
|
||||
using the ``lease-update`` command. Note that while accepted by the client,
|
||||
the Blazar service may prevent the update of some floating IP reservation
|
||||
values.
|
Loading…
Reference in New Issue
Block a user