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_GROUPS = 'chart_groups'
|
||||||
KEYWORD_CHARTS = 'chart_group'
|
KEYWORD_CHARTS = 'chart_group'
|
||||||
KEYWORD_RELEASE = 'release'
|
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 git
|
||||||
from ..utils import lint
|
from ..utils import lint
|
||||||
from ..const import KEYWORD_ARMADA, KEYWORD_GROUPS, KEYWORD_CHARTS,\
|
from ..const import KEYWORD_ARMADA, KEYWORD_GROUPS, KEYWORD_CHARTS,\
|
||||||
KEYWORD_PREFIX
|
KEYWORD_PREFIX, STATUS_FAILED
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -100,11 +100,11 @@ class Armada(object):
|
||||||
raise Exception("Invalid Armada Object")
|
raise Exception("Invalid Armada Object")
|
||||||
|
|
||||||
# Purge known releases that have failed and are in the current yaml
|
# Purge known releases that have failed and are in the current yaml
|
||||||
prefix = self.config.get('armada').get('release_prefix')
|
prefix = self.config.get(KEYWORD_ARMADA).get(KEYWORD_PREFIX)
|
||||||
failed_releases = self.get_releases_by_status('FAILED')
|
failed_releases = self.get_releases_by_status(STATUS_FAILED)
|
||||||
for release in failed_releases:
|
for release in failed_releases:
|
||||||
for group in self.config.get('armada').get('charts'):
|
for group in self.config.get(KEYWORD_ARMADA).get(KEYWORD_GROUPS):
|
||||||
for ch in group.get('chart_group'):
|
for ch in group.get(KEYWORD_CHARTS):
|
||||||
ch_release_name = release_prefix(prefix,
|
ch_release_name = release_prefix(prefix,
|
||||||
ch.get('chart')
|
ch.get('chart')
|
||||||
.get('name'))
|
.get('name'))
|
||||||
|
@ -292,8 +292,8 @@ class Armada(object):
|
||||||
Operations to run after deployment process has terminated
|
Operations to run after deployment process has terminated
|
||||||
'''
|
'''
|
||||||
# Delete git repos cloned for deployment
|
# Delete git repos cloned for deployment
|
||||||
for group in self.config.get('armada').get('charts'):
|
for group in self.config.get(KEYWORD_ARMADA).get(KEYWORD_GROUPS):
|
||||||
for ch in group.get('chart_group'):
|
for ch in group.get(KEYWORD_CHARTS):
|
||||||
if ch.get('chart').get('source').get('type') == 'git':
|
if ch.get('chart').get('source').get('type') == 'git':
|
||||||
git.source_cleanup(ch.get('chart').get('source_dir')[0])
|
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 hapi.chart.config_pb2 import Config
|
||||||
|
|
||||||
from k8s import K8s
|
from k8s import K8s
|
||||||
|
from ..const import STATUS_DEPLOYED, STATUS_FAILED
|
||||||
from ..utils.release import release_prefix
|
from ..utils.release import release_prefix
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
@ -123,7 +124,8 @@ class Tiller(object):
|
||||||
releases = []
|
releases = []
|
||||||
stub = ReleaseServiceStub(self.channel)
|
stub = ReleaseServiceStub(self.channel)
|
||||||
req = ListReleasesRequest(limit=RELEASE_LIMIT,
|
req = ListReleasesRequest(limit=RELEASE_LIMIT,
|
||||||
status_codes=['DEPLOYED', 'FAILED'],
|
status_codes=[STATUS_DEPLOYED,
|
||||||
|
STATUS_FAILED],
|
||||||
sort_by='LAST_RELEASED',
|
sort_by='LAST_RELEASED',
|
||||||
sort_order='DESC')
|
sort_order='DESC')
|
||||||
release_list = stub.ListReleases(req, self.timeout,
|
release_list = stub.ListReleases(req, self.timeout,
|
||||||
|
|
Loading…
Reference in New Issue