fix(parse): update job label parse to follow docs and sane input

This PS updates the label parse code to both follow the documented
examples, and limit input to that which can be implemented in K8s.

Additionally the `delete_resource` definition is removed as it is
not used.

Change-Id: I8664fbe58106d310161774459e95388c73f9631e
This commit is contained in:
intlabs
2017-10-16 16:20:26 -05:00
parent cba78d1d03
commit c421097298

View File

@@ -224,39 +224,6 @@ class Tiller(object):
LOG.debug("PRE: Could not create anything, please check yaml")
def delete_resource(self, release_name, resource_name, resource_type,
resource_labels, namespace):
'''
:params release_name - release name the specified resource is under
:params resource_name - name of specific resource
:params resource_type - type of resource e.g. job, pod, etc.
:params resource_labels - labels by which to identify the resource
:params namespace - namespace of the resource
Apply deletion logic based on type of resource
'''
label_selector = 'release_name={}'.format(release_name)
for label in resource_labels:
label_selector += ', {}={}'.format(list(label.keys())[0],
list(label.values())[0])
if 'job' in resource_type:
LOG.info("Deleting %s in namespace: %s", resource_name, namespace)
self.k8s.delete_job_action(resource_name, namespace)
elif 'pod' in resource_type:
release_pods = self.k8s.get_namespace_pod(namespace,
label_selector)
for pod in release_pods.items:
pod_name = pod.metadata.name
LOG.info("Deleting %s in namespace: %s",
pod_name, namespace)
self.k8s.delete_namespace_pod(pod_name, namespace)
self.k8s.wait_for_pod_redeployment(pod_name, namespace)
else:
LOG.error("Unable to execute name: %s type: %s ",
resource_name, resource_type)
def _post_update_actions(self, actions, namespace):
try:
for action in actions.get('create', []):
@@ -515,14 +482,8 @@ class Tiller(object):
label_selector = 'release_name={}'.format(release_name)
if resource_labels is not None:
for label in resource_labels:
if label_selector == '':
label_selector = '{}={}'.format(label.keys()[0],
label.values()[0])
continue
label_selector += ', {}={}'.format(label.keys()[0],
label.values()[0])
label_selector = ",".join(
["%s=%s" % (k, v) for k, v in resource_labels.items()])
if 'job' in resource_type:
LOG.info("Deleting %s in namespace: %s", resource_name, namespace)
@@ -558,9 +519,8 @@ class Tiller(object):
label_selector = 'release_name={}'.format(release_name)
if labels is not None:
for label in labels:
label_selector += ', {}={}'.format(label.keys()[0],
label.values()[0])
label_selector = ",".join(
["%s=%s" % (k, v) for k, v in labels.items()])
get_daemonset = self.k8s.get_namespace_daemonset(
namespace=namespace, label=label_selector)