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:
parent
afb7fe83ab
commit
5b232d5831
|
@ -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'
|
||||
|
|
|
@ -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])
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue