Fix --enable-chart-cleanup option

The current logic to find valid releases is incorrect resulting in zero
valid releases being found and all currently installed chart releases
with the release_prefix will being remove.

The 'chart' parameter  has the following formatting:
[{'data':
  {'chart_group':
    [{'data':
        {'chart_name': 'ingress',
         'release': 'kube-system-ingress'
  ...

This update adapts the code to the expected format of the data provided.

Change-Id: Ib285cdf21283b8ec73d583fb107ba49514a9dda7
Signed-off-by: Robert Church <robert.church@windriver.com>
This commit is contained in:
Robert Church 2019-07-29 01:49:08 -04:00
parent caa75e403e
commit 9eec6e3056
1 changed files with 5 additions and 3 deletions

View File

@ -282,10 +282,12 @@ class Armada(object):
valid_releases = []
for gchart in charts:
for chart in gchart.get(const.KEYWORD_CHARTS, []):
gchart_data = gchart.get(const.KEYWORD_DATA, {})
for chart in gchart_data.get(const.KEYWORD_CHARTS, []):
chart_data = chart.get(const.KEYWORD_DATA, {})
valid_releases.append(
release_prefixer(prefix,
chart.get('chart', {}).get('release')))
release_prefixer(
prefix, chart_data.get('release')))
actual_releases = [x.name for x in self.tiller.list_releases()]
release_diff = list(set(actual_releases) - set(valid_releases))