Improve robustness of helm-override-update

- Allow the use of --reuse-values option in helm-override-update
  when there is no user overrides to be consistent with Helm.
- Provide suggestion for correct usage of --set option.

Tests done:
The following commands were used to verify the changes:

system helm-override-update neutron openstack \
--reuse-values --values /home/wrsroot/vlans.yaml

system helm-override-delete neutron openstack

system helm-override-update neutron openstack \
--set conf.plugins.ml2_conf.ml2_type_vlan.network_vlan_ranges=\
"physnet0:10:11,physnet0:1050:1099,physnet1:1100:1124"

Story: 2004520
Task: 29035

Change-Id: Ic5d45f8e7e5e5df4b88468be2f7126c681a6e9cd
Signed-off-by: Tee Ngo <Tee.Ngo@windriver.com>
This commit is contained in:
Tee Ngo 2019-01-22 15:46:55 -05:00
parent 03b59e7e5c
commit d996947d25
1 changed files with 10 additions and 1 deletions

View File

@ -120,13 +120,22 @@ class HelmChartsController(rest.RestController):
raise
if flag == 'reuse':
file_overrides.insert(0, db_chart.user_overrides)
if db_chart.user_overrides is not None:
file_overrides.insert(0, db_chart.user_overrides)
elif flag == 'reset':
pass
else:
raise wsme.exc.ClientSideError(_("Invalid flag: %s must be either "
"'reuse' or 'reset'.") % flag)
if set_overrides:
for overrides in set_overrides:
if ',' in overrides:
raise wsme.exc.ClientSideError(
_("Invalid input: One (or more) set overrides contains "
"multiple values. Consider using --values option "
"instead."))
user_overrides = pecan.request.rpcapi.merge_overrides(
pecan.request.context, file_overrides=file_overrides,
set_overrides=set_overrides)