Fix post-flight crash due to new manifest

-Updates the post-flight process to new Armada manifest
 resolving a crash
-Provides more support for new manifest format and new constants
This commit is contained in:
Tim Heyer 2017-07-27 14:50:21 +00:00 committed by Alexis Rivera DeLa Torre
parent afb7fe83ab
commit 5b232d5831
3 changed files with 14 additions and 8 deletions

View File

@ -23,3 +23,7 @@ KEYWORD_PREFIX = 'release_prefix'
KEYWORD_GROUPS = 'chart_groups'
KEYWORD_CHARTS = 'chart_group'
KEYWORD_RELEASE = 'release'
# Statuses
STATUS_DEPLOYED = 'DEPLOYED'
STATUS_FAILED = 'FAILED'

View File

@ -26,7 +26,7 @@ from ..utils.release import release_prefix
from ..utils import git
from ..utils import lint
from ..const import KEYWORD_ARMADA, KEYWORD_GROUPS, KEYWORD_CHARTS,\
KEYWORD_PREFIX
KEYWORD_PREFIX, STATUS_FAILED
LOG = logging.getLogger(__name__)
@ -100,11 +100,11 @@ class Armada(object):
raise Exception("Invalid Armada Object")
# Purge known releases that have failed and are in the current yaml
prefix = self.config.get('armada').get('release_prefix')
failed_releases = self.get_releases_by_status('FAILED')
prefix = self.config.get(KEYWORD_ARMADA).get(KEYWORD_PREFIX)
failed_releases = self.get_releases_by_status(STATUS_FAILED)
for release in failed_releases:
for group in self.config.get('armada').get('charts'):
for ch in group.get('chart_group'):
for group in self.config.get(KEYWORD_ARMADA).get(KEYWORD_GROUPS):
for ch in group.get(KEYWORD_CHARTS):
ch_release_name = release_prefix(prefix,
ch.get('chart')
.get('name'))
@ -292,8 +292,8 @@ class Armada(object):
Operations to run after deployment process has terminated
'''
# Delete git repos cloned for deployment
for group in self.config.get('armada').get('charts'):
for ch in group.get('chart_group'):
for group in self.config.get(KEYWORD_ARMADA).get(KEYWORD_GROUPS):
for ch in group.get(KEYWORD_CHARTS):
if ch.get('chart').get('source').get('type') == 'git':
git.source_cleanup(ch.get('chart').get('source_dir')[0])

View File

@ -19,6 +19,7 @@ from hapi.services.tiller_pb2 import ReleaseServiceStub, ListReleasesRequest, \
from hapi.chart.config_pb2 import Config
from k8s import K8s
from ..const import STATUS_DEPLOYED, STATUS_FAILED
from ..utils.release import release_prefix
from oslo_config import cfg
@ -123,7 +124,8 @@ class Tiller(object):
releases = []
stub = ReleaseServiceStub(self.channel)
req = ListReleasesRequest(limit=RELEASE_LIMIT,
status_codes=['DEPLOYED', 'FAILED'],
status_codes=[STATUS_DEPLOYED,
STATUS_FAILED],
sort_by='LAST_RELEASED',
sort_order='DESC')
release_list = stub.ListReleases(req, self.timeout,