From 8a1638098f88d92bf799ef4934abe569789b885e Mon Sep 17 00:00:00 2001 From: Robert Church Date: Mon, 29 Jul 2019 01:49:08 -0400 Subject: [PATCH] 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 being removed. The data passed to this method is a list of chart groups with the following format: [{'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 --- armada/handlers/armada.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/armada/handlers/armada.py b/armada/handlers/armada.py index 7aef88a7..413f052a 100644 --- a/armada/handlers/armada.py +++ b/armada/handlers/armada.py @@ -279,16 +279,16 @@ class Armada(object): LOG.debug('Removing temp chart directory: %s', chart_dir) source.source_cleanup(chart_dir) - def _chart_cleanup(self, prefix, charts, msg): + def _chart_cleanup(self, prefix, chart_groups, msg): LOG.info('Processing chart cleanup to remove unspecified releases.') valid_releases = [] - for gchart in charts: - for chart in gchart.get(const.KEYWORD_CHARTS, []): + for group in chart_groups: + group_data = group.get(const.KEYWORD_DATA, {}) + for chart in group_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))