summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Eagan <sean.eagan@att.com>2018-11-08 13:47:16 -0600
committerSean Eagan <sean.eagan@att.com>2018-11-12 13:32:52 -0600
commit7af22df7dcbfc4afdd241213ab3951b6d48f7c6c (patch)
tree970895eb9f7c7146a5bdb17d49488d58e6a8690f
parentd35896537b998fe9771f115c6489a81a8ae77d14 (diff)
Implement tiller gRPC channel clean up
We have seen issues with dangling threads in Armada. This is likely due to a bug [0] in the version of gRPC that we were pinned to. This patchset: - moves us to the latest versions of the gRPC python libraries which add a new `channel.close()` method to cleanup channels. - implements the python context manager api in the tiller handler - uses the context manager api to explicitly scope tiller channel creation and cleanup to each Armada API and CLI call. This also fixes a couples issues with error handling introduced in [1]. [0]: https://github.com/grpc/grpc/issues/14338 [1]: https://review.openstack.org/#/c/610384 Change-Id: I2577a20fc76c397aa33157dc12a0e1d36f49733e
Notes
Notes (review): Code-Review+2: Bryan Strassner <bryan.strassner@gmail.com> Code-Review+1: Andrey Volkov <av903u@att.com> Code-Review+1: Kaspars Skels <kaspars.skels@gmail.com> Code-Review+2: Scott Hussey <sthussey@att.com> Workflow+1: Scott Hussey <sthussey@att.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Tue, 13 Nov 2018 15:26:38 +0000 Reviewed-on: https://review.openstack.org/616680 Project: openstack/airship-armada Branch: refs/heads/master
-rw-r--r--armada/api/__init__.py15
-rw-r--r--armada/api/controller/armada.py46
-rw-r--r--armada/api/controller/rollback.py35
-rw-r--r--armada/api/controller/test.py38
-rw-r--r--armada/api/controller/tiller.py70
-rw-r--r--armada/api/server.py3
-rw-r--r--armada/cli/apply.py38
-rw-r--r--armada/cli/delete.py8
-rw-r--r--armada/cli/rollback.py30
-rw-r--r--armada/cli/test.py12
-rw-r--r--armada/cli/tiller.py11
-rw-r--r--armada/exceptions/base_exception.py2
-rw-r--r--armada/handlers/armada.py21
-rw-r--r--armada/handlers/tiller.py16
-rw-r--r--armada/tests/unit/api/test_armada_controller.py19
-rw-r--r--armada/tests/unit/api/test_rollback_controller.py11
-rw-r--r--armada/tests/unit/api/test_test_controller.py50
-rw-r--r--armada/tests/unit/api/test_tiller_controller.py50
-rw-r--r--armada/tests/unit/handlers/test_armada.py52
-rw-r--r--armada/tests/unit/handlers/test_tiller.py8
-rw-r--r--hapi/chart/chart_pb2.py17
-rw-r--r--hapi/chart/config_pb2.py24
-rw-r--r--hapi/chart/metadata_pb2.py64
-rw-r--r--hapi/chart/template_pb2.py11
-rw-r--r--hapi/release/hook_pb2.py57
-rw-r--r--hapi/release/info_pb2.py17
-rw-r--r--hapi/release/release_pb2.py23
-rw-r--r--hapi/release/status_pb2.py35
-rw-r--r--hapi/release/test_run_pb2.py27
-rw-r--r--hapi/release/test_suite_pb2.py13
-rw-r--r--hapi/services/tiller_pb2.py223
-rw-r--r--hapi/version/version_pb2.py13
-rw-r--r--requirements.txt4
33 files changed, 538 insertions, 525 deletions
diff --git a/armada/api/__init__.py b/armada/api/__init__.py
index ac27ccf..df88295 100644
--- a/armada/api/__init__.py
+++ b/armada/api/__init__.py
@@ -23,6 +23,8 @@ import falcon
23from oslo_config import cfg 23from oslo_config import cfg
24from oslo_log import log as logging 24from oslo_log import log as logging
25 25
26from armada.handlers.tiller import Tiller
27
26CONF = cfg.CONF 28CONF = cfg.CONF
27 29
28 30
@@ -107,6 +109,19 @@ class BaseResource(object):
107 def error(self, ctx, msg): 109 def error(self, ctx, msg):
108 self.log_error(ctx, log.ERROR, msg) 110 self.log_error(ctx, log.ERROR, msg)
109 111
112 def get_tiller(self, req, resp):
113 dry_run = req.get_param_as_bool('dry_run')
114 tiller_port = req.get_param_as_int('tiller_port') or CONF.tiller_port
115 tiller_namespace = req.get_param(
116 'tiller_namespace',
117 default=CONF.tiller_namespace) or CONF.tiller_namespace
118
119 return Tiller(
120 tiller_host=req.get_param('tiller_host'),
121 tiller_port=tiller_port,
122 tiller_namespace=tiller_namespace,
123 dry_run=dry_run)
124
110 125
111class ArmadaRequestContext(object): 126class ArmadaRequestContext(object):
112 127
diff --git a/armada/api/controller/armada.py b/armada/api/controller/armada.py
index ef6c6a7..d21b8f0 100644
--- a/armada/api/controller/armada.py
+++ b/armada/api/controller/armada.py
@@ -16,7 +16,6 @@ import json
16import yaml 16import yaml
17 17
18import falcon 18import falcon
19from oslo_config import cfg
20 19
21from armada import api 20from armada import api
22from armada.common import policy 21from armada.common import policy
@@ -25,8 +24,6 @@ from armada.handlers.armada import Armada
25from armada.handlers.document import ReferenceResolver 24from armada.handlers.document import ReferenceResolver
26from armada.handlers.override import Override 25from armada.handlers.override import Override
27 26
28CONF = cfg.CONF
29
30 27
31class Apply(api.BaseResource): 28class Apply(api.BaseResource):
32 """Controller for installing and updating charts defined in an Armada 29 """Controller for installing and updating charts defined in an Armada
@@ -71,31 +68,30 @@ class Apply(api.BaseResource):
71 message="Request must be in application/x-yaml" 68 message="Request must be in application/x-yaml"
72 "or application/json") 69 "or application/json")
73 try: 70 try:
74 armada = Armada( 71 with self.get_tiller(req, resp) as tiller:
75 documents, 72
76 disable_update_pre=req.get_param_as_bool('disable_update_pre'), 73 armada = Armada(
77 disable_update_post=req.get_param_as_bool( 74 documents,
78 'disable_update_post'), 75 disable_update_pre=req.get_param_as_bool(
79 enable_chart_cleanup=req.get_param_as_bool( 76 'disable_update_pre'),
80 'enable_chart_cleanup'), 77 disable_update_post=req.get_param_as_bool(
81 dry_run=req.get_param_as_bool('dry_run'), 78 'disable_update_post'),
82 force_wait=req.get_param_as_bool('wait'), 79 enable_chart_cleanup=req.get_param_as_bool(
83 timeout=req.get_param_as_int('timeout'), 80 'enable_chart_cleanup'),
84 tiller_host=req.get_param('tiller_host'), 81 dry_run=req.get_param_as_bool('dry_run'),
85 tiller_port=req.get_param_as_int('tiller_port') or 82 force_wait=req.get_param_as_bool('wait'),
86 CONF.tiller_port, 83 timeout=req.get_param_as_int('timeout'),
87 tiller_namespace=req.get_param( 84 tiller=tiller,
88 'tiller_namespace', default=CONF.tiller_namespace), 85 target_manifest=req.get_param('target_manifest'))
89 target_manifest=req.get_param('target_manifest'))
90 86
91 msg = armada.sync() 87 msg = armada.sync()
92 88
93 resp.body = json.dumps({ 89 resp.body = json.dumps({
94 'message': msg, 90 'message': msg,
95 }) 91 })
96 92
97 resp.content_type = 'application/json' 93 resp.content_type = 'application/json'
98 resp.status = falcon.HTTP_200 94 resp.status = falcon.HTTP_200
99 except exceptions.ManifestException as e: 95 except exceptions.ManifestException as e:
100 self.return_error(resp, falcon.HTTP_400, message=str(e)) 96 self.return_error(resp, falcon.HTTP_400, message=str(e))
101 except Exception as e: 97 except Exception as e:
diff --git a/armada/api/controller/rollback.py b/armada/api/controller/rollback.py
index 8553c65..38468d9 100644
--- a/armada/api/controller/rollback.py
+++ b/armada/api/controller/rollback.py
@@ -19,7 +19,6 @@ from oslo_config import cfg
19 19
20from armada import api 20from armada import api
21from armada.common import policy 21from armada.common import policy
22from armada.handlers.tiller import Tiller
23 22
24CONF = cfg.CONF 23CONF = cfg.CONF
25 24
@@ -33,26 +32,20 @@ class Rollback(api.BaseResource):
33 try: 32 try:
34 dry_run = req.get_param_as_bool('dry_run') 33 dry_run = req.get_param_as_bool('dry_run')
35 34
36 tiller = Tiller( 35 with self.get_tiller(req, resp) as tiller:
37 tiller_host=req.get_param('tiller_host'), 36
38 tiller_port=req.get_param_as_int('tiller_port') or 37 tiller.rollback_release(
39 CONF.tiller_port, 38 release,
40 tiller_namespace=req.get_param( 39 req.get_param_as_int('version') or 0,
41 'tiller_namespace', default=CONF.tiller_namespace), 40 wait=req.get_param_as_bool('wait'),
42 dry_run=dry_run) 41 timeout=req.get_param_as_int('timeout') or 0,
43 42 force=req.get_param_as_bool('force'),
44 tiller.rollback_release( 43 recreate_pods=req.get_param_as_bool('recreate_pods'))
45 release, 44
46 req.get_param_as_int('version') or 0, 45 resp.body = json.dumps({
47 wait=req.get_param_as_bool('wait'), 46 'message': ('(dry run) ' if dry_run else '') +
48 timeout=req.get_param_as_int('timeout') or 0, 47 'Rollback of {} complete.'.format(release),
49 force=req.get_param_as_bool('force'), 48 })
50 recreate_pods=req.get_param_as_bool('recreate_pods'))
51
52 resp.body = json.dumps({
53 'message': ('(dry run) ' if dry_run else '') +
54 'Rollback of {} complete.'.format(release),
55 })
56 49
57 resp.content_type = 'application/json' 50 resp.content_type = 'application/json'
58 resp.status = falcon.HTTP_200 51 resp.status = falcon.HTTP_200
diff --git a/armada/api/controller/test.py b/armada/api/controller/test.py
index 0a0c63b..2201fe2 100644
--- a/armada/api/controller/test.py
+++ b/armada/api/controller/test.py
@@ -22,7 +22,6 @@ from armada import api
22from armada.common import policy 22from armada.common import policy
23from armada import const 23from armada import const
24from armada.handlers.test import test_release_for_success 24from armada.handlers.test import test_release_for_success
25from armada.handlers.tiller import Tiller
26from armada.handlers.manifest import Manifest 25from armada.handlers.manifest import Manifest
27from armada.utils.release import release_prefixer 26from armada.utils.release import release_prefixer
28from armada.utils import validate 27from armada.utils import validate
@@ -38,24 +37,13 @@ class TestReleasesReleaseNameController(api.BaseResource):
38 @policy.enforce('armada:test_release') 37 @policy.enforce('armada:test_release')
39 def on_get(self, req, resp, release): 38 def on_get(self, req, resp, release):
40 self.logger.info('RUNNING: %s', release) 39 self.logger.info('RUNNING: %s', release)
41 try: 40 with self.get_tiller(req, resp) as tiller:
42 tiller = Tiller( 41
43 tiller_host=req.get_param('tiller_host'),
44 tiller_port=req.get_param_as_int('tiller_port') or
45 CONF.tiller_port,
46 tiller_namespace=req.get_param(
47 'tiller_namespace', default=CONF.tiller_namespace))
48 cleanup = req.get_param_as_bool('cleanup') 42 cleanup = req.get_param_as_bool('cleanup')
49 if cleanup is None: 43 if cleanup is None:
50 cleanup = False 44 cleanup = False
51 success = test_release_for_success( 45 success = test_release_for_success(
52 tiller, release, cleanup=cleanup) 46 tiller, release, cleanup=cleanup)
53 # TODO(fmontei): Provide more sensible exception(s) here.
54 except Exception as e:
55 err_message = 'Failed to test {}: {}'.format(release, e)
56 self.error(req.context, err_message)
57 return self.return_error(
58 resp, falcon.HTTP_500, message=err_message)
59 47
60 if success: 48 if success:
61 msg = { 49 msg = {
@@ -119,23 +107,10 @@ class TestReleasesManifestController(api.BaseResource):
119 @policy.enforce('armada:test_manifest') 107 @policy.enforce('armada:test_manifest')
120 def on_post(self, req, resp): 108 def on_post(self, req, resp):
121 # TODO(fmontei): Validation Content-Type is application/x-yaml. 109 # TODO(fmontei): Validation Content-Type is application/x-yaml.
110 with self.get_tiller(req, resp) as tiller:
111 return self.handle(req, resp, tiller)
122 112
123 target_manifest = req.get_param('target_manifest', None) 113 def handle(self, req, resp, tiller):
124
125 try:
126 tiller = Tiller(
127 tiller_host=req.get_param('tiller_host'),
128 tiller_port=req.get_param_as_int('tiller_port') or
129 CONF.tiller_port,
130 tiller_namespace=req.get_param(
131 'tiller_namespace', default=CONF.tiller_namespace))
132 # TODO(fmontei): Provide more sensible exception(s) here.
133 except Exception:
134 err_message = 'Failed to initialize Tiller handler.'
135 self.error(req.context, err_message)
136 return self.return_error(
137 resp, falcon.HTTP_500, message=err_message)
138
139 try: 114 try:
140 documents = self.req_yaml(req, default=[]) 115 documents = self.req_yaml(req, default=[])
141 except yaml.YAMLError: 116 except yaml.YAMLError:
@@ -143,9 +118,10 @@ class TestReleasesManifestController(api.BaseResource):
143 return self.return_error( 118 return self.return_error(
144 resp, falcon.HTTP_400, message=err_message) 119 resp, falcon.HTTP_400, message=err_message)
145 120
121 target_manifest = req.get_param('target_manifest', None)
146 is_valid = self._validate_documents(req, resp, documents) 122 is_valid = self._validate_documents(req, resp, documents)
147 if not is_valid: 123 if not is_valid:
148 return resp 124 return
149 125
150 armada_obj = Manifest( 126 armada_obj = Manifest(
151 documents, target_manifest=target_manifest).get_manifest() 127 documents, target_manifest=target_manifest).get_manifest()
diff --git a/armada/api/controller/tiller.py b/armada/api/controller/tiller.py
index b61645d..631b929 100644
--- a/armada/api/controller/tiller.py
+++ b/armada/api/controller/tiller.py
@@ -20,7 +20,6 @@ from oslo_log import log as logging
20 20
21from armada import api 21from armada import api
22from armada.common import policy 22from armada.common import policy
23from armada.handlers.tiller import Tiller
24 23
25CONF = cfg.CONF 24CONF = cfg.CONF
26LOG = logging.getLogger(__name__) 25LOG = logging.getLogger(__name__)
@@ -34,27 +33,23 @@ class Status(api.BaseResource):
34 get tiller status 33 get tiller status
35 ''' 34 '''
36 try: 35 try:
37 tiller = Tiller( 36 with self.get_tiller(req, resp) as tiller:
38 tiller_host=req.get_param('tiller_host'), 37
39 tiller_port=req.get_param_as_int('tiller_port') or 38 LOG.debug(
40 CONF.tiller_port, 39 'Tiller (Status) at: %s:%s, namespace=%s, '
41 tiller_namespace=req.get_param( 40 'timeout=%s', tiller.tiller_host, tiller.tiller_port,
42 'tiller_namespace', default=CONF.tiller_namespace)) 41 tiller.tiller_namespace, tiller.timeout)
43 42
44 LOG.debug('Tiller (Status) at: %s:%s, namespace=%s, ' 43 message = {
45 'timeout=%s', tiller.tiller_host, tiller.tiller_port, 44 'tiller': {
46 tiller.tiller_namespace, tiller.timeout) 45 'state': tiller.tiller_status(),
47 46 'version': tiller.tiller_version()
48 message = { 47 }
49 'tiller': {
50 'state': tiller.tiller_status(),
51 'version': tiller.tiller_version()
52 } 48 }
53 }
54 49
55 resp.status = falcon.HTTP_200 50 resp.status = falcon.HTTP_200
56 resp.body = json.dumps(message) 51 resp.body = json.dumps(message)
57 resp.content_type = 'application/json' 52 resp.content_type = 'application/json'
58 53
59 except Exception as e: 54 except Exception as e:
60 err_message = 'Failed to get Tiller Status: {}'.format(e) 55 err_message = 'Failed to get Tiller Status: {}'.format(e)
@@ -69,26 +64,21 @@ class Release(api.BaseResource):
69 '''Controller for listing Tiller releases. 64 '''Controller for listing Tiller releases.
70 ''' 65 '''
71 try: 66 try:
72 tiller = Tiller( 67 with self.get_tiller(req, resp) as tiller:
73 tiller_host=req.get_param('tiller_host'), 68
74 tiller_port=req.get_param_as_int('tiller_port') or 69 LOG.debug(
75 CONF.tiller_port, 70 'Tiller (Release) at: %s:%s, namespace=%s, '
76 tiller_namespace=req.get_param( 71 'timeout=%s', tiller.tiller_host, tiller.tiller_port,
77 'tiller_namespace', default=CONF.tiller_namespace)) 72 tiller.tiller_namespace, tiller.timeout)
78 73
79 LOG.debug( 74 releases = {}
80 'Tiller (Release) at: %s:%s, namespace=%s, ' 75 for release in tiller.list_releases():
81 'timeout=%s', tiller.tiller_host, tiller.tiller_port, 76 releases.setdefault(release.namespace, [])
82 tiller.tiller_namespace, tiller.timeout) 77 releases[release.namespace].append(release.name)
83 78
84 releases = {} 79 resp.body = json.dumps({'releases': releases})
85 for release in tiller.list_releases(): 80 resp.content_type = 'application/json'
86 releases.setdefault(release.namespace, []) 81 resp.status = falcon.HTTP_200
87 releases[release.namespace].append(release.name)
88
89 resp.body = json.dumps({'releases': releases})
90 resp.content_type = 'application/json'
91 resp.status = falcon.HTTP_200
92 82
93 except Exception as e: 83 except Exception as e:
94 err_message = 'Unable to find Tiller Releases: {}'.format(e) 84 err_message = 'Unable to find Tiller Releases: {}'.format(e)
diff --git a/armada/api/server.py b/armada/api/server.py
index 4b8f3f6..a8e6490 100644
--- a/armada/api/server.py
+++ b/armada/api/server.py
@@ -78,8 +78,7 @@ def create(enable_middleware=CONF.middleware):
78 policy.Enforcer(CONF) 78 policy.Enforcer(CONF)
79 79
80 # Error handlers (FILO handling) 80 # Error handlers (FILO handling)
81 api.add_error_handler(exceptions.ArmadaBaseException, 81 api.add_error_handler(Exception, exceptions.default_exception_handler)
82 exceptions.default_exception_handler)
83 api.add_error_handler(exceptions.ArmadaAPIException, 82 api.add_error_handler(exceptions.ArmadaAPIException,
84 exceptions.ArmadaAPIException.handle) 83 exceptions.ArmadaAPIException.handle)
85 84
diff --git a/armada/cli/apply.py b/armada/cli/apply.py
index 161f219..209b960 100644
--- a/armada/cli/apply.py
+++ b/armada/cli/apply.py
@@ -21,6 +21,7 @@ from armada.cli import CliAction
21from armada.exceptions.source_exceptions import InvalidPathException 21from armada.exceptions.source_exceptions import InvalidPathException
22from armada.handlers.armada import Armada 22from armada.handlers.armada import Armada
23from armada.handlers.document import ReferenceResolver 23from armada.handlers.document import ReferenceResolver
24from armada.handlers.tiller import Tiller
24 25
25CONF = cfg.CONF 26CONF = cfg.CONF
26 27
@@ -198,23 +199,26 @@ class ApplyManifest(CliAction):
198 return 199 return
199 200
200 if not self.ctx.obj.get('api', False): 201 if not self.ctx.obj.get('api', False):
201 armada = Armada( 202 with Tiller(
202 documents, 203 tiller_host=self.tiller_host,
203 disable_update_pre=self.disable_update_pre, 204 tiller_port=self.tiller_port,
204 disable_update_post=self.disable_update_post, 205 tiller_namespace=self.tiller_namespace,
205 enable_chart_cleanup=self.enable_chart_cleanup, 206 dry_run=self.dry_run) as tiller:
206 dry_run=self.dry_run, 207 armada = Armada(
207 set_ovr=self.set, 208 documents,
208 force_wait=self.wait, 209 disable_update_pre=self.disable_update_pre,
209 timeout=self.timeout, 210 disable_update_post=self.disable_update_post,
210 tiller_host=self.tiller_host, 211 enable_chart_cleanup=self.enable_chart_cleanup,
211 tiller_port=self.tiller_port, 212 dry_run=self.dry_run,
212 tiller_namespace=self.tiller_namespace, 213 set_ovr=self.set,
213 values=self.values, 214 force_wait=self.wait,
214 target_manifest=self.target_manifest) 215 timeout=self.timeout,
215 216 tiller=tiller,
216 resp = armada.sync() 217 values=self.values,
217 self.output(resp) 218 target_manifest=self.target_manifest)
219
220 resp = armada.sync()
221 self.output(resp)
218 else: 222 else:
219 if len(self.values) > 0: 223 if len(self.values) > 0:
220 self.logger.error( 224 self.logger.error(
diff --git a/armada/cli/delete.py b/armada/cli/delete.py
index 3050538..c54d3b3 100644
--- a/armada/cli/delete.py
+++ b/armada/cli/delete.py
@@ -88,8 +88,12 @@ class DeleteChartManifest(CliAction):
88 self.tiller_port = tiller_port 88 self.tiller_port = tiller_port
89 89
90 def invoke(self): 90 def invoke(self):
91 tiller = Tiller( 91 with Tiller(
92 tiller_host=self.tiller_host, tiller_port=self.tiller_port) 92 tiller_host=self.tiller_host,
93 tiller_port=self.tiller_port) as tiller:
94 self.handle(tiller)
95
96 def handle(self, tiller):
93 known_release_names = [release[0] for release in tiller.list_charts()] 97 known_release_names = [release[0] for release in tiller.list_charts()]
94 98
95 if self.releases: 99 if self.releases:
diff --git a/armada/cli/rollback.py b/armada/cli/rollback.py
index 25143fd..89bf9f2 100644
--- a/armada/cli/rollback.py
+++ b/armada/cli/rollback.py
@@ -110,21 +110,21 @@ class Rollback(CliAction):
110 self.recreate_pods = recreate_pods 110 self.recreate_pods = recreate_pods
111 111
112 def invoke(self): 112 def invoke(self):
113 tiller = Tiller( 113 with Tiller(
114 tiller_host=self.tiller_host, 114 tiller_host=self.tiller_host,
115 tiller_port=self.tiller_port, 115 tiller_port=self.tiller_port,
116 tiller_namespace=self.tiller_namespace, 116 tiller_namespace=self.tiller_namespace,
117 dry_run=self.dry_run) 117 dry_run=self.dry_run) as tiller:
118 118
119 response = tiller.rollback_release( 119 response = tiller.rollback_release(
120 self.release, 120 self.release,
121 self.version, 121 self.version,
122 wait=self.wait, 122 wait=self.wait,
123 timeout=self.timeout, 123 timeout=self.timeout,
124 force=self.force, 124 force=self.force,
125 recreate_pods=self.recreate_pods) 125 recreate_pods=self.recreate_pods)
126 126
127 self.output(response) 127 self.output(response)
128 128
129 def output(self, response): 129 def output(self, response):
130 self.logger.info(('(dry run) ' if self.dry_run else '') + 130 self.logger.info(('(dry run) ' if self.dry_run else '') +
diff --git a/armada/cli/test.py b/armada/cli/test.py
index 5544a22..f3636f7 100644
--- a/armada/cli/test.py
+++ b/armada/cli/test.py
@@ -105,10 +105,14 @@ class TestChartManifest(CliAction):
105 self.cleanup = cleanup 105 self.cleanup = cleanup
106 106
107 def invoke(self): 107 def invoke(self):
108 tiller = Tiller( 108 with Tiller(
109 tiller_host=self.tiller_host, 109 tiller_host=self.tiller_host,
110 tiller_port=self.tiller_port, 110 tiller_port=self.tiller_port,
111 tiller_namespace=self.tiller_namespace) 111 tiller_namespace=self.tiller_namespace) as tiller:
112
113 self.handle(tiller)
114
115 def handle(self, tiller):
112 known_release_names = [release[0] for release in tiller.list_charts()] 116 known_release_names = [release[0] for release in tiller.list_charts()]
113 117
114 if self.release: 118 if self.release:
diff --git a/armada/cli/tiller.py b/armada/cli/tiller.py
index 1f8b827..51c3331 100644
--- a/armada/cli/tiller.py
+++ b/armada/cli/tiller.py
@@ -84,11 +84,14 @@ class TillerServices(CliAction):
84 84
85 def invoke(self): 85 def invoke(self):
86 86
87 tiller = Tiller( 87 with Tiller(
88 tiller_host=self.tiller_host, 88 tiller_host=self.tiller_host,
89 tiller_port=self.tiller_port, 89 tiller_port=self.tiller_port,
90 tiller_namespace=self.tiller_namespace) 90 tiller_namespace=self.tiller_namespace) as tiller:
91 91
92 self.handle(tiller)
93
94 def handle(self, tiller):
92 if self.status: 95 if self.status:
93 if not self.ctx.obj.get('api', False): 96 if not self.ctx.obj.get('api', False):
94 self.logger.info('Tiller Service: %s', tiller.tiller_status()) 97 self.logger.info('Tiller Service: %s', tiller.tiller_status())
diff --git a/armada/exceptions/base_exception.py b/armada/exceptions/base_exception.py
index 392d7a8..2afaa68 100644
--- a/armada/exceptions/base_exception.py
+++ b/armada/exceptions/base_exception.py
@@ -165,7 +165,7 @@ def default_exception_handler(ex, req, resp, params):
165 else: 165 else:
166 # take care of the uncaught stuff 166 # take care of the uncaught stuff
167 exc_string = traceback.format_exc() 167 exc_string = traceback.format_exc()
168 logging.error('Unhanded Exception being handled: \n%s', exc_string) 168 LOG.error('Unhanded Exception being handled: \n%s', exc_string)
169 format_error_resp( 169 format_error_resp(
170 req, 170 req,
171 resp, 171 resp,
diff --git a/armada/handlers/armada.py b/armada/handlers/armada.py
index a95401e..0fb5063 100644
--- a/armada/handlers/armada.py
+++ b/armada/handlers/armada.py
@@ -26,7 +26,6 @@ from armada.exceptions import validate_exceptions
26from armada.handlers.chart_deploy import ChartDeploy 26from armada.handlers.chart_deploy import ChartDeploy
27from armada.handlers.manifest import Manifest 27from armada.handlers.manifest import Manifest
28from armada.handlers.override import Override 28from armada.handlers.override import Override
29from armada.handlers.tiller import Tiller
30from armada.utils.release import release_prefixer 29from armada.utils.release import release_prefixer
31from armada.utils import source 30from armada.utils import source
32 31
@@ -42,6 +41,7 @@ class Armada(object):
42 41
43 def __init__(self, 42 def __init__(self,
44 documents, 43 documents,
44 tiller,
45 disable_update_pre=False, 45 disable_update_pre=False,
46 disable_update_post=False, 46 disable_update_post=False,
47 enable_chart_cleanup=False, 47 enable_chart_cleanup=False,
@@ -49,9 +49,6 @@ class Armada(object):
49 set_ovr=None, 49 set_ovr=None,
50 force_wait=False, 50 force_wait=False,
51 timeout=None, 51 timeout=None,
52 tiller_host=None,
53 tiller_port=None,
54 tiller_namespace=None,
55 values=None, 52 values=None,
56 target_manifest=None, 53 target_manifest=None,
57 k8s_wait_attempts=1, 54 k8s_wait_attempts=1,
@@ -60,6 +57,7 @@ class Armada(object):
60 Initialize the Armada engine and establish a connection to Tiller. 57 Initialize the Armada engine and establish a connection to Tiller.
61 58
62 :param List[dict] documents: Armada documents. 59 :param List[dict] documents: Armada documents.
60 :param tiller: Tiller instance to use.
63 :param bool disable_update_pre: Disable pre-update Tiller operations. 61 :param bool disable_update_pre: Disable pre-update Tiller operations.
64 :param bool disable_update_post: Disable post-update Tiller 62 :param bool disable_update_post: Disable post-update Tiller
65 operations. 63 operations.
@@ -69,11 +67,6 @@ class Armada(object):
69 deployed, rather than using each chart's specified wait policy. 67 deployed, rather than using each chart's specified wait policy.
70 :param int timeout: Specifies overall time in seconds that Tiller 68 :param int timeout: Specifies overall time in seconds that Tiller
71 should wait for charts until timing out. 69 should wait for charts until timing out.
72 :param str tiller_host: Tiller host IP. Default is None.
73 :param int tiller_port: Tiller host port. Default is
74 ``CONF.tiller_port``.
75 :param str tiller_namespace: Tiller host namespace. Default is
76 ``CONF.tiller_namespace``.
77 :param str target_manifest: The target manifest to run. Useful for 70 :param str target_manifest: The target manifest to run. Useful for
78 specifying which manifest to run when multiple are available. 71 specifying which manifest to run when multiple are available.
79 :param int k8s_wait_attempts: The number of times to attempt waiting 72 :param int k8s_wait_attempts: The number of times to attempt waiting
@@ -81,19 +74,11 @@ class Armada(object):
81 :param int k8s_wait_attempt_sleep: The time in seconds to sleep 74 :param int k8s_wait_attempt_sleep: The time in seconds to sleep
82 between attempts. 75 between attempts.
83 ''' 76 '''
84 tiller_port = tiller_port or CONF.tiller_port
85 tiller_namespace = tiller_namespace or CONF.tiller_namespace
86 77
87 self.enable_chart_cleanup = enable_chart_cleanup 78 self.enable_chart_cleanup = enable_chart_cleanup
88 self.dry_run = dry_run 79 self.dry_run = dry_run
89 self.force_wait = force_wait 80 self.force_wait = force_wait
90 # TODO: Use dependency injection i.e. pass in a Tiller instead of 81 self.tiller = tiller
91 # creating it here.
92 self.tiller = Tiller(
93 tiller_host=tiller_host,
94 tiller_port=tiller_port,
95 tiller_namespace=tiller_namespace,
96 dry_run=dry_run)
97 try: 82 try:
98 self.documents = Override( 83 self.documents = Override(
99 documents, overrides=set_ovr, 84 documents, overrides=set_ovr,
diff --git a/armada/handlers/tiller.py b/armada/handlers/tiller.py
index df76dbe..10df89b 100644
--- a/armada/handlers/tiller.py
+++ b/armada/handlers/tiller.py
@@ -80,12 +80,11 @@ class Tiller(object):
80 tiller_host=None, 80 tiller_host=None,
81 tiller_port=None, 81 tiller_port=None,
82 tiller_namespace=None, 82 tiller_namespace=None,
83 dry_run=False): 83 dry_run=None):
84 self.tiller_host = tiller_host 84 self.tiller_host = tiller_host
85 self.tiller_port = tiller_port or CONF.tiller_port 85 self.tiller_port = tiller_port or CONF.tiller_port
86 self.tiller_namespace = tiller_namespace or CONF.tiller_namespace 86 self.tiller_namespace = tiller_namespace or CONF.tiller_namespace
87 87 self.dry_run = dry_run or False
88 self.dry_run = dry_run
89 88
90 # init k8s connectivity 89 # init k8s connectivity
91 self.k8s = K8s() 90 self.k8s = K8s()
@@ -818,3 +817,14 @@ class Tiller(object):
818 'using default %ss.', self.timeout) 817 'using default %ss.', self.timeout)
819 timeout = self.timeout 818 timeout = self.timeout
820 return timeout 819 return timeout
820
821 def close(self):
822 # Ensure channel was actually initialized before closing
823 if getattr(self, 'channel', None):
824 self.channel.close()
825
826 def __enter__(self):
827 return self
828
829 def __exit__(self, exc_type, exc_value, traceback):
830 self.close()
diff --git a/armada/tests/unit/api/test_armada_controller.py b/armada/tests/unit/api/test_armada_controller.py
index 2839637..0985d69 100644
--- a/armada/tests/unit/api/test_armada_controller.py
+++ b/armada/tests/unit/api/test_armada_controller.py
@@ -17,6 +17,7 @@ import mock
17 17
18from oslo_config import cfg 18from oslo_config import cfg
19 19
20from armada import api
20from armada.api.controller import armada as armada_api 21from armada.api.controller import armada as armada_api
21from armada.common.policies import base as policy_base 22from armada.common.policies import base as policy_base
22from armada.tests import test_utils 23from armada.tests import test_utils
@@ -27,9 +28,11 @@ CONF = cfg.CONF
27 28
28class ArmadaControllerTest(base.BaseControllerTest): 29class ArmadaControllerTest(base.BaseControllerTest):
29 30
31 @mock.patch.object(api, 'Tiller')
30 @mock.patch.object(armada_api, 'Armada') 32 @mock.patch.object(armada_api, 'Armada')
31 @mock.patch.object(armada_api, 'ReferenceResolver') 33 @mock.patch.object(armada_api, 'ReferenceResolver')
32 def test_armada_apply_resource(self, mock_resolver, mock_armada): 34 def test_armada_apply_resource(self, mock_resolver, mock_armada,
35 mock_tiller):
33 """Tests the POST /api/v1.0/apply endpoint.""" 36 """Tests the POST /api/v1.0/apply endpoint."""
34 rules = {'armada:create_endpoints': '@'} 37 rules = {'armada:create_endpoints': '@'}
35 self.policy.set_rules(rules) 38 self.policy.set_rules(rules)
@@ -45,6 +48,9 @@ class ArmadaControllerTest(base.BaseControllerTest):
45 'timeout': '100' 48 'timeout': '100'
46 } 49 }
47 50
51 m_tiller = mock_tiller.return_value
52 m_tiller.__enter__.return_value = m_tiller
53
48 expected_armada_options = { 54 expected_armada_options = {
49 'disable_update_pre': False, 55 'disable_update_pre': False,
50 'disable_update_post': False, 56 'disable_update_post': False,
@@ -52,9 +58,7 @@ class ArmadaControllerTest(base.BaseControllerTest):
52 'dry_run': False, 58 'dry_run': False,
53 'force_wait': False, 59 'force_wait': False,
54 'timeout': 100, 60 'timeout': 100,
55 'tiller_host': None, 61 'tiller': m_tiller,
56 'tiller_port': 44134,
57 'tiller_namespace': 'kube-system',
58 'target_manifest': None 62 'target_manifest': None
59 } 63 }
60 64
@@ -83,6 +87,13 @@ class ArmadaControllerTest(base.BaseControllerTest):
83 }], **expected_armada_options) 87 }], **expected_armada_options)
84 mock_armada.return_value.sync.assert_called() 88 mock_armada.return_value.sync.assert_called()
85 89
90 mock_tiller.assert_called_with(
91 tiller_host=None,
92 tiller_port=44134,
93 tiller_namespace='kube-system',
94 dry_run=False)
95 m_tiller.__exit__.assert_called()
96
86 def test_armada_apply_no_href(self): 97 def test_armada_apply_no_href(self):
87 """Tests /api/v1.0/apply returns 400 when hrefs list is empty.""" 98 """Tests /api/v1.0/apply returns 400 when hrefs list is empty."""
88 rules = {'armada:create_endpoints': '@'} 99 rules = {'armada:create_endpoints': '@'}
diff --git a/armada/tests/unit/api/test_rollback_controller.py b/armada/tests/unit/api/test_rollback_controller.py
index 1f9be13..df43b91 100644
--- a/armada/tests/unit/api/test_rollback_controller.py
+++ b/armada/tests/unit/api/test_rollback_controller.py
@@ -16,7 +16,7 @@ import json
16 16
17import mock 17import mock
18 18
19from armada.api.controller import rollback 19from armada import api
20from armada.common.policies import base as policy_base 20from armada.common.policies import base as policy_base
21from armada.tests import test_utils 21from armada.tests import test_utils
22from armada.tests.unit.api import base 22from armada.tests.unit.api import base
@@ -24,12 +24,14 @@ from armada.tests.unit.api import base
24 24
25class RollbackReleaseControllerTest(base.BaseControllerTest): 25class RollbackReleaseControllerTest(base.BaseControllerTest):
26 26
27 @mock.patch.object(rollback, 'Tiller') 27 @mock.patch.object(api, 'Tiller')
28 def test_rollback_controller_pass(self, mock_tiller): 28 def test_rollback_controller_pass(self, mock_tiller):
29 rules = {'armada:rollback_release': '@'} 29 rules = {'armada:rollback_release': '@'}
30 self.policy.set_rules(rules) 30 self.policy.set_rules(rules)
31 31
32 rollback_release = mock_tiller.return_value.rollback_release 32 m_tiller = mock_tiller.return_value
33 m_tiller.__enter__.return_value = m_tiller
34 rollback_release = m_tiller.rollback_release
33 rollback_release.return_value = None 35 rollback_release.return_value = None
34 36
35 tiller_host = 'host' 37 tiller_host = 'host'
@@ -69,12 +71,13 @@ class RollbackReleaseControllerTest(base.BaseControllerTest):
69 self.assertEqual(200, resp.status_code) 71 self.assertEqual(200, resp.status_code)
70 self.assertEqual('Rollback of test-release complete.', 72 self.assertEqual('Rollback of test-release complete.',
71 json.loads(resp.text)['message']) 73 json.loads(resp.text)['message'])
74 m_tiller.__exit__.assert_called()
72 75
73 76
74@test_utils.attr(type=['negative']) 77@test_utils.attr(type=['negative'])
75class RollbackReleaseControllerNegativeTest(base.BaseControllerTest): 78class RollbackReleaseControllerNegativeTest(base.BaseControllerTest):
76 79
77 @mock.patch.object(rollback, 'Tiller') 80 @mock.patch.object(api, 'Tiller')
78 def test_rollback_controller_tiller_exc_return_500(self, mock_tiller): 81 def test_rollback_controller_tiller_exc_return_500(self, mock_tiller):
79 rules = {'armada:rollback_release': '@'} 82 rules = {'armada:rollback_release': '@'}
80 self.policy.set_rules(rules) 83 self.policy.set_rules(rules)
diff --git a/armada/tests/unit/api/test_test_controller.py b/armada/tests/unit/api/test_test_controller.py
index 8cc8d78..9c8d797 100644
--- a/armada/tests/unit/api/test_test_controller.py
+++ b/armada/tests/unit/api/test_test_controller.py
@@ -18,6 +18,7 @@ import yaml
18 18
19import mock 19import mock
20 20
21from armada import api
21from armada.api.controller import test 22from armada.api.controller import test
22from armada.common.policies import base as policy_base 23from armada.common.policies import base as policy_base
23from armada.exceptions import manifest_exceptions 24from armada.exceptions import manifest_exceptions
@@ -28,7 +29,7 @@ from armada.tests.unit.api import base
28class TestReleasesManifestControllerTest(base.BaseControllerTest): 29class TestReleasesManifestControllerTest(base.BaseControllerTest):
29 30
30 @mock.patch.object(test, 'Manifest') 31 @mock.patch.object(test, 'Manifest')
31 @mock.patch.object(test, 'Tiller') 32 @mock.patch.object(api, 'Tiller')
32 def test_test_controller_with_manifest(self, mock_tiller, mock_manifest): 33 def test_test_controller_with_manifest(self, mock_tiller, mock_manifest):
33 rules = {'armada:test_manifest': '@'} 34 rules = {'armada:test_manifest': '@'}
34 self.policy.set_rules(rules) 35 self.policy.set_rules(rules)
@@ -41,6 +42,9 @@ class TestReleasesManifestControllerTest(base.BaseControllerTest):
41 payload = f.read() 42 payload = f.read()
42 documents = list(yaml.safe_load_all(payload)) 43 documents = list(yaml.safe_load_all(payload))
43 44
45 m_tiller = mock_tiller.return_value
46 m_tiller.__enter__.return_value = m_tiller
47
44 resp = self.app.simulate_post('/api/v1.0/tests', body=payload) 48 resp = self.app.simulate_post('/api/v1.0/tests', body=payload)
45 self.assertEqual(200, resp.status_code) 49 self.assertEqual(200, resp.status_code)
46 50
@@ -49,13 +53,14 @@ class TestReleasesManifestControllerTest(base.BaseControllerTest):
49 self.assertEqual(expected, result) 53 self.assertEqual(expected, result)
50 54
51 mock_manifest.assert_called_once_with(documents, target_manifest=None) 55 mock_manifest.assert_called_once_with(documents, target_manifest=None)
52 self.assertTrue(mock_tiller.called) 56 mock_tiller.assert_called()
57 m_tiller.__exit__.assert_called()
53 58
54 59
55class TestReleasesReleaseNameControllerTest(base.BaseControllerTest): 60class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
56 61
57 @mock.patch.object(test, 'test_release_for_success') 62 @mock.patch.object(test, 'test_release_for_success')
58 @mock.patch.object(test, 'Tiller') 63 @mock.patch.object(api, 'Tiller')
59 def test_test_controller_test_pass(self, mock_tiller, 64 def test_test_controller_test_pass(self, mock_tiller,
60 mock_test_release_for_success): 65 mock_test_release_for_success):
61 rules = {'armada:test_release': '@'} 66 rules = {'armada:test_release': '@'}
@@ -63,6 +68,9 @@ class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
63 68
64 mock_test_release_for_success.return_value = True 69 mock_test_release_for_success.return_value = True
65 70
71 m_tiller = mock_tiller.return_value
72 m_tiller.__enter__.return_value = m_tiller
73
66 release = 'fake-release' 74 release = 'fake-release'
67 resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release)) 75 resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release))
68 mock_test_release_for_success.assert_has_calls( 76 mock_test_release_for_success.assert_has_calls(
@@ -70,44 +78,53 @@ class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
70 self.assertEqual(200, resp.status_code) 78 self.assertEqual(200, resp.status_code)
71 self.assertEqual('MESSAGE: Test Pass', 79 self.assertEqual('MESSAGE: Test Pass',
72 json.loads(resp.text)['message']) 80 json.loads(resp.text)['message'])
81 m_tiller.__exit__.assert_called()
73 82
74 @mock.patch.object(test, 'test_release_for_success') 83 @mock.patch.object(test, 'test_release_for_success')
75 @mock.patch.object(test, 'Tiller') 84 @mock.patch.object(api, 'Tiller')
76 def test_test_controller_test_fail(self, mock_tiller, 85 def test_test_controller_test_fail(self, mock_tiller,
77 mock_test_release_for_success): 86 mock_test_release_for_success):
78 rules = {'armada:test_release': '@'} 87 rules = {'armada:test_release': '@'}
79 self.policy.set_rules(rules) 88 self.policy.set_rules(rules)
80 89
90 m_tiller = mock_tiller.return_value
91 m_tiller.__enter__.return_value = m_tiller
92
81 mock_test_release_for_success.return_value = False 93 mock_test_release_for_success.return_value = False
82 release = 'fake-release' 94 release = 'fake-release'
83 resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release)) 95 resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release))
84 self.assertEqual(200, resp.status_code) 96 self.assertEqual(200, resp.status_code)
85 self.assertEqual('MESSAGE: Test Fail', 97 self.assertEqual('MESSAGE: Test Fail',
86 json.loads(resp.text)['message']) 98 json.loads(resp.text)['message'])
99 m_tiller.__exit__.assert_called()
87 100
88 @mock.patch.object(test, 'test_release_for_success') 101 @mock.patch.object(test, 'test_release_for_success')
89 @mock.patch.object(test, 'Tiller') 102 @mock.patch.object(api, 'Tiller')
90 def test_test_controller_cleanup(self, mock_tiller, 103 def test_test_controller_cleanup(self, mock_tiller,
91 mock_test_release_for_success): 104 mock_test_release_for_success):
92 rules = {'armada:test_release': '@'} 105 rules = {'armada:test_release': '@'}
93 self.policy.set_rules(rules) 106 self.policy.set_rules(rules)
94 107
108 m_tiller = mock_tiller.return_value
109 m_tiller.__enter__.return_value = m_tiller
110
95 mock_test_release_for_success.return_value = True 111 mock_test_release_for_success.return_value = True
96 release = 'fake-release' 112 release = 'fake-release'
97 resp = self.app.simulate_get( 113 resp = self.app.simulate_get(
98 '/api/v1.0/test/{}'.format(release), query_string='cleanup=true') 114 '/api/v1.0/test/{}'.format(release), query_string='cleanup=true')
99 mock_test_release_for_success.assert_has_calls( 115 mock_test_release_for_success.assert_has_calls(
100 [mock.call(mock_tiller.return_value, release, cleanup=True)]) 116 [mock.call(m_tiller, release, cleanup=True)])
101 self.assertEqual(200, resp.status_code) 117 self.assertEqual(200, resp.status_code)
102 self.assertEqual('MESSAGE: Test Pass', 118 self.assertEqual('MESSAGE: Test Pass',
103 json.loads(resp.text)['message']) 119 json.loads(resp.text)['message'])
120 m_tiller.__exit__.assert_called()
104 121
105 122
106@test_utils.attr(type=['negative']) 123@test_utils.attr(type=['negative'])
107class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest): 124class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
108 125
109 @mock.patch.object(test, 'Manifest') 126 @mock.patch.object(test, 'Manifest')
110 @mock.patch.object(test, 'Tiller') 127 @mock.patch.object(api, 'Tiller')
111 @mock.patch.object(test, 'test_release_for_success') 128 @mock.patch.object(test, 'test_release_for_success')
112 def test_test_controller_tiller_exc_returns_500( 129 def test_test_controller_tiller_exc_returns_500(
113 self, mock_test_release_for_success, mock_tiller, _): 130 self, mock_test_release_for_success, mock_tiller, _):
@@ -121,8 +138,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
121 self.assertEqual(500, resp.status_code) 138 self.assertEqual(500, resp.status_code)
122 139
123 @mock.patch.object(test, 'Manifest') 140 @mock.patch.object(test, 'Manifest')
124 @mock.patch.object(test, 'Tiller') 141 @mock.patch.object(api, 'Tiller')
125 def test_test_controller_validation_failure_returns_400(self, *_): 142 def test_test_controller_validation_failure_returns_400(
143 self, mock_tiller, mock_manifest):
126 rules = {'armada:test_manifest': '@'} 144 rules = {'armada:test_manifest': '@'}
127 self.policy.set_rules(rules) 145 self.policy.set_rules(rules)
128 146
@@ -138,6 +156,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
138 resp = self.app.simulate_post('/api/v1.0/tests', body=invalid_payload) 156 resp = self.app.simulate_post('/api/v1.0/tests', body=invalid_payload)
139 self.assertEqual(400, resp.status_code) 157 self.assertEqual(400, resp.status_code)
140 158
159 m_tiller = mock_tiller.return_value
160 m_tiller.__enter__.return_value = m_tiller
161
141 resp_body = json.loads(resp.text) 162 resp_body = json.loads(resp.text)
142 self.assertEqual(400, resp_body['code']) 163 self.assertEqual(400, resp_body['code'])
143 self.assertEqual(1, resp_body['details']['errorCount']) 164 self.assertEqual(1, resp_body['details']['errorCount'])
@@ -158,11 +179,12 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
158 }, resp_body['details']['messageList']) 179 }, resp_body['details']['messageList'])
159 self.assertEqual(('Failed to validate documents or generate Armada ' 180 self.assertEqual(('Failed to validate documents or generate Armada '
160 'Manifest from documents.'), resp_body['message']) 181 'Manifest from documents.'), resp_body['message'])
182 m_tiller.__exit__.assert_called()
161 183
162 @mock.patch('armada.utils.validate.Manifest') 184 @mock.patch('armada.utils.validate.Manifest')
163 @mock.patch.object(test, 'Tiller') 185 @mock.patch.object(api, 'Tiller')
164 def test_test_controller_manifest_failure_returns_400( 186 def test_test_controller_manifest_failure_returns_400(
165 self, _, mock_manifest): 187 self, mock_tiller, mock_manifest):
166 rules = {'armada:test_manifest': '@'} 188 rules = {'armada:test_manifest': '@'}
167 self.policy.set_rules(rules) 189 self.policy.set_rules(rules)
168 190
@@ -177,6 +199,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
177 resp = self.app.simulate_post('/api/v1.0/tests', body=payload) 199 resp = self.app.simulate_post('/api/v1.0/tests', body=payload)
178 self.assertEqual(400, resp.status_code) 200 self.assertEqual(400, resp.status_code)
179 201
202 m_tiller = mock_tiller.return_value
203 m_tiller.__enter__.return_value = m_tiller
204
180 resp_body = json.loads(resp.text) 205 resp_body = json.loads(resp.text)
181 self.assertEqual(400, resp_body['code']) 206 self.assertEqual(400, resp_body['code'])
182 self.assertEqual(1, resp_body['details']['errorCount']) 207 self.assertEqual(1, resp_body['details']['errorCount'])
@@ -195,12 +220,13 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
195 }], resp_body['details']['messageList']) 220 }], resp_body['details']['messageList'])
196 self.assertEqual(('Failed to validate documents or generate Armada ' 221 self.assertEqual(('Failed to validate documents or generate Armada '
197 'Manifest from documents.'), resp_body['message']) 222 'Manifest from documents.'), resp_body['message'])
223 m_tiller.__exit__.assert_called()
198 224
199 225
200@test_utils.attr(type=['negative']) 226@test_utils.attr(type=['negative'])
201class TestReleasesReleaseNameControllerNegativeTest(base.BaseControllerTest): 227class TestReleasesReleaseNameControllerNegativeTest(base.BaseControllerTest):
202 228
203 @mock.patch.object(test, 'Tiller') 229 @mock.patch.object(api, 'Tiller')
204 @mock.patch.object(test, 'test_release_for_success') 230 @mock.patch.object(test, 'test_release_for_success')
205 def test_test_controller_tiller_exc_returns_500( 231 def test_test_controller_tiller_exc_returns_500(
206 self, mock_test_release_for_success, mock_tiller): 232 self, mock_test_release_for_success, mock_tiller):
diff --git a/armada/tests/unit/api/test_tiller_controller.py b/armada/tests/unit/api/test_tiller_controller.py
index ed185ca..a167e7e 100644
--- a/armada/tests/unit/api/test_tiller_controller.py
+++ b/armada/tests/unit/api/test_tiller_controller.py
@@ -16,7 +16,7 @@ import mock
16 16
17from oslo_config import cfg 17from oslo_config import cfg
18 18
19from armada.api.controller import tiller as tiller_controller 19from armada import api
20from armada.common.policies import base as policy_base 20from armada.common.policies import base as policy_base
21from armada.tests import test_utils 21from armada.tests import test_utils
22from armada.tests.unit.api import base 22from armada.tests.unit.api import base
@@ -26,14 +26,16 @@ CONF = cfg.CONF
26 26
27class TillerControllerTest(base.BaseControllerTest): 27class TillerControllerTest(base.BaseControllerTest):
28 28
29 @mock.patch.object(tiller_controller, 'Tiller') 29 @mock.patch.object(api, 'Tiller')
30 def test_get_tiller_status(self, mock_tiller): 30 def test_get_tiller_status(self, mock_tiller):
31 """Tests GET /api/v1.0/status endpoint.""" 31 """Tests GET /api/v1.0/status endpoint."""
32 rules = {'tiller:get_status': '@'} 32 rules = {'tiller:get_status': '@'}
33 self.policy.set_rules(rules) 33 self.policy.set_rules(rules)
34 34
35 mock_tiller.return_value.tiller_status.return_value = 'fake_status' 35 m_tiller = mock_tiller.return_value
36 mock_tiller.return_value.tiller_version.return_value = 'fake_version' 36 m_tiller.__enter__.return_value = m_tiller
37 m_tiller.tiller_status.return_value = 'fake_status'
38 m_tiller.tiller_version.return_value = 'fake_version'
37 39
38 result = self.app.simulate_get('/api/v1.0/status') 40 result = self.app.simulate_get('/api/v1.0/status')
39 expected = { 41 expected = {
@@ -48,16 +50,20 @@ class TillerControllerTest(base.BaseControllerTest):
48 mock_tiller.assert_called_once_with( 50 mock_tiller.assert_called_once_with(
49 tiller_host=None, 51 tiller_host=None,
50 tiller_port=44134, 52 tiller_port=44134,
51 tiller_namespace='kube-system') 53 tiller_namespace='kube-system',
54 dry_run=None)
55 m_tiller.__exit__.assert_called()
52 56
53 @mock.patch.object(tiller_controller, 'Tiller') 57 @mock.patch.object(api, 'Tiller')
54 def test_get_tiller_status_with_params(self, mock_tiller): 58 def test_get_tiller_status_with_params(self, mock_tiller):
55 """Tests GET /api/v1.0/status endpoint with query parameters.""" 59 """Tests GET /api/v1.0/status endpoint with query parameters."""
56 rules = {'tiller:get_status': '@'} 60 rules = {'tiller:get_status': '@'}
57 self.policy.set_rules(rules) 61 self.policy.set_rules(rules)
58 62
59 mock_tiller.return_value.tiller_status.return_value = 'fake_status' 63 m_tiller = mock_tiller.return_value
60 mock_tiller.return_value.tiller_version.return_value = 'fake_version' 64 m_tiller.__enter__.return_value = m_tiller
65 m_tiller.tiller_status.return_value = 'fake_status'
66 m_tiller.tiller_version.return_value = 'fake_version'
61 67
62 result = self.app.simulate_get( 68 result = self.app.simulate_get(
63 '/api/v1.0/status', 69 '/api/v1.0/status',
@@ -79,9 +85,11 @@ class TillerControllerTest(base.BaseControllerTest):
79 mock_tiller.assert_called_once_with( 85 mock_tiller.assert_called_once_with(
80 tiller_host='fake_host', 86 tiller_host='fake_host',
81 tiller_port=98765, 87 tiller_port=98765,
82 tiller_namespace='fake_ns') 88 tiller_namespace='fake_ns',
89 dry_run=None)
90 m_tiller.__exit__.assert_called()
83 91
84 @mock.patch.object(tiller_controller, 'Tiller') 92 @mock.patch.object(api, 'Tiller')
85 def test_tiller_releases(self, mock_tiller): 93 def test_tiller_releases(self, mock_tiller):
86 """Tests GET /api/v1.0/releases endpoint.""" 94 """Tests GET /api/v1.0/releases endpoint."""
87 rules = {'tiller:get_release': '@'} 95 rules = {'tiller:get_release': '@'}
@@ -92,7 +100,9 @@ class TillerControllerTest(base.BaseControllerTest):
92 fake_release.configure_mock(name=name) 100 fake_release.configure_mock(name=name)
93 return fake_release 101 return fake_release
94 102
95 mock_tiller.return_value.list_releases.return_value = [ 103 m_tiller = mock_tiller.return_value
104 m_tiller.__enter__.return_value = m_tiller
105 m_tiller.list_releases.return_value = [
96 _get_fake_release('foo', 'bar'), 106 _get_fake_release('foo', 'bar'),
97 _get_fake_release('baz', 'qux') 107 _get_fake_release('baz', 'qux')
98 ] 108 ]
@@ -109,10 +119,12 @@ class TillerControllerTest(base.BaseControllerTest):
109 mock_tiller.assert_called_once_with( 119 mock_tiller.assert_called_once_with(
110 tiller_host=None, 120 tiller_host=None,
111 tiller_port=44134, 121 tiller_port=44134,
112 tiller_namespace='kube-system') 122 tiller_namespace='kube-system',
113 mock_tiller.return_value.list_releases.assert_called_once_with() 123 dry_run=None)
124 m_tiller.list_releases.assert_called_once_with()
125 m_tiller.__exit__.assert_called()
114 126
115 @mock.patch.object(tiller_controller, 'Tiller') 127 @mock.patch.object(api, 'Tiller')
116 def test_tiller_releases_with_params(self, mock_tiller): 128 def test_tiller_releases_with_params(self, mock_tiller):
117 """Tests GET /api/v1.0/releases endpoint with query parameters.""" 129 """Tests GET /api/v1.0/releases endpoint with query parameters."""
118 rules = {'tiller:get_release': '@'} 130 rules = {'tiller:get_release': '@'}
@@ -123,7 +135,9 @@ class TillerControllerTest(base.BaseControllerTest):
123 fake_release.configure_mock(name=name) 135 fake_release.configure_mock(name=name)
124 return fake_release 136 return fake_release
125 137
126 mock_tiller.return_value.list_releases.return_value = [ 138 m_tiller = mock_tiller.return_value
139 m_tiller.__enter__.return_value = m_tiller
140 m_tiller.list_releases.return_value = [
127 _get_fake_release('foo', 'bar'), 141 _get_fake_release('foo', 'bar'),
128 _get_fake_release('baz', 'qux') 142 _get_fake_release('baz', 'qux')
129 ] 143 ]
@@ -147,8 +161,10 @@ class TillerControllerTest(base.BaseControllerTest):
147 mock_tiller.assert_called_once_with( 161 mock_tiller.assert_called_once_with(
148 tiller_host='fake_host', 162 tiller_host='fake_host',
149 tiller_port=98765, 163 tiller_port=98765,
150 tiller_namespace='fake_ns') 164 tiller_namespace='fake_ns',
151 mock_tiller.return_value.list_releases.assert_called_once_with() 165 dry_run=None)
166 m_tiller.list_releases.assert_called_once_with()
167 m_tiller.__exit__.assert_called()
152 168
153 169
154class TillerControllerNegativeRbacTest(base.BaseControllerTest): 170class TillerControllerNegativeRbacTest(base.BaseControllerTest):
diff --git a/armada/tests/unit/handlers/test_armada.py b/armada/tests/unit/handlers/test_armada.py
index 90bca08..ab1876c 100644
--- a/armada/tests/unit/handlers/test_armada.py
+++ b/armada/tests/unit/handlers/test_armada.py
@@ -281,24 +281,18 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
281 self.assertEqual(expected_config, armada_obj.manifest) 281 self.assertEqual(expected_config, armada_obj.manifest)
282 282
283 @mock.patch.object(armada, 'source') 283 @mock.patch.object(armada, 'source')
284 @mock.patch('armada.handlers.armada.Tiller') 284 def test_pre_flight_ops(self, mock_source):
285 def test_pre_flight_ops(self, mock_tiller, mock_source):
286 """Test pre-flight checks and operations.""" 285 """Test pre-flight checks and operations."""
287 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 286 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
288 armada_obj = armada.Armada(yaml_documents) 287 m_tiller = mock.Mock()
288 m_tiller.tiller_status.return_value = True
289 armada_obj = armada.Armada(yaml_documents, m_tiller)
289 290
290 # Mock methods called by `pre_flight_ops()`. 291 # Mock methods called by `pre_flight_ops()`.
291 m_tiller = mock_tiller.return_value
292 m_tiller.tiller_status.return_value = True
293 mock_source.git_clone.return_value = CHART_SOURCES[0][0] 292 mock_source.git_clone.return_value = CHART_SOURCES[0][0]
294 293
295 self._test_pre_flight_ops(armada_obj) 294 self._test_pre_flight_ops(armada_obj)
296 295
297 mock_tiller.assert_called_once_with(
298 tiller_host=None,
299 tiller_namespace='kube-system',
300 tiller_port=44134,
301 dry_run=False)
302 mock_source.git_clone.assert_called_once_with( 296 mock_source.git_clone.assert_called_once_with(
303 'git://github.com/dummy/armada', 297 'git://github.com/dummy/armada',
304 'master', 298 'master',
@@ -306,17 +300,17 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
306 proxy_server=None) 300 proxy_server=None)
307 301
308 @mock.patch.object(armada, 'source') 302 @mock.patch.object(armada, 'source')
309 @mock.patch('armada.handlers.armada.Tiller') 303 def test_post_flight_ops(self, mock_source):
310 def test_post_flight_ops(self, mock_tiller, mock_source):
311 """Test post-flight operations.""" 304 """Test post-flight operations."""
312 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 305 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
313 armada_obj = armada.Armada(yaml_documents)
314 306
315 # Mock methods called by `pre_flight_ops()`. 307 # Mock methods called by `pre_flight_ops()`.
316 m_tiller = mock_tiller.return_value 308 m_tiller = mock.Mock()
317 m_tiller.tiller_status.return_value = True 309 m_tiller.tiller_status.return_value = True
318 mock_source.git_clone.return_value = CHART_SOURCES[0][0] 310 mock_source.git_clone.return_value = CHART_SOURCES[0][0]
319 311
312 armada_obj = armada.Armada(yaml_documents, m_tiller)
313
320 self._test_pre_flight_ops(armada_obj) 314 self._test_pre_flight_ops(armada_obj)
321 315
322 armada_obj.post_flight_ops() 316 armada_obj.post_flight_ops()
@@ -343,22 +337,22 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
343 @mock.patch.object(armada.Armada, 'post_flight_ops') 337 @mock.patch.object(armada.Armada, 'post_flight_ops')
344 @mock.patch.object(armada.Armada, 'pre_flight_ops') 338 @mock.patch.object(armada.Armada, 'pre_flight_ops')
345 @mock.patch('armada.handlers.chart_deploy.ChartBuilder') 339 @mock.patch('armada.handlers.chart_deploy.ChartBuilder')
346 @mock.patch('armada.handlers.armada.Tiller')
347 @mock.patch.object(chart_deploy, 'test_release_for_success') 340 @mock.patch.object(chart_deploy, 'test_release_for_success')
348 def _do_test(mock_test_release_for_success, mock_tiller, 341 def _do_test(mock_test_release_for_success, mock_chartbuilder,
349 mock_chartbuilder, mock_pre_flight, mock_post_flight): 342 mock_pre_flight, mock_post_flight):
350 # Instantiate Armada object. 343 # Instantiate Armada object.
351 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 344 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
352 armada_obj = armada.Armada(yaml_documents) 345
346 m_tiller = mock.MagicMock()
347 m_tiller.list_releases.return_value = known_releases
348
349 armada_obj = armada.Armada(yaml_documents, m_tiller)
353 armada_obj.chart_deploy.get_diff = mock.Mock() 350 armada_obj.chart_deploy.get_diff = mock.Mock()
354 351
355 chart_group = armada_obj.manifest['armada']['chart_groups'][0] 352 chart_group = armada_obj.manifest['armada']['chart_groups'][0]
356 charts = chart_group['chart_group'] 353 charts = chart_group['chart_group']
357 cg_test_all_charts = chart_group.get('test_charts', True) 354 cg_test_all_charts = chart_group.get('test_charts', True)
358 355
359 m_tiller = mock_tiller.return_value
360 m_tiller.list_releases.return_value = known_releases
361
362 if test_failure_to_run: 356 if test_failure_to_run:
363 357
364 def fail(tiller, release, timeout=None, cleanup=False): 358 def fail(tiller, release, timeout=None, cleanup=False):
@@ -663,30 +657,26 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
663class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase): 657class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase):
664 658
665 @mock.patch.object(armada, 'source') 659 @mock.patch.object(armada, 'source')
666 @mock.patch('armada.handlers.armada.Tiller') 660 def test_armada_get_manifest_exception(self, mock_source):
667 def test_armada_get_manifest_exception(self, mock_tiller, mock_source):
668 """Test armada handling with invalid manifest.""" 661 """Test armada handling with invalid manifest."""
669 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 662 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
670 error_re = ('Documents must be a list of documents with at least one ' 663 error_re = ('Documents must be a list of documents with at least one '
671 'of each of the following schemas: .*') 664 'of each of the following schemas: .*')
672 self.assertRaisesRegexp(ManifestException, error_re, armada.Armada, 665 self.assertRaisesRegexp(ManifestException, error_re, armada.Armada,
673 yaml_documents[:1]) 666 yaml_documents[:1], mock.MagicMock())
674 667
675 @mock.patch.object(armada, 'source') 668 @mock.patch.object(armada, 'source')
676 @mock.patch('armada.handlers.armada.Tiller') 669 def test_armada_override_exception(self, mock_source):
677 def test_armada_override_exception(self, mock_tiller, mock_source):
678 """Test Armada checks with invalid chart override.""" 670 """Test Armada checks with invalid chart override."""
679 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 671 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
680 override = ('chart:example-chart-2:name=' 'overridden', ) 672 override = ('chart:example-chart-2:name=' 'overridden', )
681 673
682 error_re = ('is not a valid override statement') 674 error_re = ('is not a valid override statement')
683 with self.assertRaisesRegexp(InvalidOverrideValueException, error_re): 675 with self.assertRaisesRegexp(InvalidOverrideValueException, error_re):
684 armada.Armada(yaml_documents, set_ovr=override) 676 armada.Armada(yaml_documents, mock.MagicMock(), set_ovr=override)
685 677
686 @mock.patch.object(armada, 'source') 678 @mock.patch.object(armada, 'source')
687 @mock.patch('armada.handlers.armada.Tiller') 679 def test_armada_manifest_exception_override_none(self, mock_source):
688 def test_armada_manifest_exception_override_none(self, mock_tiller,
689 mock_source):
690 """Test Armada checks with invalid manifest.""" 680 """Test Armada checks with invalid manifest."""
691 yaml_documents = list(yaml.safe_load_all(TEST_YAML)) 681 yaml_documents = list(yaml.safe_load_all(TEST_YAML))
692 example_document = [ 682 example_document = [
@@ -697,4 +687,4 @@ class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase):
697 687
698 error_re = ('Invalid document .*') 688 error_re = ('Invalid document .*')
699 with self.assertRaisesRegexp(InvalidManifestException, error_re): 689 with self.assertRaisesRegexp(InvalidManifestException, error_re):
700 armada.Armada(yaml_documents, set_ovr=None) 690 armada.Armada(yaml_documents, mock.MagicMock(), set_ovr=None)
diff --git a/armada/tests/unit/handlers/test_tiller.py b/armada/tests/unit/handlers/test_tiller.py
index a85d0e8..c54cef5 100644
--- a/armada/tests/unit/handlers/test_tiller.py
+++ b/armada/tests/unit/handlers/test_tiller.py
@@ -33,7 +33,7 @@ class TillerTestCase(base.ArmadaTestCase):
33 def test_install_release(self, mock_stub, mock_install_request, 33 def test_install_release(self, mock_stub, mock_install_request,
34 mock_config, mock_grpc, mock_k8s, mock_ip): 34 mock_config, mock_grpc, mock_k8s, mock_ip):
35 # instantiate Tiller object 35 # instantiate Tiller object
36 mock_grpc.insecure_channel.return_value = None 36 mock_grpc.insecure_channel.return_value = mock.Mock()
37 mock_ip.return_value = '0.0.0.0' 37 mock_ip.return_value = '0.0.0.0'
38 tiller_obj = tiller.Tiller() 38 tiller_obj = tiller.Tiller()
39 assert tiller_obj._get_tiller_ip() == '0.0.0.0' 39 assert tiller_obj._get_tiller_ip() == '0.0.0.0'
@@ -74,12 +74,14 @@ class TillerTestCase(base.ArmadaTestCase):
74 mock_port.return_value = mock.sentinel.port 74 mock_port.return_value = mock.sentinel.port
75 mock_ip.return_value = mock.sentinel.ip 75 mock_ip.return_value = mock.sentinel.ip
76 76
77 mock_channel = mock.Mock()
78
77 # instantiate Tiller object 79 # instantiate Tiller object
78 mock_grpc.insecure_channel.return_value = 'connected' 80 mock_grpc.insecure_channel.return_value = mock_channel
79 tiller_obj = tiller.Tiller() 81 tiller_obj = tiller.Tiller()
80 82
81 self.assertIsNotNone(tiller_obj.channel) 83 self.assertIsNotNone(tiller_obj.channel)
82 self.assertEqual('connected', tiller_obj.channel) 84 self.assertEqual(mock_channel, tiller_obj.channel)
83 85
84 mock_grpc.insecure_channel.assert_called_once_with( 86 mock_grpc.insecure_channel.assert_called_once_with(
85 '%s:%s' % (str(mock.sentinel.ip), str(mock.sentinel.port)), 87 '%s:%s' % (str(mock.sentinel.ip), str(mock.sentinel.port)),
diff --git a/hapi/chart/chart_pb2.py b/hapi/chart/chart_pb2.py
index e35e1f2..837d4c3 100644
--- a/hapi/chart/chart_pb2.py
+++ b/hapi/chart/chart_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -23,6 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
23 name='hapi/chart/chart.proto', 22 name='hapi/chart/chart.proto',
24 package='hapi.chart', 23 package='hapi.chart',
25 syntax='proto3', 24 syntax='proto3',
25 serialized_options=_b('Z\005chart'),
26 serialized_pb=_b('\n\x16hapi/chart/chart.proto\x12\nhapi.chart\x1a\x17hapi/chart/config.proto\x1a\x19hapi/chart/metadata.proto\x1a\x19hapi/chart/template.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x05\x43hart\x12&\n\x08metadata\x18\x01 \x01(\x0b\x32\x14.hapi.chart.Metadata\x12\'\n\ttemplates\x18\x02 \x03(\x0b\x32\x14.hapi.chart.Template\x12\'\n\x0c\x64\x65pendencies\x18\x03 \x03(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12#\n\x05\x66iles\x18\x05 \x03(\x0b\x32\x14.google.protobuf.AnyB\x07Z\x05\x63hartb\x06proto3') 26 serialized_pb=_b('\n\x16hapi/chart/chart.proto\x12\nhapi.chart\x1a\x17hapi/chart/config.proto\x1a\x19hapi/chart/metadata.proto\x1a\x19hapi/chart/template.proto\x1a\x19google/protobuf/any.proto\"\xca\x01\n\x05\x43hart\x12&\n\x08metadata\x18\x01 \x01(\x0b\x32\x14.hapi.chart.Metadata\x12\'\n\ttemplates\x18\x02 \x03(\x0b\x32\x14.hapi.chart.Template\x12\'\n\x0c\x64\x65pendencies\x18\x03 \x03(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12#\n\x05\x66iles\x18\x05 \x03(\x0b\x32\x14.google.protobuf.AnyB\x07Z\x05\x63hartb\x06proto3')
27 , 27 ,
28 dependencies=[hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_metadata__pb2.DESCRIPTOR,hapi_dot_chart_dot_template__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) 28 dependencies=[hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_metadata__pb2.DESCRIPTOR,hapi_dot_chart_dot_template__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,])
@@ -43,42 +43,42 @@ _CHART = _descriptor.Descriptor(
43 has_default_value=False, default_value=None, 43 has_default_value=False, default_value=None,
44 message_type=None, enum_type=None, containing_type=None, 44 message_type=None, enum_type=None, containing_type=None,
45 is_extension=False, extension_scope=None, 45 is_extension=False, extension_scope=None,
46 options=None, file=DESCRIPTOR), 46 serialized_options=None, file=DESCRIPTOR),
47 _descriptor.FieldDescriptor( 47 _descriptor.FieldDescriptor(
48 name='templates', full_name='hapi.chart.Chart.templates', index=1, 48 name='templates', full_name='hapi.chart.Chart.templates', index=1,
49 number=2, type=11, cpp_type=10, label=3, 49 number=2, type=11, cpp_type=10, label=3,
50 has_default_value=False, default_value=[], 50 has_default_value=False, default_value=[],
51 message_type=None, enum_type=None, containing_type=None, 51 message_type=None, enum_type=None, containing_type=None,
52 is_extension=False, extension_scope=None, 52 is_extension=False, extension_scope=None,
53 options=None, file=DESCRIPTOR), 53 serialized_options=None, file=DESCRIPTOR),
54 _descriptor.FieldDescriptor( 54 _descriptor.FieldDescriptor(
55 name='dependencies', full_name='hapi.chart.Chart.dependencies', index=2, 55 name='dependencies', full_name='hapi.chart.Chart.dependencies', index=2,
56 number=3, type=11, cpp_type=10, label=3, 56 number=3, type=11, cpp_type=10, label=3,
57 has_default_value=False, default_value=[], 57 has_default_value=False, default_value=[],
58 message_type=None, enum_type=None, containing_type=None, 58 message_type=None, enum_type=None, containing_type=None,
59 is_extension=False, extension_scope=None, 59 is_extension=False, extension_scope=None,
60 options=None, file=DESCRIPTOR), 60 serialized_options=None, file=DESCRIPTOR),
61 _descriptor.FieldDescriptor( 61 _descriptor.FieldDescriptor(
62 name='values', full_name='hapi.chart.Chart.values', index=3, 62 name='values', full_name='hapi.chart.Chart.values', index=3,
63 number=4, type=11, cpp_type=10, label=1, 63 number=4, type=11, cpp_type=10, label=1,
64 has_default_value=False, default_value=None, 64 has_default_value=False, default_value=None,
65 message_type=None, enum_type=None, containing_type=None, 65 message_type=None, enum_type=None, containing_type=None,
66 is_extension=False, extension_scope=None, 66 is_extension=False, extension_scope=None,
67 options=None, file=DESCRIPTOR), 67 serialized_options=None, file=DESCRIPTOR),
68 _descriptor.FieldDescriptor( 68 _descriptor.FieldDescriptor(
69 name='files', full_name='hapi.chart.Chart.files', index=4, 69 name='files', full_name='hapi.chart.Chart.files', index=4,
70 number=5, type=11, cpp_type=10, label=3, 70 number=5, type=11, cpp_type=10, label=3,
71 has_default_value=False, default_value=[], 71 has_default_value=False, default_value=[],
72 message_type=None, enum_type=None, containing_type=None, 72 message_type=None, enum_type=None, containing_type=None,
73 is_extension=False, extension_scope=None, 73 is_extension=False, extension_scope=None,
74 options=None, file=DESCRIPTOR), 74 serialized_options=None, file=DESCRIPTOR),
75 ], 75 ],
76 extensions=[ 76 extensions=[
77 ], 77 ],
78 nested_types=[], 78 nested_types=[],
79 enum_types=[ 79 enum_types=[
80 ], 80 ],
81 options=None, 81 serialized_options=None,
82 is_extendable=False, 82 is_extendable=False,
83 syntax='proto3', 83 syntax='proto3',
84 extension_ranges=[], 84 extension_ranges=[],
@@ -104,6 +104,5 @@ Chart = _reflection.GeneratedProtocolMessageType('Chart', (_message.Message,), d
104_sym_db.RegisterMessage(Chart) 104_sym_db.RegisterMessage(Chart)
105 105
106 106
107DESCRIPTOR.has_options = True 107DESCRIPTOR._options = None
108DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart'))
109# @@protoc_insertion_point(module_scope) 108# @@protoc_insertion_point(module_scope)
diff --git a/hapi/chart/config_pb2.py b/hapi/chart/config_pb2.py
index 8646383..394cd9b 100644
--- a/hapi/chart/config_pb2.py
+++ b/hapi/chart/config_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
19 name='hapi/chart/config.proto', 18 name='hapi/chart/config.proto',
20 package='hapi.chart', 19 package='hapi.chart',
21 syntax='proto3', 20 syntax='proto3',
21 serialized_options=_b('Z\005chart'),
22 serialized_pb=_b('\n\x17hapi/chart/config.proto\x12\nhapi.chart\"\x87\x01\n\x06\x43onfig\x12\x0b\n\x03raw\x18\x01 \x01(\t\x12.\n\x06values\x18\x02 \x03(\x0b\x32\x1e.hapi.chart.Config.ValuesEntry\x1a@\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Value:\x02\x38\x01\"\x16\n\x05Value\x12\r\n\x05value\x18\x01 \x01(\tB\x07Z\x05\x63hartb\x06proto3') 22 serialized_pb=_b('\n\x17hapi/chart/config.proto\x12\nhapi.chart\"\x87\x01\n\x06\x43onfig\x12\x0b\n\x03raw\x18\x01 \x01(\t\x12.\n\x06values\x18\x02 \x03(\x0b\x32\x1e.hapi.chart.Config.ValuesEntry\x1a@\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Value:\x02\x38\x01\"\x16\n\x05Value\x12\r\n\x05value\x18\x01 \x01(\tB\x07Z\x05\x63hartb\x06proto3')
23) 23)
24 24
@@ -38,21 +38,21 @@ _CONFIG_VALUESENTRY = _descriptor.Descriptor(
38 has_default_value=False, default_value=_b("").decode('utf-8'), 38 has_default_value=False, default_value=_b("").decode('utf-8'),
39 message_type=None, enum_type=None, containing_type=None, 39 message_type=None, enum_type=None, containing_type=None,
40 is_extension=False, extension_scope=None, 40 is_extension=False, extension_scope=None,
41 options=None, file=DESCRIPTOR), 41 serialized_options=None, file=DESCRIPTOR),
42 _descriptor.FieldDescriptor( 42 _descriptor.FieldDescriptor(
43 name='value', full_name='hapi.chart.Config.ValuesEntry.value', index=1, 43 name='value', full_name='hapi.chart.Config.ValuesEntry.value', index=1,
44 number=2, type=11, cpp_type=10, label=1, 44 number=2, type=11, cpp_type=10, label=1,
45 has_default_value=False, default_value=None, 45 has_default_value=False, default_value=None,
46 message_type=None, enum_type=None, containing_type=None, 46 message_type=None, enum_type=None, containing_type=None,
47 is_extension=False, extension_scope=None, 47 is_extension=False, extension_scope=None,
48 options=None, file=DESCRIPTOR), 48 serialized_options=None, file=DESCRIPTOR),
49 ], 49 ],
50 extensions=[ 50 extensions=[
51 ], 51 ],
52 nested_types=[], 52 nested_types=[],
53 enum_types=[ 53 enum_types=[
54 ], 54 ],
55 options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), 55 serialized_options=_b('8\001'),
56 is_extendable=False, 56 is_extendable=False,
57 syntax='proto3', 57 syntax='proto3',
58 extension_ranges=[], 58 extension_ranges=[],
@@ -75,21 +75,21 @@ _CONFIG = _descriptor.Descriptor(
75 has_default_value=False, default_value=_b("").decode('utf-8'), 75 has_default_value=False, default_value=_b("").decode('utf-8'),
76 message_type=None, enum_type=None, containing_type=None, 76 message_type=None, enum_type=None, containing_type=None,
77 is_extension=False, extension_scope=None, 77 is_extension=False, extension_scope=None,
78 options=None, file=DESCRIPTOR), 78 serialized_options=None, file=DESCRIPTOR),
79 _descriptor.FieldDescriptor( 79 _descriptor.FieldDescriptor(
80 name='values', full_name='hapi.chart.Config.values', index=1, 80 name='values', full_name='hapi.chart.Config.values', index=1,
81 number=2, type=11, cpp_type=10, label=3, 81 number=2, type=11, cpp_type=10, label=3,
82 has_default_value=False, default_value=[], 82 has_default_value=False, default_value=[],
83 message_type=None, enum_type=None, containing_type=None, 83 message_type=None, enum_type=None, containing_type=None,
84 is_extension=False, extension_scope=None, 84 is_extension=False, extension_scope=None,
85 options=None, file=DESCRIPTOR), 85 serialized_options=None, file=DESCRIPTOR),
86 ], 86 ],
87 extensions=[ 87 extensions=[
88 ], 88 ],
89 nested_types=[_CONFIG_VALUESENTRY, ], 89 nested_types=[_CONFIG_VALUESENTRY, ],
90 enum_types=[ 90 enum_types=[
91 ], 91 ],
92 options=None, 92 serialized_options=None,
93 is_extendable=False, 93 is_extendable=False,
94 syntax='proto3', 94 syntax='proto3',
95 extension_ranges=[], 95 extension_ranges=[],
@@ -113,14 +113,14 @@ _VALUE = _descriptor.Descriptor(
113 has_default_value=False, default_value=_b("").decode('utf-8'), 113 has_default_value=False, default_value=_b("").decode('utf-8'),
114 message_type=None, enum_type=None, containing_type=None, 114 message_type=None, enum_type=None, containing_type=None,
115 is_extension=False, extension_scope=None, 115 is_extension=False, extension_scope=None,
116 options=None, file=DESCRIPTOR), 116 serialized_options=None, file=DESCRIPTOR),
117 ], 117 ],
118 extensions=[ 118 extensions=[
119 ], 119 ],
120 nested_types=[], 120 nested_types=[],
121 enum_types=[ 121 enum_types=[
122 ], 122 ],
123 options=None, 123 serialized_options=None,
124 is_extendable=False, 124 is_extendable=False,
125 syntax='proto3', 125 syntax='proto3',
126 extension_ranges=[], 126 extension_ranges=[],
@@ -160,8 +160,6 @@ Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), d
160_sym_db.RegisterMessage(Value) 160_sym_db.RegisterMessage(Value)
161 161
162 162
163DESCRIPTOR.has_options = True 163DESCRIPTOR._options = None
164DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart')) 164_CONFIG_VALUESENTRY._options = None
165_CONFIG_VALUESENTRY.has_options = True
166_CONFIG_VALUESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
167# @@protoc_insertion_point(module_scope) 165# @@protoc_insertion_point(module_scope)
diff --git a/hapi/chart/metadata_pb2.py b/hapi/chart/metadata_pb2.py
index 56b0203..28699f7 100644
--- a/hapi/chart/metadata_pb2.py
+++ b/hapi/chart/metadata_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
19 name='hapi/chart/metadata.proto', 18 name='hapi/chart/metadata.proto',
20 package='hapi.chart', 19 package='hapi.chart',
21 syntax='proto3', 20 syntax='proto3',
21 serialized_options=_b('Z\005chart'),
22 serialized_pb=_b('\n\x19hapi/chart/metadata.proto\x12\nhapi.chart\"6\n\nMaintainer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\"\xd5\x03\n\x08Metadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04home\x18\x02 \x01(\t\x12\x0f\n\x07sources\x18\x03 \x03(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08keywords\x18\x06 \x03(\t\x12+\n\x0bmaintainers\x18\x07 \x03(\x0b\x32\x16.hapi.chart.Maintainer\x12\x0e\n\x06\x65ngine\x18\x08 \x01(\t\x12\x0c\n\x04icon\x18\t \x01(\t\x12\x12\n\napiVersion\x18\n \x01(\t\x12\x11\n\tcondition\x18\x0b \x01(\t\x12\x0c\n\x04tags\x18\x0c \x01(\t\x12\x12\n\nappVersion\x18\r \x01(\t\x12\x12\n\ndeprecated\x18\x0e \x01(\x08\x12\x15\n\rtillerVersion\x18\x0f \x01(\t\x12:\n\x0b\x61nnotations\x18\x10 \x03(\x0b\x32%.hapi.chart.Metadata.AnnotationsEntry\x12\x13\n\x0bkubeVersion\x18\x11 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\" \n\x06\x45ngine\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05GOTPL\x10\x01\x42\x07Z\x05\x63hartb\x06proto3') 22 serialized_pb=_b('\n\x19hapi/chart/metadata.proto\x12\nhapi.chart\"6\n\nMaintainer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\"\xd5\x03\n\x08Metadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04home\x18\x02 \x01(\t\x12\x0f\n\x07sources\x18\x03 \x03(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08keywords\x18\x06 \x03(\t\x12+\n\x0bmaintainers\x18\x07 \x03(\x0b\x32\x16.hapi.chart.Maintainer\x12\x0e\n\x06\x65ngine\x18\x08 \x01(\t\x12\x0c\n\x04icon\x18\t \x01(\t\x12\x12\n\napiVersion\x18\n \x01(\t\x12\x11\n\tcondition\x18\x0b \x01(\t\x12\x0c\n\x04tags\x18\x0c \x01(\t\x12\x12\n\nappVersion\x18\r \x01(\t\x12\x12\n\ndeprecated\x18\x0e \x01(\x08\x12\x15\n\rtillerVersion\x18\x0f \x01(\t\x12:\n\x0b\x61nnotations\x18\x10 \x03(\x0b\x32%.hapi.chart.Metadata.AnnotationsEntry\x12\x13\n\x0bkubeVersion\x18\x11 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\" \n\x06\x45ngine\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05GOTPL\x10\x01\x42\x07Z\x05\x63hartb\x06proto3')
23) 23)
24 24
@@ -32,15 +32,15 @@ _METADATA_ENGINE = _descriptor.EnumDescriptor(
32 values=[ 32 values=[
33 _descriptor.EnumValueDescriptor( 33 _descriptor.EnumValueDescriptor(
34 name='UNKNOWN', index=0, number=0, 34 name='UNKNOWN', index=0, number=0,
35 options=None, 35 serialized_options=None,
36 type=None), 36 type=None),
37 _descriptor.EnumValueDescriptor( 37 _descriptor.EnumValueDescriptor(
38 name='GOTPL', index=1, number=1, 38 name='GOTPL', index=1, number=1,
39 options=None, 39 serialized_options=None,
40 type=None), 40 type=None),
41 ], 41 ],
42 containing_type=None, 42 containing_type=None,
43 options=None, 43 serialized_options=None,
44 serialized_start=535, 44 serialized_start=535,
45 serialized_end=567, 45 serialized_end=567,
46) 46)
@@ -60,28 +60,28 @@ _MAINTAINER = _descriptor.Descriptor(
60 has_default_value=False, default_value=_b("").decode('utf-8'), 60 has_default_value=False, default_value=_b("").decode('utf-8'),
61 message_type=None, enum_type=None, containing_type=None, 61 message_type=None, enum_type=None, containing_type=None,
62 is_extension=False, extension_scope=None, 62 is_extension=False, extension_scope=None,
63 options=None, file=DESCRIPTOR), 63 serialized_options=None, file=DESCRIPTOR),
64 _descriptor.FieldDescriptor( 64 _descriptor.FieldDescriptor(
65 name='email', full_name='hapi.chart.Maintainer.email', index=1, 65 name='email', full_name='hapi.chart.Maintainer.email', index=1,
66 number=2, type=9, cpp_type=9, label=1, 66 number=2, type=9, cpp_type=9, label=1,
67 has_default_value=False, default_value=_b("").decode('utf-8'), 67 has_default_value=False, default_value=_b("").decode('utf-8'),
68 message_type=None, enum_type=None, containing_type=None, 68 message_type=None, enum_type=None, containing_type=None,
69 is_extension=False, extension_scope=None, 69 is_extension=False, extension_scope=None,
70 options=None, file=DESCRIPTOR), 70 serialized_options=None, file=DESCRIPTOR),
71 _descriptor.FieldDescriptor( 71 _descriptor.FieldDescriptor(
72 name='url', full_name='hapi.chart.Maintainer.url', index=2, 72 name='url', full_name='hapi.chart.Maintainer.url', index=2,
73 number=3, type=9, cpp_type=9, label=1, 73 number=3, type=9, cpp_type=9, label=1,
74 has_default_value=False, default_value=_b("").decode('utf-8'), 74 has_default_value=False, default_value=_b("").decode('utf-8'),
75 message_type=None, enum_type=None, containing_type=None, 75 message_type=None, enum_type=None, containing_type=None,
76 is_extension=False, extension_scope=None, 76 is_extension=False, extension_scope=None,
77 options=None, file=DESCRIPTOR), 77 serialized_options=None, file=DESCRIPTOR),
78 ], 78 ],
79 extensions=[ 79 extensions=[
80 ], 80 ],
81 nested_types=[], 81 nested_types=[],
82 enum_types=[ 82 enum_types=[
83 ], 83 ],
84 options=None, 84 serialized_options=None,
85 is_extendable=False, 85 is_extendable=False,
86 syntax='proto3', 86 syntax='proto3',
87 extension_ranges=[], 87 extension_ranges=[],
@@ -105,21 +105,21 @@ _METADATA_ANNOTATIONSENTRY = _descriptor.Descriptor(
105 has_default_value=False, default_value=_b("").decode('utf-8'), 105 has_default_value=False, default_value=_b("").decode('utf-8'),
106 message_type=None, enum_type=None, containing_type=None, 106 message_type=None, enum_type=None, containing_type=None,
107 is_extension=False, extension_scope=None, 107 is_extension=False, extension_scope=None,
108 options=None, file=DESCRIPTOR), 108 serialized_options=None, file=DESCRIPTOR),
109 _descriptor.FieldDescriptor( 109 _descriptor.FieldDescriptor(
110 name='value', full_name='hapi.chart.Metadata.AnnotationsEntry.value', index=1, 110 name='value', full_name='hapi.chart.Metadata.AnnotationsEntry.value', index=1,
111 number=2, type=9, cpp_type=9, label=1, 111 number=2, type=9, cpp_type=9, label=1,
112 has_default_value=False, default_value=_b("").decode('utf-8'), 112 has_default_value=False, default_value=_b("").decode('utf-8'),
113 message_type=None, enum_type=None, containing_type=None, 113 message_type=None, enum_type=None, containing_type=None,
114 is_extension=False, extension_scope=None, 114 is_extension=False, extension_scope=None,
115 options=None, file=DESCRIPTOR), 115 serialized_options=None, file=DESCRIPTOR),
116 ], 116 ],
117 extensions=[ 117 extensions=[
118 ], 118 ],
119 nested_types=[], 119 nested_types=[],
120 enum_types=[ 120 enum_types=[
121 ], 121 ],
122 options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), 122 serialized_options=_b('8\001'),
123 is_extendable=False, 123 is_extendable=False,
124 syntax='proto3', 124 syntax='proto3',
125 extension_ranges=[], 125 extension_ranges=[],
@@ -142,119 +142,119 @@ _METADATA = _descriptor.Descriptor(
142 has_default_value=False, default_value=_b("").decode('utf-8'), 142 has_default_value=False, default_value=_b("").decode('utf-8'),
143 message_type=None, enum_type=None, containing_type=None, 143 message_type=None, enum_type=None, containing_type=None,
144 is_extension=False, extension_scope=None, 144 is_extension=False, extension_scope=None,
145 options=None, file=DESCRIPTOR), 145 serialized_options=None, file=DESCRIPTOR),
146 _descriptor.FieldDescriptor( 146 _descriptor.FieldDescriptor(
147 name='home', full_name='hapi.chart.Metadata.home', index=1, 147 name='home', full_name='hapi.chart.Metadata.home', index=1,
148 number=2, type=9, cpp_type=9, label=1, 148 number=2, type=9, cpp_type=9, label=1,
149 has_default_value=False, default_value=_b("").decode('utf-8'), 149 has_default_value=False, default_value=_b("").decode('utf-8'),
150 message_type=None, enum_type=None, containing_type=None, 150 message_type=None, enum_type=None, containing_type=None,
151 is_extension=False, extension_scope=None, 151 is_extension=False, extension_scope=None,
152 options=None, file=DESCRIPTOR), 152 serialized_options=None, file=DESCRIPTOR),
153 _descriptor.FieldDescriptor( 153 _descriptor.FieldDescriptor(
154 name='sources', full_name='hapi.chart.Metadata.sources', index=2, 154 name='sources', full_name='hapi.chart.Metadata.sources', index=2,
155 number=3, type=9, cpp_type=9, label=3, 155 number=3, type=9, cpp_type=9, label=3,
156 has_default_value=False, default_value=[], 156 has_default_value=False, default_value=[],
157 message_type=None, enum_type=None, containing_type=None, 157 message_type=None, enum_type=None, containing_type=None,
158 is_extension=False, extension_scope=None, 158 is_extension=False, extension_scope=None,
159 options=None, file=DESCRIPTOR), 159 serialized_options=None, file=DESCRIPTOR),
160 _descriptor.FieldDescriptor( 160 _descriptor.FieldDescriptor(
161 name='version', full_name='hapi.chart.Metadata.version', index=3, 161 name='version', full_name='hapi.chart.Metadata.version', index=3,
162 number=4, type=9, cpp_type=9, label=1, 162 number=4, type=9, cpp_type=9, label=1,
163 has_default_value=False, default_value=_b("").decode('utf-8'), 163 has_default_value=False, default_value=_b("").decode('utf-8'),
164 message_type=None, enum_type=None, containing_type=None, 164 message_type=None, enum_type=None, containing_type=None,
165 is_extension=False, extension_scope=None, 165 is_extension=False, extension_scope=None,
166 options=None, file=DESCRIPTOR), 166 serialized_options=None, file=DESCRIPTOR),
167 _descriptor.FieldDescriptor( 167 _descriptor.FieldDescriptor(
168 name='description', full_name='hapi.chart.Metadata.description', index=4, 168 name='description', full_name='hapi.chart.Metadata.description', index=4,
169 number=5, type=9, cpp_type=9, label=1, 169 number=5, type=9, cpp_type=9, label=1,
170 has_default_value=False, default_value=_b("").decode('utf-8'), 170 has_default_value=False, default_value=_b("").decode('utf-8'),
171 message_type=None, enum_type=None, containing_type=None, 171 message_type=None, enum_type=None, containing_type=None,
172 is_extension=False, extension_scope=None, 172 is_extension=False, extension_scope=None,
173 options=None, file=DESCRIPTOR), 173 serialized_options=None, file=DESCRIPTOR),
174 _descriptor.FieldDescriptor( 174 _descriptor.FieldDescriptor(
175 name='keywords', full_name='hapi.chart.Metadata.keywords', index=5, 175 name='keywords', full_name='hapi.chart.Metadata.keywords', index=5,
176 number=6, type=9, cpp_type=9, label=3, 176 number=6, type=9, cpp_type=9, label=3,
177 has_default_value=False, default_value=[], 177 has_default_value=False, default_value=[],
178 message_type=None, enum_type=None, containing_type=None, 178 message_type=None, enum_type=None, containing_type=None,
179 is_extension=False, extension_scope=None, 179 is_extension=False, extension_scope=None,
180 options=None, file=DESCRIPTOR), 180 serialized_options=None, file=DESCRIPTOR),
181 _descriptor.FieldDescriptor( 181 _descriptor.FieldDescriptor(
182 name='maintainers', full_name='hapi.chart.Metadata.maintainers', index=6, 182 name='maintainers', full_name='hapi.chart.Metadata.maintainers', index=6,
183 number=7, type=11, cpp_type=10, label=3, 183 number=7, type=11, cpp_type=10, label=3,
184 has_default_value=False, default_value=[], 184 has_default_value=False, default_value=[],
185 message_type=None, enum_type=None, containing_type=None, 185 message_type=None, enum_type=None, containing_type=None,
186 is_extension=False, extension_scope=None, 186 is_extension=False, extension_scope=None,
187 options=None, file=DESCRIPTOR), 187 serialized_options=None, file=DESCRIPTOR),
188 _descriptor.FieldDescriptor( 188 _descriptor.FieldDescriptor(
189 name='engine', full_name='hapi.chart.Metadata.engine', index=7, 189 name='engine', full_name='hapi.chart.Metadata.engine', index=7,
190 number=8, type=9, cpp_type=9, label=1, 190 number=8, type=9, cpp_type=9, label=1,
191 has_default_value=False, default_value=_b("").decode('utf-8'), 191 has_default_value=False, default_value=_b("").decode('utf-8'),
192 message_type=None, enum_type=None, containing_type=None, 192 message_type=None, enum_type=None, containing_type=None,
193 is_extension=False, extension_scope=None, 193 is_extension=False, extension_scope=None,
194 options=None, file=DESCRIPTOR), 194 serialized_options=None, file=DESCRIPTOR),
195 _descriptor.FieldDescriptor( 195 _descriptor.FieldDescriptor(
196 name='icon', full_name='hapi.chart.Metadata.icon', index=8, 196 name='icon', full_name='hapi.chart.Metadata.icon', index=8,
197 number=9, type=9, cpp_type=9, label=1, 197 number=9, type=9, cpp_type=9, label=1,
198 has_default_value=False, default_value=_b("").decode('utf-8'), 198 has_default_value=False, default_value=_b("").decode('utf-8'),
199 message_type=None, enum_type=None, containing_type=None, 199 message_type=None, enum_type=None, containing_type=None,
200 is_extension=False, extension_scope=None, 200 is_extension=False, extension_scope=None,
201 options=None, file=DESCRIPTOR), 201 serialized_options=None, file=DESCRIPTOR),
202 _descriptor.FieldDescriptor( 202 _descriptor.FieldDescriptor(
203 name='apiVersion', full_name='hapi.chart.Metadata.apiVersion', index=9, 203 name='apiVersion', full_name='hapi.chart.Metadata.apiVersion', index=9,
204 number=10, type=9, cpp_type=9, label=1, 204 number=10, type=9, cpp_type=9, label=1,
205 has_default_value=False, default_value=_b("").decode('utf-8'), 205 has_default_value=False, default_value=_b("").decode('utf-8'),
206 message_type=None, enum_type=None, containing_type=None, 206 message_type=None, enum_type=None, containing_type=None,
207 is_extension=False, extension_scope=None, 207 is_extension=False, extension_scope=None,
208 options=None, file=DESCRIPTOR), 208 serialized_options=None, file=DESCRIPTOR),
209 _descriptor.FieldDescriptor( 209 _descriptor.FieldDescriptor(
210 name='condition', full_name='hapi.chart.Metadata.condition', index=10, 210 name='condition', full_name='hapi.chart.Metadata.condition', index=10,
211 number=11, type=9, cpp_type=9, label=1, 211 number=11, type=9, cpp_type=9, label=1,
212 has_default_value=False, default_value=_b("").decode('utf-8'), 212 has_default_value=False, default_value=_b("").decode('utf-8'),
213 message_type=None, enum_type=None, containing_type=None, 213 message_type=None, enum_type=None, containing_type=None,
214 is_extension=False, extension_scope=None, 214 is_extension=False, extension_scope=None,
215 options=None, file=DESCRIPTOR), 215 serialized_options=None, file=DESCRIPTOR),
216 _descriptor.FieldDescriptor( 216 _descriptor.FieldDescriptor(
217 name='tags', full_name='hapi.chart.Metadata.tags', index=11, 217 name='tags', full_name='hapi.chart.Metadata.tags', index=11,
218 number=12, type=9, cpp_type=9, label=1, 218 number=12, type=9, cpp_type=9, label=1,
219 has_default_value=False, default_value=_b("").decode('utf-8'), 219 has_default_value=False, default_value=_b("").decode('utf-8'),
220 message_type=None, enum_type=None, containing_type=None, 220 message_type=None, enum_type=None, containing_type=None,
221 is_extension=False, extension_scope=None, 221 is_extension=False, extension_scope=None,
222 options=None, file=DESCRIPTOR), 222 serialized_options=None, file=DESCRIPTOR),
223 _descriptor.FieldDescriptor( 223 _descriptor.FieldDescriptor(
224 name='appVersion', full_name='hapi.chart.Metadata.appVersion', index=12, 224 name='appVersion', full_name='hapi.chart.Metadata.appVersion', index=12,
225 number=13, type=9, cpp_type=9, label=1, 225 number=13, type=9, cpp_type=9, label=1,
226 has_default_value=False, default_value=_b("").decode('utf-8'), 226 has_default_value=False, default_value=_b("").decode('utf-8'),
227 message_type=None, enum_type=None, containing_type=None, 227 message_type=None, enum_type=None, containing_type=None,
228 is_extension=False, extension_scope=None, 228 is_extension=False, extension_scope=None,
229 options=None, file=DESCRIPTOR), 229 serialized_options=None, file=DESCRIPTOR),
230 _descriptor.FieldDescriptor( 230 _descriptor.FieldDescriptor(
231 name='deprecated', full_name='hapi.chart.Metadata.deprecated', index=13, 231 name='deprecated', full_name='hapi.chart.Metadata.deprecated', index=13,
232 number=14, type=8, cpp_type=7, label=1, 232 number=14, type=8, cpp_type=7, label=1,
233 has_default_value=False, default_value=False, 233 has_default_value=False, default_value=False,
234 message_type=None, enum_type=None, containing_type=None, 234 message_type=None, enum_type=None, containing_type=None,
235 is_extension=False, extension_scope=None, 235 is_extension=False, extension_scope=None,
236 options=None, file=DESCRIPTOR), 236 serialized_options=None, file=DESCRIPTOR),
237 _descriptor.FieldDescriptor( 237 _descriptor.FieldDescriptor(
238 name='tillerVersion', full_name='hapi.chart.Metadata.tillerVersion', index=14, 238 name='tillerVersion', full_name='hapi.chart.Metadata.tillerVersion', index=14,
239 number=15, type=9, cpp_type=9, label=1, 239 number=15, type=9, cpp_type=9, label=1,
240 has_default_value=False, default_value=_b("").decode('utf-8'), 240 has_default_value=False, default_value=_b("").decode('utf-8'),
241 message_type=None, enum_type=None, containing_type=None, 241 message_type=None, enum_type=None, containing_type=None,
242 is_extension=False, extension_scope=None, 242 is_extension=False, extension_scope=None,
243 options=None, file=DESCRIPTOR), 243 serialized_options=None, file=DESCRIPTOR),
244 _descriptor.FieldDescriptor( 244 _descriptor.FieldDescriptor(
245 name='annotations', full_name='hapi.chart.Metadata.annotations', index=15, 245 name='annotations', full_name='hapi.chart.Metadata.annotations', index=15,
246 number=16, type=11, cpp_type=10, label=3, 246 number=16, type=11, cpp_type=10, label=3,
247 has_default_value=False, default_value=[], 247 has_default_value=False, default_value=[],
248 message_type=None, enum_type=None, containing_type=None, 248 message_type=None, enum_type=None, containing_type=None,
249 is_extension=False, extension_scope=None, 249 is_extension=False, extension_scope=None,
250 options=None, file=DESCRIPTOR), 250 serialized_options=None, file=DESCRIPTOR),
251 _descriptor.FieldDescriptor( 251 _descriptor.FieldDescriptor(
252 name='kubeVersion', full_name='hapi.chart.Metadata.kubeVersion', index=16, 252 name='kubeVersion', full_name='hapi.chart.Metadata.kubeVersion', index=16,
253 number=17, type=9, cpp_type=9, label=1, 253 number=17, type=9, cpp_type=9, label=1,
254 has_default_value=False, default_value=_b("").decode('utf-8'), 254 has_default_value=False, default_value=_b("").decode('utf-8'),
255 message_type=None, enum_type=None, containing_type=None, 255 message_type=None, enum_type=None, containing_type=None,
256 is_extension=False, extension_scope=None, 256 is_extension=False, extension_scope=None,
257 options=None, file=DESCRIPTOR), 257 serialized_options=None, file=DESCRIPTOR),
258 ], 258 ],
259 extensions=[ 259 extensions=[
260 ], 260 ],
@@ -262,7 +262,7 @@ _METADATA = _descriptor.Descriptor(
262 enum_types=[ 262 enum_types=[
263 _METADATA_ENGINE, 263 _METADATA_ENGINE,
264 ], 264 ],
265 options=None, 265 serialized_options=None,
266 is_extendable=False, 266 is_extendable=False,
267 syntax='proto3', 267 syntax='proto3',
268 extension_ranges=[], 268 extension_ranges=[],
@@ -303,8 +303,6 @@ _sym_db.RegisterMessage(Metadata)
303_sym_db.RegisterMessage(Metadata.AnnotationsEntry) 303_sym_db.RegisterMessage(Metadata.AnnotationsEntry)
304 304
305 305
306DESCRIPTOR.has_options = True 306DESCRIPTOR._options = None
307DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart')) 307_METADATA_ANNOTATIONSENTRY._options = None
308_METADATA_ANNOTATIONSENTRY.has_options = True
309_METADATA_ANNOTATIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
310# @@protoc_insertion_point(module_scope) 308# @@protoc_insertion_point(module_scope)
diff --git a/hapi/chart/template_pb2.py b/hapi/chart/template_pb2.py
index 7fe68c5..3ad371a 100644
--- a/hapi/chart/template_pb2.py
+++ b/hapi/chart/template_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
19 name='hapi/chart/template.proto', 18 name='hapi/chart/template.proto',
20 package='hapi.chart', 19 package='hapi.chart',
21 syntax='proto3', 20 syntax='proto3',
21 serialized_options=_b('Z\005chart'),
22 serialized_pb=_b('\n\x19hapi/chart/template.proto\x12\nhapi.chart\"&\n\x08Template\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x07Z\x05\x63hartb\x06proto3') 22 serialized_pb=_b('\n\x19hapi/chart/template.proto\x12\nhapi.chart\"&\n\x08Template\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x07Z\x05\x63hartb\x06proto3')
23) 23)
24 24
@@ -38,21 +38,21 @@ _TEMPLATE = _descriptor.Descriptor(
38 has_default_value=False, default_value=_b("").decode('utf-8'), 38 has_default_value=False, default_value=_b("").decode('utf-8'),
39 message_type=None, enum_type=None, containing_type=None, 39 message_type=None, enum_type=None, containing_type=None,
40 is_extension=False, extension_scope=None, 40 is_extension=False, extension_scope=None,
41 options=None, file=DESCRIPTOR), 41 serialized_options=None, file=DESCRIPTOR),
42 _descriptor.FieldDescriptor( 42 _descriptor.FieldDescriptor(
43 name='data', full_name='hapi.chart.Template.data', index=1, 43 name='data', full_name='hapi.chart.Template.data', index=1,
44 number=2, type=12, cpp_type=9, label=1, 44 number=2, type=12, cpp_type=9, label=1,
45 has_default_value=False, default_value=_b(""), 45 has_default_value=False, default_value=_b(""),
46 message_type=None, enum_type=None, containing_type=None, 46 message_type=None, enum_type=None, containing_type=None,
47 is_extension=False, extension_scope=None, 47 is_extension=False, extension_scope=None,
48 options=None, file=DESCRIPTOR), 48 serialized_options=None, file=DESCRIPTOR),
49 ], 49 ],
50 extensions=[ 50 extensions=[
51 ], 51 ],
52 nested_types=[], 52 nested_types=[],
53 enum_types=[ 53 enum_types=[
54 ], 54 ],
55 options=None, 55 serialized_options=None,
56 is_extendable=False, 56 is_extendable=False,
57 syntax='proto3', 57 syntax='proto3',
58 extension_ranges=[], 58 extension_ranges=[],
@@ -73,6 +73,5 @@ Template = _reflection.GeneratedProtocolMessageType('Template', (_message.Messag
73_sym_db.RegisterMessage(Template) 73_sym_db.RegisterMessage(Template)
74 74
75 75
76DESCRIPTOR.has_options = True 76DESCRIPTOR._options = None
77DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart'))
78# @@protoc_insertion_point(module_scope) 77# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/hook_pb2.py b/hapi/release/hook_pb2.py
index 714a7e8..ddf5395 100644
--- a/hapi/release/hook_pb2.py
+++ b/hapi/release/hook_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -20,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
20 name='hapi/release/hook.proto', 19 name='hapi/release/hook.proto',
21 package='hapi.release', 20 package='hapi.release',
22 syntax='proto3', 21 syntax='proto3',
22 serialized_options=_b('Z\007release'),
23 serialized_pb=_b('\n\x17hapi/release/hook.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x04\n\x04Hook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x10\n\x08manifest\x18\x04 \x01(\t\x12(\n\x06\x65vents\x18\x05 \x03(\x0e\x32\x18.hapi.release.Hook.Event\x12,\n\x08last_run\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06weight\x18\x07 \x01(\x05\x12\x38\n\x0f\x64\x65lete_policies\x18\x08 \x03(\x0e\x32\x1f.hapi.release.Hook.DeletePolicy\"\xe5\x01\n\x05\x45vent\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0bPRE_INSTALL\x10\x01\x12\x10\n\x0cPOST_INSTALL\x10\x02\x12\x0e\n\nPRE_DELETE\x10\x03\x12\x0f\n\x0bPOST_DELETE\x10\x04\x12\x0f\n\x0bPRE_UPGRADE\x10\x05\x12\x10\n\x0cPOST_UPGRADE\x10\x06\x12\x10\n\x0cPRE_ROLLBACK\x10\x07\x12\x11\n\rPOST_ROLLBACK\x10\x08\x12\x18\n\x14RELEASE_TEST_SUCCESS\x10\t\x12\x18\n\x14RELEASE_TEST_FAILURE\x10\n\x12\x0f\n\x0b\x43RD_INSTALL\x10\x0b\"C\n\x0c\x44\x65letePolicy\x12\r\n\tSUCCEEDED\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x18\n\x14\x42\x45\x46ORE_HOOK_CREATION\x10\x02\x42\tZ\x07releaseb\x06proto3') 23 serialized_pb=_b('\n\x17hapi/release/hook.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x04\n\x04Hook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x10\n\x08manifest\x18\x04 \x01(\t\x12(\n\x06\x65vents\x18\x05 \x03(\x0e\x32\x18.hapi.release.Hook.Event\x12,\n\x08last_run\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06weight\x18\x07 \x01(\x05\x12\x38\n\x0f\x64\x65lete_policies\x18\x08 \x03(\x0e\x32\x1f.hapi.release.Hook.DeletePolicy\"\xe5\x01\n\x05\x45vent\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0bPRE_INSTALL\x10\x01\x12\x10\n\x0cPOST_INSTALL\x10\x02\x12\x0e\n\nPRE_DELETE\x10\x03\x12\x0f\n\x0bPOST_DELETE\x10\x04\x12\x0f\n\x0bPRE_UPGRADE\x10\x05\x12\x10\n\x0cPOST_UPGRADE\x10\x06\x12\x10\n\x0cPRE_ROLLBACK\x10\x07\x12\x11\n\rPOST_ROLLBACK\x10\x08\x12\x18\n\x14RELEASE_TEST_SUCCESS\x10\t\x12\x18\n\x14RELEASE_TEST_FAILURE\x10\n\x12\x0f\n\x0b\x43RD_INSTALL\x10\x0b\"C\n\x0c\x44\x65letePolicy\x12\r\n\tSUCCEEDED\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x18\n\x14\x42\x45\x46ORE_HOOK_CREATION\x10\x02\x42\tZ\x07releaseb\x06proto3')
24 , 24 ,
25 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 25 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
@@ -34,55 +34,55 @@ _HOOK_EVENT = _descriptor.EnumDescriptor(
34 values=[ 34 values=[
35 _descriptor.EnumValueDescriptor( 35 _descriptor.EnumValueDescriptor(
36 name='UNKNOWN', index=0, number=0, 36 name='UNKNOWN', index=0, number=0,
37 options=None, 37 serialized_options=None,
38 type=None), 38 type=None),
39 _descriptor.EnumValueDescriptor( 39 _descriptor.EnumValueDescriptor(
40 name='PRE_INSTALL', index=1, number=1, 40 name='PRE_INSTALL', index=1, number=1,
41 options=None, 41 serialized_options=None,
42 type=None), 42 type=None),
43 _descriptor.EnumValueDescriptor( 43 _descriptor.EnumValueDescriptor(
44 name='POST_INSTALL', index=2, number=2, 44 name='POST_INSTALL', index=2, number=2,
45 options=None, 45 serialized_options=None,
46 type=None), 46 type=None),
47 _descriptor.EnumValueDescriptor( 47 _descriptor.EnumValueDescriptor(
48 name='PRE_DELETE', index=3, number=3, 48 name='PRE_DELETE', index=3, number=3,
49 options=None, 49 serialized_options=None,
50 type=None), 50 type=None),
51 _descriptor.EnumValueDescriptor( 51 _descriptor.EnumValueDescriptor(
52 name='POST_DELETE', index=4, number=4, 52 name='POST_DELETE', index=4, number=4,
53 options=None, 53 serialized_options=None,
54 type=None), 54 type=None),
55 _descriptor.EnumValueDescriptor( 55 _descriptor.EnumValueDescriptor(
56 name='PRE_UPGRADE', index=5, number=5, 56 name='PRE_UPGRADE', index=5, number=5,
57 options=None, 57 serialized_options=None,
58 type=None), 58 type=None),
59 _descriptor.EnumValueDescriptor( 59 _descriptor.EnumValueDescriptor(
60 name='POST_UPGRADE', index=6, number=6, 60 name='POST_UPGRADE', index=6, number=6,
61 options=None, 61 serialized_options=None,
62 type=None), 62 type=None),
63 _descriptor.EnumValueDescriptor( 63 _descriptor.EnumValueDescriptor(
64 name='PRE_ROLLBACK', index=7, number=7, 64 name='PRE_ROLLBACK', index=7, number=7,
65 options=None, 65 serialized_options=None,
66 type=None), 66 type=None),
67 _descriptor.EnumValueDescriptor( 67 _descriptor.EnumValueDescriptor(
68 name='POST_ROLLBACK', index=8, number=8, 68 name='POST_ROLLBACK', index=8, number=8,
69 options=None, 69 serialized_options=None,
70 type=None), 70 type=None),
71 _descriptor.EnumValueDescriptor( 71 _descriptor.EnumValueDescriptor(
72 name='RELEASE_TEST_SUCCESS', index=9, number=9, 72 name='RELEASE_TEST_SUCCESS', index=9, number=9,
73 options=None, 73 serialized_options=None,
74 type=None), 74 type=None),
75 _descriptor.EnumValueDescriptor( 75 _descriptor.EnumValueDescriptor(
76 name='RELEASE_TEST_FAILURE', index=10, number=10, 76 name='RELEASE_TEST_FAILURE', index=10, number=10,
77 options=None, 77 serialized_options=None,
78 type=None), 78 type=None),
79 _descriptor.EnumValueDescriptor( 79 _descriptor.EnumValueDescriptor(
80 name='CRD_INSTALL', index=11, number=11, 80 name='CRD_INSTALL', index=11, number=11,
81 options=None, 81 serialized_options=None,
82 type=None), 82 type=None),
83 ], 83 ],
84 containing_type=None, 84 containing_type=None,
85 options=None, 85 serialized_options=None,
86 serialized_start=306, 86 serialized_start=306,
87 serialized_end=535, 87 serialized_end=535,
88) 88)
@@ -96,19 +96,19 @@ _HOOK_DELETEPOLICY = _descriptor.EnumDescriptor(
96 values=[ 96 values=[
97 _descriptor.EnumValueDescriptor( 97 _descriptor.EnumValueDescriptor(
98 name='SUCCEEDED', index=0, number=0, 98 name='SUCCEEDED', index=0, number=0,
99 options=None, 99 serialized_options=None,
100 type=None), 100 type=None),
101 _descriptor.EnumValueDescriptor( 101 _descriptor.EnumValueDescriptor(
102 name='FAILED', index=1, number=1, 102 name='FAILED', index=1, number=1,
103 options=None, 103 serialized_options=None,
104 type=None), 104 type=None),
105 _descriptor.EnumValueDescriptor( 105 _descriptor.EnumValueDescriptor(
106 name='BEFORE_HOOK_CREATION', index=2, number=2, 106 name='BEFORE_HOOK_CREATION', index=2, number=2,
107 options=None, 107 serialized_options=None,
108 type=None), 108 type=None),
109 ], 109 ],
110 containing_type=None, 110 containing_type=None,
111 options=None, 111 serialized_options=None,
112 serialized_start=537, 112 serialized_start=537,
113 serialized_end=604, 113 serialized_end=604,
114) 114)
@@ -128,56 +128,56 @@ _HOOK = _descriptor.Descriptor(
128 has_default_value=False, default_value=_b("").decode('utf-8'), 128 has_default_value=False, default_value=_b("").decode('utf-8'),
129 message_type=None, enum_type=None, containing_type=None, 129 message_type=None, enum_type=None, containing_type=None,
130 is_extension=False, extension_scope=None, 130 is_extension=False, extension_scope=None,
131 options=None, file=DESCRIPTOR), 131 serialized_options=None, file=DESCRIPTOR),
132 _descriptor.FieldDescriptor( 132 _descriptor.FieldDescriptor(
133 name='kind', full_name='hapi.release.Hook.kind', index=1, 133 name='kind', full_name='hapi.release.Hook.kind', index=1,
134 number=2, type=9, cpp_type=9, label=1, 134 number=2, type=9, cpp_type=9, label=1,
135 has_default_value=False, default_value=_b("").decode('utf-8'), 135 has_default_value=False, default_value=_b("").decode('utf-8'),
136 message_type=None, enum_type=None, containing_type=None, 136 message_type=None, enum_type=None, containing_type=None,
137 is_extension=False, extension_scope=None, 137 is_extension=False, extension_scope=None,
138 options=None, file=DESCRIPTOR), 138 serialized_options=None, file=DESCRIPTOR),
139 _descriptor.FieldDescriptor( 139 _descriptor.FieldDescriptor(
140 name='path', full_name='hapi.release.Hook.path', index=2, 140 name='path', full_name='hapi.release.Hook.path', index=2,
141 number=3, type=9, cpp_type=9, label=1, 141 number=3, type=9, cpp_type=9, label=1,
142 has_default_value=False, default_value=_b("").decode('utf-8'), 142 has_default_value=False, default_value=_b("").decode('utf-8'),
143 message_type=None, enum_type=None, containing_type=None, 143 message_type=None, enum_type=None, containing_type=None,
144 is_extension=False, extension_scope=None, 144 is_extension=False, extension_scope=None,
145 options=None, file=DESCRIPTOR), 145 serialized_options=None, file=DESCRIPTOR),
146 _descriptor.FieldDescriptor( 146 _descriptor.FieldDescriptor(
147 name='manifest', full_name='hapi.release.Hook.manifest', index=3, 147 name='manifest', full_name='hapi.release.Hook.manifest', index=3,
148 number=4, type=9, cpp_type=9, label=1, 148 number=4, type=9, cpp_type=9, label=1,
149 has_default_value=False, default_value=_b("").decode('utf-8'), 149 has_default_value=False, default_value=_b("").decode('utf-8'),
150 message_type=None, enum_type=None, containing_type=None, 150 message_type=None, enum_type=None, containing_type=None,
151 is_extension=False, extension_scope=None, 151 is_extension=False, extension_scope=None,
152 options=None, file=DESCRIPTOR), 152 serialized_options=None, file=DESCRIPTOR),
153 _descriptor.FieldDescriptor( 153 _descriptor.FieldDescriptor(
154 name='events', full_name='hapi.release.Hook.events', index=4, 154 name='events', full_name='hapi.release.Hook.events', index=4,
155 number=5, type=14, cpp_type=8, label=3, 155 number=5, type=14, cpp_type=8, label=3,
156 has_default_value=False, default_value=[], 156 has_default_value=False, default_value=[],
157 message_type=None, enum_type=None, containing_type=None, 157 message_type=None, enum_type=None, containing_type=None,
158 is_extension=False, extension_scope=None, 158 is_extension=False, extension_scope=None,
159 options=None, file=DESCRIPTOR), 159 serialized_options=None, file=DESCRIPTOR),
160 _descriptor.FieldDescriptor( 160 _descriptor.FieldDescriptor(
161 name='last_run', full_name='hapi.release.Hook.last_run', index=5, 161 name='last_run', full_name='hapi.release.Hook.last_run', index=5,
162 number=6, type=11, cpp_type=10, label=1, 162 number=6, type=11, cpp_type=10, label=1,
163 has_default_value=False, default_value=None, 163 has_default_value=False, default_value=None,
164 message_type=None, enum_type=None, containing_type=None, 164 message_type=None, enum_type=None, containing_type=None,
165 is_extension=False, extension_scope=None, 165 is_extension=False, extension_scope=None,
166 options=None, file=DESCRIPTOR), 166 serialized_options=None, file=DESCRIPTOR),
167 _descriptor.FieldDescriptor( 167 _descriptor.FieldDescriptor(
168 name='weight', full_name='hapi.release.Hook.weight', index=6, 168 name='weight', full_name='hapi.release.Hook.weight', index=6,
169 number=7, type=5, cpp_type=1, label=1, 169 number=7, type=5, cpp_type=1, label=1,
170 has_default_value=False, default_value=0, 170 has_default_value=False, default_value=0,
171 message_type=None, enum_type=None, containing_type=None, 171 message_type=None, enum_type=None, containing_type=None,
172 is_extension=False, extension_scope=None, 172 is_extension=False, extension_scope=None,
173 options=None, file=DESCRIPTOR), 173 serialized_options=None, file=DESCRIPTOR),
174 _descriptor.FieldDescriptor( 174 _descriptor.FieldDescriptor(
175 name='delete_policies', full_name='hapi.release.Hook.delete_policies', index=7, 175 name='delete_policies', full_name='hapi.release.Hook.delete_policies', index=7,
176 number=8, type=14, cpp_type=8, label=3, 176 number=8, type=14, cpp_type=8, label=3,
177 has_default_value=False, default_value=[], 177 has_default_value=False, default_value=[],
178 message_type=None, enum_type=None, containing_type=None, 178 message_type=None, enum_type=None, containing_type=None,
179 is_extension=False, extension_scope=None, 179 is_extension=False, extension_scope=None,
180 options=None, file=DESCRIPTOR), 180 serialized_options=None, file=DESCRIPTOR),
181 ], 181 ],
182 extensions=[ 182 extensions=[
183 ], 183 ],
@@ -186,7 +186,7 @@ _HOOK = _descriptor.Descriptor(
186 _HOOK_EVENT, 186 _HOOK_EVENT,
187 _HOOK_DELETEPOLICY, 187 _HOOK_DELETEPOLICY,
188 ], 188 ],
189 options=None, 189 serialized_options=None,
190 is_extendable=False, 190 is_extendable=False,
191 syntax='proto3', 191 syntax='proto3',
192 extension_ranges=[], 192 extension_ranges=[],
@@ -212,6 +212,5 @@ Hook = _reflection.GeneratedProtocolMessageType('Hook', (_message.Message,), dic
212_sym_db.RegisterMessage(Hook) 212_sym_db.RegisterMessage(Hook)
213 213
214 214
215DESCRIPTOR.has_options = True 215DESCRIPTOR._options = None
216DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
217# @@protoc_insertion_point(module_scope) 216# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/info_pb2.py b/hapi/release/info_pb2.py
index 25d0e56..1a691ca 100644
--- a/hapi/release/info_pb2.py
+++ b/hapi/release/info_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
21 name='hapi/release/info.proto', 20 name='hapi/release/info.proto',
22 package='hapi.release', 21 package='hapi.release',
23 syntax='proto3', 22 syntax='proto3',
23 serialized_options=_b('Z\007release'),
24 serialized_pb=_b('\n\x17hapi/release/info.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19hapi/release/status.proto\"\xd5\x01\n\x04Info\x12$\n\x06status\x18\x01 \x01(\x0b\x32\x14.hapi.release.Status\x12\x32\n\x0e\x66irst_deployed\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlast_deployed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07\x64\x65leted\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x44\x65scription\x18\x05 \x01(\tB\tZ\x07releaseb\x06proto3') 24 serialized_pb=_b('\n\x17hapi/release/info.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19hapi/release/status.proto\"\xd5\x01\n\x04Info\x12$\n\x06status\x18\x01 \x01(\x0b\x32\x14.hapi.release.Status\x12\x32\n\x0e\x66irst_deployed\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlast_deployed\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x07\x64\x65leted\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x44\x65scription\x18\x05 \x01(\tB\tZ\x07releaseb\x06proto3')
25 , 25 ,
26 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,]) 26 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,])
@@ -41,42 +41,42 @@ _INFO = _descriptor.Descriptor(
41 has_default_value=False, default_value=None, 41 has_default_value=False, default_value=None,
42 message_type=None, enum_type=None, containing_type=None, 42 message_type=None, enum_type=None, containing_type=None,
43 is_extension=False, extension_scope=None, 43 is_extension=False, extension_scope=None,
44 options=None, file=DESCRIPTOR), 44 serialized_options=None, file=DESCRIPTOR),
45 _descriptor.FieldDescriptor( 45 _descriptor.FieldDescriptor(
46 name='first_deployed', full_name='hapi.release.Info.first_deployed', index=1, 46 name='first_deployed', full_name='hapi.release.Info.first_deployed', index=1,
47 number=2, type=11, cpp_type=10, label=1, 47 number=2, type=11, cpp_type=10, label=1,
48 has_default_value=False, default_value=None, 48 has_default_value=False, default_value=None,
49 message_type=None, enum_type=None, containing_type=None, 49 message_type=None, enum_type=None, containing_type=None,
50 is_extension=False, extension_scope=None, 50 is_extension=False, extension_scope=None,
51 options=None, file=DESCRIPTOR), 51 serialized_options=None, file=DESCRIPTOR),
52 _descriptor.FieldDescriptor( 52 _descriptor.FieldDescriptor(
53 name='last_deployed', full_name='hapi.release.Info.last_deployed', index=2, 53 name='last_deployed', full_name='hapi.release.Info.last_deployed', index=2,
54 number=3, type=11, cpp_type=10, label=1, 54 number=3, type=11, cpp_type=10, label=1,
55 has_default_value=False, default_value=None, 55 has_default_value=False, default_value=None,
56 message_type=None, enum_type=None, containing_type=None, 56 message_type=None, enum_type=None, containing_type=None,
57 is_extension=False, extension_scope=None, 57 is_extension=False, extension_scope=None,
58 options=None, file=DESCRIPTOR), 58 serialized_options=None, file=DESCRIPTOR),
59 _descriptor.FieldDescriptor( 59 _descriptor.FieldDescriptor(
60 name='deleted', full_name='hapi.release.Info.deleted', index=3, 60 name='deleted', full_name='hapi.release.Info.deleted', index=3,
61 number=4, type=11, cpp_type=10, label=1, 61 number=4, type=11, cpp_type=10, label=1,
62 has_default_value=False, default_value=None, 62 has_default_value=False, default_value=None,
63 message_type=None, enum_type=None, containing_type=None, 63 message_type=None, enum_type=None, containing_type=None,
64 is_extension=False, extension_scope=None, 64 is_extension=False, extension_scope=None,
65 options=None, file=DESCRIPTOR), 65 serialized_options=None, file=DESCRIPTOR),
66 _descriptor.FieldDescriptor( 66 _descriptor.FieldDescriptor(
67 name='Description', full_name='hapi.release.Info.Description', index=4, 67 name='Description', full_name='hapi.release.Info.Description', index=4,
68 number=5, type=9, cpp_type=9, label=1, 68 number=5, type=9, cpp_type=9, label=1,
69 has_default_value=False, default_value=_b("").decode('utf-8'), 69 has_default_value=False, default_value=_b("").decode('utf-8'),
70 message_type=None, enum_type=None, containing_type=None, 70 message_type=None, enum_type=None, containing_type=None,
71 is_extension=False, extension_scope=None, 71 is_extension=False, extension_scope=None,
72 options=None, file=DESCRIPTOR), 72 serialized_options=None, file=DESCRIPTOR),
73 ], 73 ],
74 extensions=[ 74 extensions=[
75 ], 75 ],
76 nested_types=[], 76 nested_types=[],
77 enum_types=[ 77 enum_types=[
78 ], 78 ],
79 options=None, 79 serialized_options=None,
80 is_extendable=False, 80 is_extendable=False,
81 syntax='proto3', 81 syntax='proto3',
82 extension_ranges=[], 82 extension_ranges=[],
@@ -101,6 +101,5 @@ Info = _reflection.GeneratedProtocolMessageType('Info', (_message.Message,), dic
101_sym_db.RegisterMessage(Info) 101_sym_db.RegisterMessage(Info)
102 102
103 103
104DESCRIPTOR.has_options = True 104DESCRIPTOR._options = None
105DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
106# @@protoc_insertion_point(module_scope) 105# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/release_pb2.py b/hapi/release/release_pb2.py
index d444c71..ddd03f0 100644
--- a/hapi/release/release_pb2.py
+++ b/hapi/release/release_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -23,6 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
23 name='hapi/release/release.proto', 22 name='hapi/release/release.proto',
24 package='hapi.release', 23 package='hapi.release',
25 syntax='proto3', 24 syntax='proto3',
25 serialized_options=_b('Z\007release'),
26 serialized_pb=_b('\n\x1ahapi/release/release.proto\x12\x0chapi.release\x1a\x17hapi/release/hook.proto\x1a\x17hapi/release/info.proto\x1a\x17hapi/chart/config.proto\x1a\x16hapi/chart/chart.proto\"\xd8\x01\n\x07Release\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12 \n\x05\x63hart\x18\x03 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x10\n\x08manifest\x18\x05 \x01(\t\x12!\n\x05hooks\x18\x06 \x03(\x0b\x32\x12.hapi.release.Hook\x12\x0f\n\x07version\x18\x07 \x01(\x05\x12\x11\n\tnamespace\x18\x08 \x01(\tB\tZ\x07releaseb\x06proto3') 26 serialized_pb=_b('\n\x1ahapi/release/release.proto\x12\x0chapi.release\x1a\x17hapi/release/hook.proto\x1a\x17hapi/release/info.proto\x1a\x17hapi/chart/config.proto\x1a\x16hapi/chart/chart.proto\"\xd8\x01\n\x07Release\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12 \n\x05\x63hart\x18\x03 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x10\n\x08manifest\x18\x05 \x01(\t\x12!\n\x05hooks\x18\x06 \x03(\x0b\x32\x12.hapi.release.Hook\x12\x0f\n\x07version\x18\x07 \x01(\x05\x12\x11\n\tnamespace\x18\x08 \x01(\tB\tZ\x07releaseb\x06proto3')
27 , 27 ,
28 dependencies=[hapi_dot_release_dot_hook__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,]) 28 dependencies=[hapi_dot_release_dot_hook__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,])
@@ -43,63 +43,63 @@ _RELEASE = _descriptor.Descriptor(
43 has_default_value=False, default_value=_b("").decode('utf-8'), 43 has_default_value=False, default_value=_b("").decode('utf-8'),
44 message_type=None, enum_type=None, containing_type=None, 44 message_type=None, enum_type=None, containing_type=None,
45 is_extension=False, extension_scope=None, 45 is_extension=False, extension_scope=None,
46 options=None, file=DESCRIPTOR), 46 serialized_options=None, file=DESCRIPTOR),
47 _descriptor.FieldDescriptor( 47 _descriptor.FieldDescriptor(
48 name='info', full_name='hapi.release.Release.info', index=1, 48 name='info', full_name='hapi.release.Release.info', index=1,
49 number=2, type=11, cpp_type=10, label=1, 49 number=2, type=11, cpp_type=10, label=1,
50 has_default_value=False, default_value=None, 50 has_default_value=False, default_value=None,
51 message_type=None, enum_type=None, containing_type=None, 51 message_type=None, enum_type=None, containing_type=None,
52 is_extension=False, extension_scope=None, 52 is_extension=False, extension_scope=None,
53 options=None, file=DESCRIPTOR), 53 serialized_options=None, file=DESCRIPTOR),
54 _descriptor.FieldDescriptor( 54 _descriptor.FieldDescriptor(
55 name='chart', full_name='hapi.release.Release.chart', index=2, 55 name='chart', full_name='hapi.release.Release.chart', index=2,
56 number=3, type=11, cpp_type=10, label=1, 56 number=3, type=11, cpp_type=10, label=1,
57 has_default_value=False, default_value=None, 57 has_default_value=False, default_value=None,
58 message_type=None, enum_type=None, containing_type=None, 58 message_type=None, enum_type=None, containing_type=None,
59 is_extension=False, extension_scope=None, 59 is_extension=False, extension_scope=None,
60 options=None, file=DESCRIPTOR), 60 serialized_options=None, file=DESCRIPTOR),
61 _descriptor.FieldDescriptor( 61 _descriptor.FieldDescriptor(
62 name='config', full_name='hapi.release.Release.config', index=3, 62 name='config', full_name='hapi.release.Release.config', index=3,
63 number=4, type=11, cpp_type=10, label=1, 63 number=4, type=11, cpp_type=10, label=1,
64 has_default_value=False, default_value=None, 64 has_default_value=False, default_value=None,
65 message_type=None, enum_type=None, containing_type=None, 65 message_type=None, enum_type=None, containing_type=None,
66 is_extension=False, extension_scope=None, 66 is_extension=False, extension_scope=None,
67 options=None, file=DESCRIPTOR), 67 serialized_options=None, file=DESCRIPTOR),
68 _descriptor.FieldDescriptor( 68 _descriptor.FieldDescriptor(
69 name='manifest', full_name='hapi.release.Release.manifest', index=4, 69 name='manifest', full_name='hapi.release.Release.manifest', index=4,
70 number=5, type=9, cpp_type=9, label=1, 70 number=5, type=9, cpp_type=9, label=1,
71 has_default_value=False, default_value=_b("").decode('utf-8'), 71 has_default_value=False, default_value=_b("").decode('utf-8'),
72 message_type=None, enum_type=None, containing_type=None, 72 message_type=None, enum_type=None, containing_type=None,
73 is_extension=False, extension_scope=None, 73 is_extension=False, extension_scope=None,
74 options=None, file=DESCRIPTOR), 74 serialized_options=None, file=DESCRIPTOR),
75 _descriptor.FieldDescriptor( 75 _descriptor.FieldDescriptor(
76 name='hooks', full_name='hapi.release.Release.hooks', index=5, 76 name='hooks', full_name='hapi.release.Release.hooks', index=5,
77 number=6, type=11, cpp_type=10, label=3, 77 number=6, type=11, cpp_type=10, label=3,
78 has_default_value=False, default_value=[], 78 has_default_value=False, default_value=[],
79 message_type=None, enum_type=None, containing_type=None, 79 message_type=None, enum_type=None, containing_type=None,
80 is_extension=False, extension_scope=None, 80 is_extension=False, extension_scope=None,
81 options=None, file=DESCRIPTOR), 81 serialized_options=None, file=DESCRIPTOR),
82 _descriptor.FieldDescriptor( 82 _descriptor.FieldDescriptor(
83 name='version', full_name='hapi.release.Release.version', index=6, 83 name='version', full_name='hapi.release.Release.version', index=6,
84 number=7, type=5, cpp_type=1, label=1, 84 number=7, type=5, cpp_type=1, label=1,
85 has_default_value=False, default_value=0, 85 has_default_value=False, default_value=0,
86 message_type=None, enum_type=None, containing_type=None, 86 message_type=None, enum_type=None, containing_type=None,
87 is_extension=False, extension_scope=None, 87 is_extension=False, extension_scope=None,
88 options=None, file=DESCRIPTOR), 88 serialized_options=None, file=DESCRIPTOR),
89 _descriptor.FieldDescriptor( 89 _descriptor.FieldDescriptor(
90 name='namespace', full_name='hapi.release.Release.namespace', index=7, 90 name='namespace', full_name='hapi.release.Release.namespace', index=7,
91 number=8, type=9, cpp_type=9, label=1, 91 number=8, type=9, cpp_type=9, label=1,
92 has_default_value=False, default_value=_b("").decode('utf-8'), 92 has_default_value=False, default_value=_b("").decode('utf-8'),
93 message_type=None, enum_type=None, containing_type=None, 93 message_type=None, enum_type=None, containing_type=None,
94 is_extension=False, extension_scope=None, 94 is_extension=False, extension_scope=None,
95 options=None, file=DESCRIPTOR), 95 serialized_options=None, file=DESCRIPTOR),
96 ], 96 ],
97 extensions=[ 97 extensions=[
98 ], 98 ],
99 nested_types=[], 99 nested_types=[],
100 enum_types=[ 100 enum_types=[
101 ], 101 ],
102 options=None, 102 serialized_options=None,
103 is_extendable=False, 103 is_extendable=False,
104 syntax='proto3', 104 syntax='proto3',
105 extension_ranges=[], 105 extension_ranges=[],
@@ -124,6 +124,5 @@ Release = _reflection.GeneratedProtocolMessageType('Release', (_message.Message,
124_sym_db.RegisterMessage(Release) 124_sym_db.RegisterMessage(Release)
125 125
126 126
127DESCRIPTOR.has_options = True 127DESCRIPTOR._options = None
128DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
129# @@protoc_insertion_point(module_scope) 128# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/status_pb2.py b/hapi/release/status_pb2.py
index 52de273..e03b08a 100644
--- a/hapi/release/status_pb2.py
+++ b/hapi/release/status_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
21 name='hapi/release/status.proto', 20 name='hapi/release/status.proto',
22 package='hapi.release', 21 package='hapi.release',
23 syntax='proto3', 22 syntax='proto3',
23 serialized_options=_b('Z\007release'),
24 serialized_pb=_b('\n\x19hapi/release/status.proto\x12\x0chapi.release\x1a\x1dhapi/release/test_suite.proto\x1a\x19google/protobuf/any.proto\"\xa4\x02\n\x06Status\x12\'\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tresources\x18\x03 \x01(\t\x12\r\n\x05notes\x18\x04 \x01(\t\x12\x34\n\x13last_test_suite_run\x18\x05 \x01(\x0b\x32\x17.hapi.release.TestSuite\"\x98\x01\n\x04\x43ode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08\x44\x45PLOYED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\x12\x0e\n\nSUPERSEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\x13\n\x0fPENDING_INSTALL\x10\x06\x12\x13\n\x0fPENDING_UPGRADE\x10\x07\x12\x14\n\x10PENDING_ROLLBACK\x10\x08\x42\tZ\x07releaseb\x06proto3') 24 serialized_pb=_b('\n\x19hapi/release/status.proto\x12\x0chapi.release\x1a\x1dhapi/release/test_suite.proto\x1a\x19google/protobuf/any.proto\"\xa4\x02\n\x06Status\x12\'\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tresources\x18\x03 \x01(\t\x12\r\n\x05notes\x18\x04 \x01(\t\x12\x34\n\x13last_test_suite_run\x18\x05 \x01(\x0b\x32\x17.hapi.release.TestSuite\"\x98\x01\n\x04\x43ode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08\x44\x45PLOYED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\x12\x0e\n\nSUPERSEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\x13\n\x0fPENDING_INSTALL\x10\x06\x12\x13\n\x0fPENDING_UPGRADE\x10\x07\x12\x14\n\x10PENDING_ROLLBACK\x10\x08\x42\tZ\x07releaseb\x06proto3')
25 , 25 ,
26 dependencies=[hapi_dot_release_dot_test__suite__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) 26 dependencies=[hapi_dot_release_dot_test__suite__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,])
@@ -35,43 +35,43 @@ _STATUS_CODE = _descriptor.EnumDescriptor(
35 values=[ 35 values=[
36 _descriptor.EnumValueDescriptor( 36 _descriptor.EnumValueDescriptor(
37 name='UNKNOWN', index=0, number=0, 37 name='UNKNOWN', index=0, number=0,
38 options=None, 38 serialized_options=None,
39 type=None), 39 type=None),
40 _descriptor.EnumValueDescriptor( 40 _descriptor.EnumValueDescriptor(
41 name='DEPLOYED', index=1, number=1, 41 name='DEPLOYED', index=1, number=1,
42 options=None, 42 serialized_options=None,
43 type=None), 43 type=None),
44 _descriptor.EnumValueDescriptor( 44 _descriptor.EnumValueDescriptor(
45 name='DELETED', index=2, number=2, 45 name='DELETED', index=2, number=2,
46 options=None, 46 serialized_options=None,
47 type=None), 47 type=None),
48 _descriptor.EnumValueDescriptor( 48 _descriptor.EnumValueDescriptor(
49 name='SUPERSEDED', index=3, number=3, 49 name='SUPERSEDED', index=3, number=3,
50 options=None, 50 serialized_options=None,
51 type=None), 51 type=None),
52 _descriptor.EnumValueDescriptor( 52 _descriptor.EnumValueDescriptor(
53 name='FAILED', index=4, number=4, 53 name='FAILED', index=4, number=4,
54 options=None, 54 serialized_options=None,
55 type=None), 55 type=None),
56 _descriptor.EnumValueDescriptor( 56 _descriptor.EnumValueDescriptor(
57 name='DELETING', index=5, number=5, 57 name='DELETING', index=5, number=5,
58 options=None, 58 serialized_options=None,
59 type=None), 59 type=None),
60 _descriptor.EnumValueDescriptor( 60 _descriptor.EnumValueDescriptor(
61 name='PENDING_INSTALL', index=6, number=6, 61 name='PENDING_INSTALL', index=6, number=6,
62 options=None, 62 serialized_options=None,
63 type=None), 63 type=None),
64 _descriptor.EnumValueDescriptor( 64 _descriptor.EnumValueDescriptor(
65 name='PENDING_UPGRADE', index=7, number=7, 65 name='PENDING_UPGRADE', index=7, number=7,
66 options=None, 66 serialized_options=None,
67 type=None), 67 type=None),
68 _descriptor.EnumValueDescriptor( 68 _descriptor.EnumValueDescriptor(
69 name='PENDING_ROLLBACK', index=8, number=8, 69 name='PENDING_ROLLBACK', index=8, number=8,
70 options=None, 70 serialized_options=None,
71 type=None), 71 type=None),
72 ], 72 ],
73 containing_type=None, 73 containing_type=None,
74 options=None, 74 serialized_options=None,
75 serialized_start=242, 75 serialized_start=242,
76 serialized_end=394, 76 serialized_end=394,
77) 77)
@@ -91,28 +91,28 @@ _STATUS = _descriptor.Descriptor(
91 has_default_value=False, default_value=0, 91 has_default_value=False, default_value=0,
92 message_type=None, enum_type=None, containing_type=None, 92 message_type=None, enum_type=None, containing_type=None,
93 is_extension=False, extension_scope=None, 93 is_extension=False, extension_scope=None,
94 options=None, file=DESCRIPTOR), 94 serialized_options=None, file=DESCRIPTOR),
95 _descriptor.FieldDescriptor( 95 _descriptor.FieldDescriptor(
96 name='resources', full_name='hapi.release.Status.resources', index=1, 96 name='resources', full_name='hapi.release.Status.resources', index=1,
97 number=3, type=9, cpp_type=9, label=1, 97 number=3, type=9, cpp_type=9, label=1,
98 has_default_value=False, default_value=_b("").decode('utf-8'), 98 has_default_value=False, default_value=_b("").decode('utf-8'),
99 message_type=None, enum_type=None, containing_type=None, 99 message_type=None, enum_type=None, containing_type=None,
100 is_extension=False, extension_scope=None, 100 is_extension=False, extension_scope=None,
101 options=None, file=DESCRIPTOR), 101 serialized_options=None, file=DESCRIPTOR),
102 _descriptor.FieldDescriptor( 102 _descriptor.FieldDescriptor(
103 name='notes', full_name='hapi.release.Status.notes', index=2, 103 name='notes', full_name='hapi.release.Status.notes', index=2,
104 number=4, type=9, cpp_type=9, label=1, 104 number=4, type=9, cpp_type=9, label=1,
105 has_default_value=False, default_value=_b("").decode('utf-8'), 105 has_default_value=False, default_value=_b("").decode('utf-8'),
106 message_type=None, enum_type=None, containing_type=None, 106 message_type=None, enum_type=None, containing_type=None,
107 is_extension=False, extension_scope=None, 107 is_extension=False, extension_scope=None,
108 options=None, file=DESCRIPTOR), 108 serialized_options=None, file=DESCRIPTOR),
109 _descriptor.FieldDescriptor( 109 _descriptor.FieldDescriptor(
110 name='last_test_suite_run', full_name='hapi.release.Status.last_test_suite_run', index=3, 110 name='last_test_suite_run', full_name='hapi.release.Status.last_test_suite_run', index=3,
111 number=5, type=11, cpp_type=10, label=1, 111 number=5, type=11, cpp_type=10, label=1,
112 has_default_value=False, default_value=None, 112 has_default_value=False, default_value=None,
113 message_type=None, enum_type=None, containing_type=None, 113 message_type=None, enum_type=None, containing_type=None,
114 is_extension=False, extension_scope=None, 114 is_extension=False, extension_scope=None,
115 options=None, file=DESCRIPTOR), 115 serialized_options=None, file=DESCRIPTOR),
116 ], 116 ],
117 extensions=[ 117 extensions=[
118 ], 118 ],
@@ -120,7 +120,7 @@ _STATUS = _descriptor.Descriptor(
120 enum_types=[ 120 enum_types=[
121 _STATUS_CODE, 121 _STATUS_CODE,
122 ], 122 ],
123 options=None, 123 serialized_options=None,
124 is_extendable=False, 124 is_extendable=False,
125 syntax='proto3', 125 syntax='proto3',
126 extension_ranges=[], 126 extension_ranges=[],
@@ -144,6 +144,5 @@ Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,),
144_sym_db.RegisterMessage(Status) 144_sym_db.RegisterMessage(Status)
145 145
146 146
147DESCRIPTOR.has_options = True 147DESCRIPTOR._options = None
148DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
149# @@protoc_insertion_point(module_scope) 148# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/test_run_pb2.py b/hapi/release/test_run_pb2.py
index 79b0cf0..120d727 100644
--- a/hapi/release/test_run_pb2.py
+++ b/hapi/release/test_run_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -20,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
20 name='hapi/release/test_run.proto', 19 name='hapi/release/test_run.proto',
21 package='hapi.release', 20 package='hapi.release',
22 syntax='proto3', 21 syntax='proto3',
22 serialized_options=_b('Z\007release'),
23 serialized_pb=_b('\n\x1bhapi/release/test_run.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf3\x01\n\x07TestRun\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status\x12\x0c\n\x04info\x18\x03 \x01(\t\x12.\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"<\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x42\tZ\x07releaseb\x06proto3') 23 serialized_pb=_b('\n\x1bhapi/release/test_run.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf3\x01\n\x07TestRun\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status\x12\x0c\n\x04info\x18\x03 \x01(\t\x12.\n\nstarted_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"<\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\x0b\n\x07\x46\x41ILURE\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x42\tZ\x07releaseb\x06proto3')
24 , 24 ,
25 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 25 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
@@ -34,23 +34,23 @@ _TESTRUN_STATUS = _descriptor.EnumDescriptor(
34 values=[ 34 values=[
35 _descriptor.EnumValueDescriptor( 35 _descriptor.EnumValueDescriptor(
36 name='UNKNOWN', index=0, number=0, 36 name='UNKNOWN', index=0, number=0,
37 options=None, 37 serialized_options=None,
38 type=None), 38 type=None),
39 _descriptor.EnumValueDescriptor( 39 _descriptor.EnumValueDescriptor(
40 name='SUCCESS', index=1, number=1, 40 name='SUCCESS', index=1, number=1,
41 options=None, 41 serialized_options=None,
42 type=None), 42 type=None),
43 _descriptor.EnumValueDescriptor( 43 _descriptor.EnumValueDescriptor(
44 name='FAILURE', index=2, number=2, 44 name='FAILURE', index=2, number=2,
45 options=None, 45 serialized_options=None,
46 type=None), 46 type=None),
47 _descriptor.EnumValueDescriptor( 47 _descriptor.EnumValueDescriptor(
48 name='RUNNING', index=3, number=3, 48 name='RUNNING', index=3, number=3,
49 options=None, 49 serialized_options=None,
50 type=None), 50 type=None),
51 ], 51 ],
52 containing_type=None, 52 containing_type=None,
53 options=None, 53 serialized_options=None,
54 serialized_start=262, 54 serialized_start=262,
55 serialized_end=322, 55 serialized_end=322,
56) 56)
@@ -70,35 +70,35 @@ _TESTRUN = _descriptor.Descriptor(
70 has_default_value=False, default_value=_b("").decode('utf-8'), 70 has_default_value=False, default_value=_b("").decode('utf-8'),
71 message_type=None, enum_type=None, containing_type=None, 71 message_type=None, enum_type=None, containing_type=None,
72 is_extension=False, extension_scope=None, 72 is_extension=False, extension_scope=None,
73 options=None, file=DESCRIPTOR), 73 serialized_options=None, file=DESCRIPTOR),
74 _descriptor.FieldDescriptor( 74 _descriptor.FieldDescriptor(
75 name='status', full_name='hapi.release.TestRun.status', index=1, 75 name='status', full_name='hapi.release.TestRun.status', index=1,
76 number=2, type=14, cpp_type=8, label=1, 76 number=2, type=14, cpp_type=8, label=1,
77 has_default_value=False, default_value=0, 77 has_default_value=False, default_value=0,
78 message_type=None, enum_type=None, containing_type=None, 78 message_type=None, enum_type=None, containing_type=None,
79 is_extension=False, extension_scope=None, 79 is_extension=False, extension_scope=None,
80 options=None, file=DESCRIPTOR), 80 serialized_options=None, file=DESCRIPTOR),
81 _descriptor.FieldDescriptor( 81 _descriptor.FieldDescriptor(
82 name='info', full_name='hapi.release.TestRun.info', index=2, 82 name='info', full_name='hapi.release.TestRun.info', index=2,
83 number=3, type=9, cpp_type=9, label=1, 83 number=3, type=9, cpp_type=9, label=1,
84 has_default_value=False, default_value=_b("").decode('utf-8'), 84 has_default_value=False, default_value=_b("").decode('utf-8'),
85 message_type=None, enum_type=None, containing_type=None, 85 message_type=None, enum_type=None, containing_type=None,
86 is_extension=False, extension_scope=None, 86 is_extension=False, extension_scope=None,
87 options=None, file=DESCRIPTOR), 87 serialized_options=None, file=DESCRIPTOR),
88 _descriptor.FieldDescriptor( 88 _descriptor.FieldDescriptor(
89 name='started_at', full_name='hapi.release.TestRun.started_at', index=3, 89 name='started_at', full_name='hapi.release.TestRun.started_at', index=3,
90 number=4, type=11, cpp_type=10, label=1, 90 number=4, type=11, cpp_type=10, label=1,
91 has_default_value=False, default_value=None, 91 has_default_value=False, default_value=None,
92 message_type=None, enum_type=None, containing_type=None, 92 message_type=None, enum_type=None, containing_type=None,
93 is_extension=False, extension_scope=None, 93 is_extension=False, extension_scope=None,
94 options=None, file=DESCRIPTOR), 94 serialized_options=None, file=DESCRIPTOR),
95 _descriptor.FieldDescriptor( 95 _descriptor.FieldDescriptor(
96 name='completed_at', full_name='hapi.release.TestRun.completed_at', index=4, 96 name='completed_at', full_name='hapi.release.TestRun.completed_at', index=4,
97 number=5, type=11, cpp_type=10, label=1, 97 number=5, type=11, cpp_type=10, label=1,
98 has_default_value=False, default_value=None, 98 has_default_value=False, default_value=None,
99 message_type=None, enum_type=None, containing_type=None, 99 message_type=None, enum_type=None, containing_type=None,
100 is_extension=False, extension_scope=None, 100 is_extension=False, extension_scope=None,
101 options=None, file=DESCRIPTOR), 101 serialized_options=None, file=DESCRIPTOR),
102 ], 102 ],
103 extensions=[ 103 extensions=[
104 ], 104 ],
@@ -106,7 +106,7 @@ _TESTRUN = _descriptor.Descriptor(
106 enum_types=[ 106 enum_types=[
107 _TESTRUN_STATUS, 107 _TESTRUN_STATUS,
108 ], 108 ],
109 options=None, 109 serialized_options=None,
110 is_extendable=False, 110 is_extendable=False,
111 syntax='proto3', 111 syntax='proto3',
112 extension_ranges=[], 112 extension_ranges=[],
@@ -131,6 +131,5 @@ TestRun = _reflection.GeneratedProtocolMessageType('TestRun', (_message.Message,
131_sym_db.RegisterMessage(TestRun) 131_sym_db.RegisterMessage(TestRun)
132 132
133 133
134DESCRIPTOR.has_options = True 134DESCRIPTOR._options = None
135DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
136# @@protoc_insertion_point(module_scope) 135# @@protoc_insertion_point(module_scope)
diff --git a/hapi/release/test_suite_pb2.py b/hapi/release/test_suite_pb2.py
index c843e88..036a3fa 100644
--- a/hapi/release/test_suite_pb2.py
+++ b/hapi/release/test_suite_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
21 name='hapi/release/test_suite.proto', 20 name='hapi/release/test_suite.proto',
22 package='hapi.release', 21 package='hapi.release',
23 syntax='proto3', 22 syntax='proto3',
23 serialized_options=_b('Z\007release'),
24 serialized_pb=_b('\n\x1dhapi/release/test_suite.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bhapi/release/test_run.proto\"\x95\x01\n\tTestSuite\x12.\n\nstarted_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x07results\x18\x03 \x03(\x0b\x32\x15.hapi.release.TestRunB\tZ\x07releaseb\x06proto3') 24 serialized_pb=_b('\n\x1dhapi/release/test_suite.proto\x12\x0chapi.release\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bhapi/release/test_run.proto\"\x95\x01\n\tTestSuite\x12.\n\nstarted_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x07results\x18\x03 \x03(\x0b\x32\x15.hapi.release.TestRunB\tZ\x07releaseb\x06proto3')
25 , 25 ,
26 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,]) 26 dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,])
@@ -41,28 +41,28 @@ _TESTSUITE = _descriptor.Descriptor(
41 has_default_value=False, default_value=None, 41 has_default_value=False, default_value=None,
42 message_type=None, enum_type=None, containing_type=None, 42 message_type=None, enum_type=None, containing_type=None,
43 is_extension=False, extension_scope=None, 43 is_extension=False, extension_scope=None,
44 options=None, file=DESCRIPTOR), 44 serialized_options=None, file=DESCRIPTOR),
45 _descriptor.FieldDescriptor( 45 _descriptor.FieldDescriptor(
46 name='completed_at', full_name='hapi.release.TestSuite.completed_at', index=1, 46 name='completed_at', full_name='hapi.release.TestSuite.completed_at', index=1,
47 number=2, type=11, cpp_type=10, label=1, 47 number=2, type=11, cpp_type=10, label=1,
48 has_default_value=False, default_value=None, 48 has_default_value=False, default_value=None,
49 message_type=None, enum_type=None, containing_type=None, 49 message_type=None, enum_type=None, containing_type=None,
50 is_extension=False, extension_scope=None, 50 is_extension=False, extension_scope=None,
51 options=None, file=DESCRIPTOR), 51 serialized_options=None, file=DESCRIPTOR),
52 _descriptor.FieldDescriptor( 52 _descriptor.FieldDescriptor(
53 name='results', full_name='hapi.release.TestSuite.results', index=2, 53 name='results', full_name='hapi.release.TestSuite.results', index=2,
54 number=3, type=11, cpp_type=10, label=3, 54 number=3, type=11, cpp_type=10, label=3,
55 has_default_value=False, default_value=[], 55 has_default_value=False, default_value=[],
56 message_type=None, enum_type=None, containing_type=None, 56 message_type=None, enum_type=None, containing_type=None,
57 is_extension=False, extension_scope=None, 57 is_extension=False, extension_scope=None,
58 options=None, file=DESCRIPTOR), 58 serialized_options=None, file=DESCRIPTOR),
59 ], 59 ],
60 extensions=[ 60 extensions=[
61 ], 61 ],
62 nested_types=[], 62 nested_types=[],
63 enum_types=[ 63 enum_types=[
64 ], 64 ],
65 options=None, 65 serialized_options=None,
66 is_extendable=False, 66 is_extendable=False,
67 syntax='proto3', 67 syntax='proto3',
68 extension_ranges=[], 68 extension_ranges=[],
@@ -86,6 +86,5 @@ TestSuite = _reflection.GeneratedProtocolMessageType('TestSuite', (_message.Mess
86_sym_db.RegisterMessage(TestSuite) 86_sym_db.RegisterMessage(TestSuite)
87 87
88 88
89DESCRIPTOR.has_options = True 89DESCRIPTOR._options = None
90DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
91# @@protoc_insertion_point(module_scope) 90# @@protoc_insertion_point(module_scope)
diff --git a/hapi/services/tiller_pb2.py b/hapi/services/tiller_pb2.py
index 26b020c..d885475 100644
--- a/hapi/services/tiller_pb2.py
+++ b/hapi/services/tiller_pb2.py
@@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
7from google.protobuf import message as _message 7from google.protobuf import message as _message
8from google.protobuf import reflection as _reflection 8from google.protobuf import reflection as _reflection
9from google.protobuf import symbol_database as _symbol_database 9from google.protobuf import symbol_database as _symbol_database
10from google.protobuf import descriptor_pb2
11# @@protoc_insertion_point(imports) 10# @@protoc_insertion_point(imports)
12 11
13_sym_db = _symbol_database.Default() 12_sym_db = _symbol_database.Default()
@@ -26,6 +25,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
26 name='hapi/services/tiller.proto', 25 name='hapi/services/tiller.proto',
27 package='hapi.services.tiller', 26 package='hapi.services.tiller',
28 syntax='proto3', 27 syntax='proto3',
28 serialized_options=_b('Z\010services'),
29 serialized_pb=_b('\n\x1ahapi/services/tiller.proto\x12\x14hapi.services.tiller\x1a\x16hapi/chart/chart.proto\x1a\x17hapi/chart/config.proto\x1a\x1ahapi/release/release.proto\x1a\x17hapi/release/info.proto\x1a\x1bhapi/release/test_run.proto\x1a\x19hapi/release/status.proto\x1a\x1ahapi/version/version.proto\"\xfe\x01\n\x13ListReleasesRequest\x12\r\n\x05limit\x18\x01 \x01(\x03\x12\x0e\n\x06offset\x18\x02 \x01(\t\x12\x36\n\x07sort_by\x18\x03 \x01(\x0e\x32%.hapi.services.tiller.ListSort.SortBy\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12<\n\nsort_order\x18\x05 \x01(\x0e\x32(.hapi.services.tiller.ListSort.SortOrder\x12/\n\x0cstatus_codes\x18\x06 \x03(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tnamespace\x18\x07 \x01(\t\"^\n\x08ListSort\"2\n\x06SortBy\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x11\n\rLAST_RELEASED\x10\x02\"\x1e\n\tSortOrder\x12\x07\n\x03\x41SC\x10\x00\x12\x08\n\x04\x44\x45SC\x10\x01\"k\n\x14ListReleasesResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04next\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x03\x12\'\n\x08releases\x18\x04 \x03(\x0b\x32\x15.hapi.release.Release\"8\n\x17GetReleaseStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"]\n\x18GetReleaseStatusResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12\x11\n\tnamespace\x18\x03 \x01(\t\"9\n\x18GetReleaseContentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"C\n\x19GetReleaseContentResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\x93\x02\n\x14UpdateReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x05\x63hart\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x03 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x04 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x10\n\x08recreate\x18\x06 \x01(\x08\x12\x0f\n\x07timeout\x18\x07 \x01(\x03\x12\x14\n\x0creset_values\x18\x08 \x01(\x08\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x14\n\x0creuse_values\x18\n \x01(\x08\x12\r\n\x05\x66orce\x18\x0b \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0c \x01(\t\"?\n\x15UpdateReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\xb4\x01\n\x16RollbackReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x64ry_run\x18\x02 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x10\n\x08recreate\x18\x05 \x01(\x08\x12\x0f\n\x07timeout\x18\x06 \x01(\x03\x12\x0c\n\x04wait\x18\x07 \x01(\x08\x12\r\n\x05\x66orce\x18\x08 \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\"A\n\x17RollbackReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\x88\x02\n\x15InstallReleaseRequest\x12 \n\x05\x63hart\x18\x01 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x02 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x11\n\tnamespace\x18\x06 \x01(\t\x12\x12\n\nreuse_name\x18\x07 \x01(\x08\x12\x0f\n\x07timeout\x18\x08 \x01(\x03\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x18\n\x10\x64isable_crd_hook\x18\n \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\"@\n\x16InstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"s\n\x17UninstallReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rdisable_hooks\x18\x02 \x01(\x08\x12\r\n\x05purge\x18\x03 \x01(\x08\x12\x0f\n\x07timeout\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\"P\n\x18UninstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\x12\x0c\n\x04info\x18\x02 \x01(\t\"\x13\n\x11GetVersionRequest\"<\n\x12GetVersionResponse\x12&\n\x07Version\x18\x01 \x01(\x0b\x32\x15.hapi.version.Version\".\n\x11GetHistoryRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03max\x18\x02 \x01(\x05\"=\n\x12GetHistoryResponse\x12\'\n\x08releases\x18\x01 \x03(\x0b\x32\x15.hapi.release.Release\"D\n\x12TestReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x03\x12\x0f\n\x07\x63leanup\x18\x03 \x01(\x08\"P\n\x13TestReleaseResponse\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status2\xdb\x08\n\x0eReleaseService\x12i\n\x0cListReleases\x12).hapi.services.tiller.ListReleasesRequest\x1a*.hapi.services.tiller.ListReleasesResponse\"\x00\x30\x01\x12s\n\x10GetReleaseStatus\x12-.hapi.services.tiller.GetReleaseStatusRequest\x1a..hapi.services.tiller.GetReleaseStatusResponse\"\x00\x12v\n\x11GetReleaseContent\x12..hapi.services.tiller.GetReleaseContentRequest\x1a/.hapi.services.tiller.GetReleaseContentResponse\"\x00\x12j\n\rUpdateRelease\x12*.hapi.services.tiller.UpdateReleaseRequest\x1a+.hapi.services.tiller.UpdateReleaseResponse\"\x00\x12m\n\x0eInstallRelease\x12+.hapi.services.tiller.InstallReleaseRequest\x1a,.hapi.services.tiller.InstallReleaseResponse\"\x00\x12s\n\x10UninstallRelease\x12-.hapi.services.tiller.UninstallReleaseRequest\x1a..hapi.services.tiller.UninstallReleaseResponse\"\x00\x12\x61\n\nGetVersion\x12\'.hapi.services.tiller.GetVersionRequest\x1a(.hapi.services.tiller.GetVersionResponse\"\x00\x12p\n\x0fRollbackRelease\x12,.hapi.services.tiller.RollbackReleaseRequest\x1a-.hapi.services.tiller.RollbackReleaseResponse\"\x00\x12\x61\n\nGetHistory\x12\'.hapi.services.tiller.GetHistoryRequest\x1a(.hapi.services.tiller.GetHistoryResponse\"\x00\x12i\n\x0eRunReleaseTest\x12(.hapi.services.tiller.TestReleaseRequest\x1a).hapi.services.tiller.TestReleaseResponse\"\x00\x30\x01\x42\nZ\x08servicesb\x06proto3') 29 serialized_pb=_b('\n\x1ahapi/services/tiller.proto\x12\x14hapi.services.tiller\x1a\x16hapi/chart/chart.proto\x1a\x17hapi/chart/config.proto\x1a\x1ahapi/release/release.proto\x1a\x17hapi/release/info.proto\x1a\x1bhapi/release/test_run.proto\x1a\x19hapi/release/status.proto\x1a\x1ahapi/version/version.proto\"\xfe\x01\n\x13ListReleasesRequest\x12\r\n\x05limit\x18\x01 \x01(\x03\x12\x0e\n\x06offset\x18\x02 \x01(\t\x12\x36\n\x07sort_by\x18\x03 \x01(\x0e\x32%.hapi.services.tiller.ListSort.SortBy\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12<\n\nsort_order\x18\x05 \x01(\x0e\x32(.hapi.services.tiller.ListSort.SortOrder\x12/\n\x0cstatus_codes\x18\x06 \x03(\x0e\x32\x19.hapi.release.Status.Code\x12\x11\n\tnamespace\x18\x07 \x01(\t\"^\n\x08ListSort\"2\n\x06SortBy\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x11\n\rLAST_RELEASED\x10\x02\"\x1e\n\tSortOrder\x12\x07\n\x03\x41SC\x10\x00\x12\x08\n\x04\x44\x45SC\x10\x01\"k\n\x14ListReleasesResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04next\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x03\x12\'\n\x08releases\x18\x04 \x03(\x0b\x32\x15.hapi.release.Release\"8\n\x17GetReleaseStatusRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"]\n\x18GetReleaseStatusResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04info\x18\x02 \x01(\x0b\x32\x12.hapi.release.Info\x12\x11\n\tnamespace\x18\x03 \x01(\t\"9\n\x18GetReleaseContentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"C\n\x19GetReleaseContentResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\x93\x02\n\x14UpdateReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x05\x63hart\x18\x02 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x03 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x04 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x10\n\x08recreate\x18\x06 \x01(\x08\x12\x0f\n\x07timeout\x18\x07 \x01(\x03\x12\x14\n\x0creset_values\x18\x08 \x01(\x08\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x14\n\x0creuse_values\x18\n \x01(\x08\x12\r\n\x05\x66orce\x18\x0b \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0c \x01(\t\"?\n\x15UpdateReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\xb4\x01\n\x16RollbackReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x64ry_run\x18\x02 \x01(\x08\x12\x15\n\rdisable_hooks\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x10\n\x08recreate\x18\x05 \x01(\x08\x12\x0f\n\x07timeout\x18\x06 \x01(\x03\x12\x0c\n\x04wait\x18\x07 \x01(\x08\x12\r\n\x05\x66orce\x18\x08 \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\"A\n\x17RollbackReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"\x88\x02\n\x15InstallReleaseRequest\x12 \n\x05\x63hart\x18\x01 \x01(\x0b\x32\x11.hapi.chart.Chart\x12\"\n\x06values\x18\x02 \x01(\x0b\x32\x12.hapi.chart.Config\x12\x0f\n\x07\x64ry_run\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x15\n\rdisable_hooks\x18\x05 \x01(\x08\x12\x11\n\tnamespace\x18\x06 \x01(\t\x12\x12\n\nreuse_name\x18\x07 \x01(\x08\x12\x0f\n\x07timeout\x18\x08 \x01(\x03\x12\x0c\n\x04wait\x18\t \x01(\x08\x12\x18\n\x10\x64isable_crd_hook\x18\n \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\"@\n\x16InstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\"s\n\x17UninstallReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rdisable_hooks\x18\x02 \x01(\x08\x12\r\n\x05purge\x18\x03 \x01(\x08\x12\x0f\n\x07timeout\x18\x04 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\"P\n\x18UninstallReleaseResponse\x12&\n\x07release\x18\x01 \x01(\x0b\x32\x15.hapi.release.Release\x12\x0c\n\x04info\x18\x02 \x01(\t\"\x13\n\x11GetVersionRequest\"<\n\x12GetVersionResponse\x12&\n\x07Version\x18\x01 \x01(\x0b\x32\x15.hapi.version.Version\".\n\x11GetHistoryRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03max\x18\x02 \x01(\x05\"=\n\x12GetHistoryResponse\x12\'\n\x08releases\x18\x01 \x03(\x0b\x32\x15.hapi.release.Release\"D\n\x12TestReleaseRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x03\x12\x0f\n\x07\x63leanup\x18\x03 \x01(\x08\"P\n\x13TestReleaseResponse\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12,\n\x06status\x18\x02 \x01(\x0e\x32\x1c.hapi.release.TestRun.Status2\xdb\x08\n\x0eReleaseService\x12i\n\x0cListReleases\x12).hapi.services.tiller.ListReleasesRequest\x1a*.hapi.services.tiller.ListReleasesResponse\"\x00\x30\x01\x12s\n\x10GetReleaseStatus\x12-.hapi.services.tiller.GetReleaseStatusRequest\x1a..hapi.services.tiller.GetReleaseStatusResponse\"\x00\x12v\n\x11GetReleaseContent\x12..hapi.services.tiller.GetReleaseContentRequest\x1a/.hapi.services.tiller.GetReleaseContentResponse\"\x00\x12j\n\rUpdateRelease\x12*.hapi.services.tiller.UpdateReleaseRequest\x1a+.hapi.services.tiller.UpdateReleaseResponse\"\x00\x12m\n\x0eInstallRelease\x12+.hapi.services.tiller.InstallReleaseRequest\x1a,.hapi.services.tiller.InstallReleaseResponse\"\x00\x12s\n\x10UninstallRelease\x12-.hapi.services.tiller.UninstallReleaseRequest\x1a..hapi.services.tiller.UninstallReleaseResponse\"\x00\x12\x61\n\nGetVersion\x12\'.hapi.services.tiller.GetVersionRequest\x1a(.hapi.services.tiller.GetVersionResponse\"\x00\x12p\n\x0fRollbackRelease\x12,.hapi.services.tiller.RollbackReleaseRequest\x1a-.hapi.services.tiller.RollbackReleaseResponse\"\x00\x12\x61\n\nGetHistory\x12\'.hapi.services.tiller.GetHistoryRequest\x1a(.hapi.services.tiller.GetHistoryResponse\"\x00\x12i\n\x0eRunReleaseTest\x12(.hapi.services.tiller.TestReleaseRequest\x1a).hapi.services.tiller.TestReleaseResponse\"\x00\x30\x01\x42\nZ\x08servicesb\x06proto3')
30 , 30 ,
31 dependencies=[hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_release_dot_release__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,hapi_dot_version_dot_version__pb2.DESCRIPTOR,]) 31 dependencies=[hapi_dot_chart_dot_chart__pb2.DESCRIPTOR,hapi_dot_chart_dot_config__pb2.DESCRIPTOR,hapi_dot_release_dot_release__pb2.DESCRIPTOR,hapi_dot_release_dot_info__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,hapi_dot_version_dot_version__pb2.DESCRIPTOR,])
@@ -40,19 +40,19 @@ _LISTSORT_SORTBY = _descriptor.EnumDescriptor(
40 values=[ 40 values=[
41 _descriptor.EnumValueDescriptor( 41 _descriptor.EnumValueDescriptor(
42 name='UNKNOWN', index=0, number=0, 42 name='UNKNOWN', index=0, number=0,
43 options=None, 43 serialized_options=None,
44 type=None), 44 type=None),
45 _descriptor.EnumValueDescriptor( 45 _descriptor.EnumValueDescriptor(
46 name='NAME', index=1, number=1, 46 name='NAME', index=1, number=1,
47 options=None, 47 serialized_options=None,
48 type=None), 48 type=None),
49 _descriptor.EnumValueDescriptor( 49 _descriptor.EnumValueDescriptor(
50 name='LAST_RELEASED', index=2, number=2, 50 name='LAST_RELEASED', index=2, number=2,
51 options=None, 51 serialized_options=None,
52 type=None), 52 type=None),
53 ], 53 ],
54 containing_type=None, 54 containing_type=None,
55 options=None, 55 serialized_options=None,
56 serialized_start=507, 56 serialized_start=507,
57 serialized_end=557, 57 serialized_end=557,
58) 58)
@@ -66,15 +66,15 @@ _LISTSORT_SORTORDER = _descriptor.EnumDescriptor(
66 values=[ 66 values=[
67 _descriptor.EnumValueDescriptor( 67 _descriptor.EnumValueDescriptor(
68 name='ASC', index=0, number=0, 68 name='ASC', index=0, number=0,
69 options=None, 69 serialized_options=None,
70 type=None), 70 type=None),
71 _descriptor.EnumValueDescriptor( 71 _descriptor.EnumValueDescriptor(
72 name='DESC', index=1, number=1, 72 name='DESC', index=1, number=1,
73 options=None, 73 serialized_options=None,
74 type=None), 74 type=None),
75 ], 75 ],
76 containing_type=None, 76 containing_type=None,
77 options=None, 77 serialized_options=None,
78 serialized_start=559, 78 serialized_start=559,
79 serialized_end=589, 79 serialized_end=589,
80) 80)
@@ -94,56 +94,56 @@ _LISTRELEASESREQUEST = _descriptor.Descriptor(
94 has_default_value=False, default_value=0, 94 has_default_value=False, default_value=0,
95 message_type=None, enum_type=None, containing_type=None, 95 message_type=None, enum_type=None, containing_type=None,
96 is_extension=False, extension_scope=None, 96 is_extension=False, extension_scope=None,
97 options=None, file=DESCRIPTOR), 97 serialized_options=None, file=DESCRIPTOR),
98 _descriptor.FieldDescriptor( 98 _descriptor.FieldDescriptor(
99 name='offset', full_name='hapi.services.tiller.ListReleasesRequest.offset', index=1, 99 name='offset', full_name='hapi.services.tiller.ListReleasesRequest.offset', index=1,
100 number=2, type=9, cpp_type=9, label=1, 100 number=2, type=9, cpp_type=9, label=1,
101 has_default_value=False, default_value=_b("").decode('utf-8'), 101 has_default_value=False, default_value=_b("").decode('utf-8'),
102 message_type=None, enum_type=None, containing_type=None, 102 message_type=None, enum_type=None, containing_type=None,
103 is_extension=False, extension_scope=None, 103 is_extension=False, extension_scope=None,
104 options=None, file=DESCRIPTOR), 104 serialized_options=None, file=DESCRIPTOR),
105 _descriptor.FieldDescriptor( 105 _descriptor.FieldDescriptor(
106 name='sort_by', full_name='hapi.services.tiller.ListReleasesRequest.sort_by', index=2, 106 name='sort_by', full_name='hapi.services.tiller.ListReleasesRequest.sort_by', index=2,
107 number=3, type=14, cpp_type=8, label=1, 107 number=3, type=14, cpp_type=8, label=1,
108 has_default_value=False, default_value=0, 108 has_default_value=False, default_value=0,
109 message_type=None, enum_type=None, containing_type=None, 109 message_type=None, enum_type=None, containing_type=None,
110 is_extension=False, extension_scope=None, 110 is_extension=False, extension_scope=None,
111 options=None, file=DESCRIPTOR), 111 serialized_options=None, file=DESCRIPTOR),
112 _descriptor.FieldDescriptor( 112 _descriptor.FieldDescriptor(
113 name='filter', full_name='hapi.services.tiller.ListReleasesRequest.filter', index=3, 113 name='filter', full_name='hapi.services.tiller.ListReleasesRequest.filter', index=3,
114 number=4, type=9, cpp_type=9, label=1, 114 number=4, type=9, cpp_type=9, label=1,
115 has_default_value=False, default_value=_b("").decode('utf-8'), 115 has_default_value=False, default_value=_b("").decode('utf-8'),
116 message_type=None, enum_type=None, containing_type=None, 116 message_type=None, enum_type=None, containing_type=None,
117 is_extension=False, extension_scope=None, 117 is_extension=False, extension_scope=None,
118 options=None, file=DESCRIPTOR), 118 serialized_options=None, file=DESCRIPTOR),
119 _descriptor.FieldDescriptor( 119 _descriptor.FieldDescriptor(
120 name='sort_order', full_name='hapi.services.tiller.ListReleasesRequest.sort_order', index=4, 120 name='sort_order', full_name='hapi.services.tiller.ListReleasesRequest.sort_order', index=4,
121 number=5, type=14, cpp_type=8, label=1, 121 number=5, type=14, cpp_type=8, label=1,
122 has_default_value=False, default_value=0, 122 has_default_value=False, default_value=0,
123 message_type=None, enum_type=None, containing_type=None, 123 message_type=None, enum_type=None, containing_type=None,
124 is_extension=False, extension_scope=None, 124 is_extension=False, extension_scope=None,
125 options=None, file=DESCRIPTOR), 125 serialized_options=None, file=DESCRIPTOR),
126 _descriptor.FieldDescriptor( 126 _descriptor.FieldDescriptor(
127 name='status_codes', full_name='hapi.services.tiller.ListReleasesRequest.status_codes', index=5, 127 name='status_codes', full_name='hapi.services.tiller.ListReleasesRequest.status_codes', index=5,
128 number=6, type=14, cpp_type=8, label=3, 128 number=6, type=14, cpp_type=8, label=3,
129 has_default_value=False, default_value=[], 129 has_default_value=False, default_value=[],
130 message_type=None, enum_type=None, containing_type=None, 130 message_type=None, enum_type=None, containing_type=None,
131 is_extension=False, extension_scope=None, 131 is_extension=False, extension_scope=None,
132 options=None, file=DESCRIPTOR), 132 serialized_options=None, file=DESCRIPTOR),
133 _descriptor.FieldDescriptor( 133 _descriptor.FieldDescriptor(
134 name='namespace', full_name='hapi.services.tiller.ListReleasesRequest.namespace', index=6, 134 name='namespace', full_name='hapi.services.tiller.ListReleasesRequest.namespace', index=6,
135 number=7, type=9, cpp_type=9, label=1, 135 number=7, type=9, cpp_type=9, label=1,
136 has_default_value=False, default_value=_b("").decode('utf-8'), 136 has_default_value=False, default_value=_b("").decode('utf-8'),
137 message_type=None, enum_type=None, containing_type=None, 137 message_type=None, enum_type=None, containing_type=None,
138 is_extension=False, extension_scope=None, 138 is_extension=False, extension_scope=None,
139 options=None, file=DESCRIPTOR), 139 serialized_options=None, file=DESCRIPTOR),
140 ], 140 ],
141 extensions=[ 141 extensions=[
142 ], 142 ],
143 nested_types=[], 143 nested_types=[],
144 enum_types=[ 144 enum_types=[
145 ], 145 ],
146 options=None, 146 serialized_options=None,
147 is_extendable=False, 147 is_extendable=False,
148 syntax='proto3', 148 syntax='proto3',
149 extension_ranges=[], 149 extension_ranges=[],
@@ -169,7 +169,7 @@ _LISTSORT = _descriptor.Descriptor(
169 _LISTSORT_SORTBY, 169 _LISTSORT_SORTBY,
170 _LISTSORT_SORTORDER, 170 _LISTSORT_SORTORDER,
171 ], 171 ],
172 options=None, 172 serialized_options=None,
173 is_extendable=False, 173 is_extendable=False,
174 syntax='proto3', 174 syntax='proto3',
175 extension_ranges=[], 175 extension_ranges=[],
@@ -193,35 +193,35 @@ _LISTRELEASESRESPONSE = _descriptor.Descriptor(
193 has_default_value=False, default_value=0, 193 has_default_value=False, default_value=0,
194 message_type=None, enum_type=None, containing_type=None, 194 message_type=None, enum_type=None, containing_type=None,
195 is_extension=False, extension_scope=None, 195 is_extension=False, extension_scope=None,
196 options=None, file=DESCRIPTOR), 196 serialized_options=None, file=DESCRIPTOR),
197 _descriptor.FieldDescriptor( 197 _descriptor.FieldDescriptor(
198 name='next', full_name='hapi.services.tiller.ListReleasesResponse.next', index=1, 198 name='next', full_name='hapi.services.tiller.ListReleasesResponse.next', index=1,
199 number=2, type=9, cpp_type=9, label=1, 199 number=2, type=9, cpp_type=9, label=1,
200 has_default_value=False, default_value=_b("").decode('utf-8'), 200 has_default_value=False, default_value=_b("").decode('utf-8'),
201 message_type=None, enum_type=None, containing_type=None, 201 message_type=None, enum_type=None, containing_type=None,
202 is_extension=False, extension_scope=None, 202 is_extension=False, extension_scope=None,
203 options=None, file=DESCRIPTOR), 203 serialized_options=None, file=DESCRIPTOR),
204 _descriptor.FieldDescriptor( 204 _descriptor.FieldDescriptor(
205 name='total', full_name='hapi.services.tiller.ListReleasesResponse.total', index=2, 205 name='total', full_name='hapi.services.tiller.ListReleasesResponse.total', index=2,
206 number=3, type=3, cpp_type=2, label=1, 206 number=3, type=3, cpp_type=2, label=1,
207 has_default_value=False, default_value=0, 207 has_default_value=False, default_value=0,
208 message_type=None, enum_type=None, containing_type=None, 208 message_type=None, enum_type=None, containing_type=None,
209 is_extension=False, extension_scope=None, 209 is_extension=False, extension_scope=None,
210 options=None, file=DESCRIPTOR), 210 serialized_options=None, file=DESCRIPTOR),
211 _descriptor.FieldDescriptor( 211 _descriptor.FieldDescriptor(
212 name='releases', full_name='hapi.services.tiller.ListReleasesResponse.releases', index=3, 212 name='releases', full_name='hapi.services.tiller.ListReleasesResponse.releases', index=3,
213 number=4, type=11, cpp_type=10, label=3, 213 number=4, type=11, cpp_type=10, label=3,
214 has_default_value=False, default_value=[], 214 has_default_value=False, default_value=[],
215 message_type=None, enum_type=None, containing_type=None, 215 message_type=None, enum_type=None, containing_type=None,
216 is_extension=False, extension_scope=None, 216 is_extension=False, extension_scope=None,
217 options=None, file=DESCRIPTOR), 217 serialized_options=None, file=DESCRIPTOR),
218 ], 218 ],
219 extensions=[ 219 extensions=[
220 ], 220 ],
221 nested_types=[], 221 nested_types=[],
222 enum_types=[ 222 enum_types=[
223 ], 223 ],
224 options=None, 224 serialized_options=None,
225 is_extendable=False, 225 is_extendable=False,
226 syntax='proto3', 226 syntax='proto3',
227 extension_ranges=[], 227 extension_ranges=[],
@@ -245,21 +245,21 @@ _GETRELEASESTATUSREQUEST = _descriptor.Descriptor(
245 has_default_value=False, default_value=_b("").decode('utf-8'), 245 has_default_value=False, default_value=_b("").decode('utf-8'),
246 message_type=None, enum_type=None, containing_type=None, 246 message_type=None, enum_type=None, containing_type=None,
247 is_extension=False, extension_scope=None, 247 is_extension=False, extension_scope=None,
248 options=None, file=DESCRIPTOR), 248 serialized_options=None, file=DESCRIPTOR),
249 _descriptor.FieldDescriptor( 249 _descriptor.FieldDescriptor(
250 name='version', full_name='hapi.services.tiller.GetReleaseStatusRequest.version', index=1, 250 name='version', full_name='hapi.services.tiller.GetReleaseStatusRequest.version', index=1,
251 number=2, type=5, cpp_type=1, label=1, 251 number=2, type=5, cpp_type=1, label=1,
252 has_default_value=False, default_value=0, 252 has_default_value=False, default_value=0,
253 message_type=None, enum_type=None, containing_type=None, 253 message_type=None, enum_type=None, containing_type=None,
254 is_extension=False, extension_scope=None, 254 is_extension=False, extension_scope=None,
255 options=None, file=DESCRIPTOR), 255 serialized_options=None, file=DESCRIPTOR),
256 ], 256 ],
257 extensions=[ 257 extensions=[
258 ], 258 ],
259 nested_types=[], 259 nested_types=[],
260 enum_types=[ 260 enum_types=[
261 ], 261 ],
262 options=None, 262 serialized_options=None,
263 is_extendable=False, 263 is_extendable=False,
264 syntax='proto3', 264 syntax='proto3',
265 extension_ranges=[], 265 extension_ranges=[],
@@ -283,28 +283,28 @@ _GETRELEASESTATUSRESPONSE = _descriptor.Descriptor(
283 has_default_value=False, default_value=_b("").decode('utf-8'), 283 has_default_value=False, default_value=_b("").decode('utf-8'),
284 message_type=None, enum_type=None, containing_type=None, 284 message_type=None, enum_type=None, containing_type=None,
285 is_extension=False, extension_scope=None, 285 is_extension=False, extension_scope=None,
286 options=None, file=DESCRIPTOR), 286 serialized_options=None, file=DESCRIPTOR),
287 _descriptor.FieldDescriptor( 287 _descriptor.FieldDescriptor(
288 name='info', full_name='hapi.services.tiller.GetReleaseStatusResponse.info', index=1, 288 name='info', full_name='hapi.services.tiller.GetReleaseStatusResponse.info', index=1,
289 number=2, type=11, cpp_type=10, label=1, 289 number=2, type=11, cpp_type=10, label=1,
290 has_default_value=False, default_value=None, 290 has_default_value=False, default_value=None,
291 message_type=None, enum_type=None, containing_type=None, 291 message_type=None, enum_type=None, containing_type=None,
292 is_extension=False, extension_scope=None, 292 is_extension=False, extension_scope=None,
293 options=None, file=DESCRIPTOR), 293 serialized_options=None, file=DESCRIPTOR),
294 _descriptor.FieldDescriptor( 294 _descriptor.FieldDescriptor(
295 name='namespace', full_name='hapi.services.tiller.GetReleaseStatusResponse.namespace', index=2, 295 name='namespace', full_name='hapi.services.tiller.GetReleaseStatusResponse.namespace', index=2,
296 number=3, type=9, cpp_type=9, label=1, 296 number=3, type=9, cpp_type=9, label=1,
297 has_default_value=False, default_value=_b("").decode('utf-8'), 297 has_default_value=False, default_value=_b("").decode('utf-8'),
298 message_type=None, enum_type=None, containing_type=None, 298 message_type=None, enum_type=None, containing_type=None,
299 is_extension=False, extension_scope=None, 299 is_extension=False, extension_scope=None,
300 options=None, file=DESCRIPTOR), 300 serialized_options=None, file=DESCRIPTOR),
301 ], 301 ],
302 extensions=[ 302 extensions=[
303 ], 303 ],
304 nested_types=[], 304 nested_types=[],
305 enum_types=[ 305 enum_types=[
306 ], 306 ],
307 options=None, 307 serialized_options=None,
308 is_extendable=False, 308 is_extendable=False,
309 syntax='proto3', 309 syntax='proto3',
310 extension_ranges=[], 310 extension_ranges=[],
@@ -328,21 +328,21 @@ _GETRELEASECONTENTREQUEST = _descriptor.Descriptor(
328 has_default_value=False, default_value=_b("").decode('utf-8'), 328 has_default_value=False, default_value=_b("").decode('utf-8'),
329 message_type=None, enum_type=None, containing_type=None, 329 message_type=None, enum_type=None, containing_type=None,
330 is_extension=False, extension_scope=None, 330 is_extension=False, extension_scope=None,
331 options=None, file=DESCRIPTOR), 331 serialized_options=None, file=DESCRIPTOR),
332 _descriptor.FieldDescriptor( 332 _descriptor.FieldDescriptor(
333 name='version', full_name='hapi.services.tiller.GetReleaseContentRequest.version', index=1, 333 name='version', full_name='hapi.services.tiller.GetReleaseContentRequest.version', index=1,
334 number=2, type=5, cpp_type=1, label=1, 334 number=2, type=5, cpp_type=1, label=1,
335 has_default_value=False, default_value=0, 335 has_default_value=False, default_value=0,
336 message_type=None, enum_type=None, containing_type=None, 336 message_type=None, enum_type=None, containing_type=None,
337 is_extension=False, extension_scope=None, 337 is_extension=False, extension_scope=None,
338 options=None, file=DESCRIPTOR), 338 serialized_options=None, file=DESCRIPTOR),
339 ], 339 ],
340 extensions=[ 340 extensions=[
341 ], 341 ],
342 nested_types=[], 342 nested_types=[],
343 enum_types=[ 343 enum_types=[
344 ], 344 ],
345 options=None, 345 serialized_options=None,
346 is_extendable=False, 346 is_extendable=False,
347 syntax='proto3', 347 syntax='proto3',
348 extension_ranges=[], 348 extension_ranges=[],
@@ -366,14 +366,14 @@ _GETRELEASECONTENTRESPONSE = _descriptor.Descriptor(
366 has_default_value=False, default_value=None, 366 has_default_value=False, default_value=None,
367 message_type=None, enum_type=None, containing_type=None, 367 message_type=None, enum_type=None, containing_type=None,
368 is_extension=False, extension_scope=None, 368 is_extension=False, extension_scope=None,
369 options=None, file=DESCRIPTOR), 369 serialized_options=None, file=DESCRIPTOR),
370 ], 370 ],
371 extensions=[ 371 extensions=[
372 ], 372 ],
373 nested_types=[], 373 nested_types=[],
374 enum_types=[ 374 enum_types=[
375 ], 375 ],
376 options=None, 376 serialized_options=None,
377 is_extendable=False, 377 is_extendable=False,
378 syntax='proto3', 378 syntax='proto3',
379 extension_ranges=[], 379 extension_ranges=[],
@@ -397,91 +397,91 @@ _UPDATERELEASEREQUEST = _descriptor.Descriptor(
397 has_default_value=False, default_value=_b("").decode('utf-8'), 397 has_default_value=False, default_value=_b("").decode('utf-8'),
398 message_type=None, enum_type=None, containing_type=None, 398 message_type=None, enum_type=None, containing_type=None,
399 is_extension=False, extension_scope=None, 399 is_extension=False, extension_scope=None,
400 options=None, file=DESCRIPTOR), 400 serialized_options=None, file=DESCRIPTOR),
401 _descriptor.FieldDescriptor( 401 _descriptor.FieldDescriptor(
402 name='chart', full_name='hapi.services.tiller.UpdateReleaseRequest.chart', index=1, 402 name='chart', full_name='hapi.services.tiller.UpdateReleaseRequest.chart', index=1,
403 number=2, type=11, cpp_type=10, label=1, 403 number=2, type=11, cpp_type=10, label=1,
404 has_default_value=False, default_value=None, 404 has_default_value=False, default_value=None,
405 message_type=None, enum_type=None, containing_type=None, 405 message_type=None, enum_type=None, containing_type=None,
406 is_extension=False, extension_scope=None, 406 is_extension=False, extension_scope=None,
407 options=None, file=DESCRIPTOR), 407 serialized_options=None, file=DESCRIPTOR),
408 _descriptor.FieldDescriptor( 408 _descriptor.FieldDescriptor(
409 name='values', full_name='hapi.services.tiller.UpdateReleaseRequest.values', index=2, 409 name='values', full_name='hapi.services.tiller.UpdateReleaseRequest.values', index=2,
410 number=3, type=11, cpp_type=10, label=1, 410 number=3, type=11, cpp_type=10, label=1,
411 has_default_value=False, default_value=None, 411 has_default_value=False, default_value=None,
412 message_type=None, enum_type=None, containing_type=None, 412 message_type=None, enum_type=None, containing_type=None,
413 is_extension=False, extension_scope=None, 413 is_extension=False, extension_scope=None,
414 options=None, file=DESCRIPTOR), 414 serialized_options=None, file=DESCRIPTOR),
415 _descriptor.FieldDescriptor( 415 _descriptor.FieldDescriptor(
416 name='dry_run', full_name='hapi.services.tiller.UpdateReleaseRequest.dry_run', index=3, 416 name='dry_run', full_name='hapi.services.tiller.UpdateReleaseRequest.dry_run', index=3,
417 number=4, type=8, cpp_type=7, label=1, 417 number=4, type=8, cpp_type=7, label=1,
418 has_default_value=False, default_value=False, 418 has_default_value=False, default_value=False,
419 message_type=None, enum_type=None, containing_type=None, 419 message_type=None, enum_type=None, containing_type=None,
420 is_extension=False, extension_scope=None, 420 is_extension=False, extension_scope=None,
421 options=None, file=DESCRIPTOR), 421 serialized_options=None, file=DESCRIPTOR),
422 _descriptor.FieldDescriptor( 422 _descriptor.FieldDescriptor(
423 name='disable_hooks', full_name='hapi.services.tiller.UpdateReleaseRequest.disable_hooks', index=4, 423 name='disable_hooks', full_name='hapi.services.tiller.UpdateReleaseRequest.disable_hooks', index=4,
424 number=5, type=8, cpp_type=7, label=1, 424 number=5, type=8, cpp_type=7, label=1,
425 has_default_value=False, default_value=False, 425 has_default_value=False, default_value=False,
426 message_type=None, enum_type=None, containing_type=None, 426 message_type=None, enum_type=None, containing_type=None,
427 is_extension=False, extension_scope=None, 427 is_extension=False, extension_scope=None,
428 options=None, file=DESCRIPTOR), 428 serialized_options=None, file=DESCRIPTOR),
429 _descriptor.FieldDescriptor( 429 _descriptor.FieldDescriptor(
430 name='recreate', full_name='hapi.services.tiller.UpdateReleaseRequest.recreate', index=5, 430 name='recreate', full_name='hapi.services.tiller.UpdateReleaseRequest.recreate', index=5,
431 number=6, type=8, cpp_type=7, label=1, 431 number=6, type=8, cpp_type=7, label=1,
432 has_default_value=False, default_value=False, 432 has_default_value=False, default_value=False,
433 message_type=None, enum_type=None, containing_type=None, 433 message_type=None, enum_type=None, containing_type=None,
434 is_extension=False, extension_scope=None, 434 is_extension=False, extension_scope=None,
435 options=None, file=DESCRIPTOR), 435 serialized_options=None, file=DESCRIPTOR),
436 _descriptor.FieldDescriptor( 436 _descriptor.FieldDescriptor(
437 name='timeout', full_name='hapi.services.tiller.UpdateReleaseRequest.timeout', index=6, 437 name='timeout', full_name='hapi.services.tiller.UpdateReleaseRequest.timeout', index=6,
438 number=7, type=3, cpp_type=2, label=1, 438 number=7, type=3, cpp_type=2, label=1,
439 has_default_value=False, default_value=0, 439 has_default_value=False, default_value=0,
440 message_type=None, enum_type=None, containing_type=None, 440 message_type=None, enum_type=None, containing_type=None,
441 is_extension=False, extension_scope=None, 441 is_extension=False, extension_scope=None,
442 options=None, file=DESCRIPTOR), 442 serialized_options=None, file=DESCRIPTOR),
443 _descriptor.FieldDescriptor( 443 _descriptor.FieldDescriptor(
444 name='reset_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reset_values', index=7, 444 name='reset_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reset_values', index=7,
445 number=8, type=8, cpp_type=7, label=1, 445 number=8, type=8, cpp_type=7, label=1,
446 has_default_value=False, default_value=False, 446 has_default_value=False, default_value=False,
447 message_type=None, enum_type=None, containing_type=None, 447 message_type=None, enum_type=None, containing_type=None,
448 is_extension=False, extension_scope=None, 448 is_extension=False, extension_scope=None,
449 options=None, file=DESCRIPTOR), 449 serialized_options=None, file=DESCRIPTOR),
450 _descriptor.FieldDescriptor( 450 _descriptor.FieldDescriptor(
451 name='wait', full_name='hapi.services.tiller.UpdateReleaseRequest.wait', index=8, 451 name='wait', full_name='hapi.services.tiller.UpdateReleaseRequest.wait', index=8,
452 number=9, type=8, cpp_type=7, label=1, 452 number=9, type=8, cpp_type=7, label=1,
453 has_default_value=False, default_value=False, 453 has_default_value=False, default_value=False,
454 message_type=None, enum_type=None, containing_type=None, 454 message_type=None, enum_type=None, containing_type=None,
455 is_extension=False, extension_scope=None, 455 is_extension=False, extension_scope=None,
456 options=None, file=DESCRIPTOR), 456 serialized_options=None, file=DESCRIPTOR),
457 _descriptor.FieldDescriptor( 457 _descriptor.FieldDescriptor(
458 name='reuse_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reuse_values', index=9, 458 name='reuse_values', full_name='hapi.services.tiller.UpdateReleaseRequest.reuse_values', index=9,
459 number=10, type=8, cpp_type=7, label=1, 459 number=10, type=8, cpp_type=7, label=1,
460 has_default_value=False, default_value=False, 460 has_default_value=False, default_value=False,
461 message_type=None, enum_type=None, containing_type=None, 461 message_type=None, enum_type=None, containing_type=None,
462 is_extension=False, extension_scope=None, 462 is_extension=False, extension_scope=None,
463 options=None, file=DESCRIPTOR), 463 serialized_options=None, file=DESCRIPTOR),
464 _descriptor.FieldDescriptor( 464 _descriptor.FieldDescriptor(
465 name='force', full_name='hapi.services.tiller.UpdateReleaseRequest.force', index=10, 465 name='force', full_name='hapi.services.tiller.UpdateReleaseRequest.force', index=10,
466 number=11, type=8, cpp_type=7, label=1, 466 number=11, type=8, cpp_type=7, label=1,
467 has_default_value=False, default_value=False, 467 has_default_value=False, default_value=False,
468 message_type=None, enum_type=None, containing_type=None, 468 message_type=None, enum_type=None, containing_type=None,
469 is_extension=False, extension_scope=None, 469 is_extension=False, extension_scope=None,
470 options=None, file=DESCRIPTOR), 470 serialized_options=None, file=DESCRIPTOR),
471 _descriptor.FieldDescriptor( 471 _descriptor.FieldDescriptor(
472 name='description', full_name='hapi.services.tiller.UpdateReleaseRequest.description', index=11, 472 name='description', full_name='hapi.services.tiller.UpdateReleaseRequest.description', index=11,
473 number=12, type=9, cpp_type=9, label=1, 473 number=12, type=9, cpp_type=9, label=1,
474 has_default_value=False, default_value=_b("").decode('utf-8'), 474 has_default_value=False, default_value=_b("").decode('utf-8'),
475 message_type=None, enum_type=None, containing_type=None, 475 message_type=None, enum_type=None, containing_type=None,
476 is_extension=False, extension_scope=None, 476 is_extension=False, extension_scope=None,
477 options=None, file=DESCRIPTOR), 477 serialized_options=None, file=DESCRIPTOR),
478 ], 478 ],
479 extensions=[ 479 extensions=[
480 ], 480 ],
481 nested_types=[], 481 nested_types=[],
482 enum_types=[ 482 enum_types=[
483 ], 483 ],
484 options=None, 484 serialized_options=None,
485 is_extendable=False, 485 is_extendable=False,
486 syntax='proto3', 486 syntax='proto3',
487 extension_ranges=[], 487 extension_ranges=[],
@@ -505,14 +505,14 @@ _UPDATERELEASERESPONSE = _descriptor.Descriptor(
505 has_default_value=False, default_value=None, 505 has_default_value=False, default_value=None,
506 message_type=None, enum_type=None, containing_type=None, 506 message_type=None, enum_type=None, containing_type=None,
507 is_extension=False, extension_scope=None, 507 is_extension=False, extension_scope=None,
508 options=None, file=DESCRIPTOR), 508 serialized_options=None, file=DESCRIPTOR),
509 ], 509 ],
510 extensions=[ 510 extensions=[
511 ], 511 ],
512 nested_types=[], 512 nested_types=[],
513 enum_types=[ 513 enum_types=[
514 ], 514 ],
515 options=None, 515 serialized_options=None,
516 is_extendable=False, 516 is_extendable=False,
517 syntax='proto3', 517 syntax='proto3',
518 extension_ranges=[], 518 extension_ranges=[],
@@ -536,70 +536,70 @@ _ROLLBACKRELEASEREQUEST = _descriptor.Descriptor(
536 has_default_value=False, default_value=_b("").decode('utf-8'), 536 has_default_value=False, default_value=_b("").decode('utf-8'),
537 message_type=None, enum_type=None, containing_type=None, 537 message_type=None, enum_type=None, containing_type=None,
538 is_extension=False, extension_scope=None, 538 is_extension=False, extension_scope=None,
539 options=None, file=DESCRIPTOR), 539 serialized_options=None, file=DESCRIPTOR),
540 _descriptor.FieldDescriptor( 540 _descriptor.FieldDescriptor(
541 name='dry_run', full_name='hapi.services.tiller.RollbackReleaseRequest.dry_run', index=1, 541 name='dry_run', full_name='hapi.services.tiller.RollbackReleaseRequest.dry_run', index=1,
542 number=2, type=8, cpp_type=7, label=1, 542 number=2, type=8, cpp_type=7, label=1,
543 has_default_value=False, default_value=False, 543 has_default_value=False, default_value=False,
544 message_type=None, enum_type=None, containing_type=None, 544 message_type=None, enum_type=None, containing_type=None,
545 is_extension=False, extension_scope=None, 545 is_extension=False, extension_scope=None,
546 options=None, file=DESCRIPTOR), 546 serialized_options=None, file=DESCRIPTOR),
547 _descriptor.FieldDescriptor( 547 _descriptor.FieldDescriptor(
548 name='disable_hooks', full_name='hapi.services.tiller.RollbackReleaseRequest.disable_hooks', index=2, 548 name='disable_hooks', full_name='hapi.services.tiller.RollbackReleaseRequest.disable_hooks', index=2,
549 number=3, type=8, cpp_type=7, label=1, 549 number=3, type=8, cpp_type=7, label=1,
550 has_default_value=False, default_value=False, 550 has_default_value=False, default_value=False,
551 message_type=None, enum_type=None, containing_type=None, 551 message_type=None, enum_type=None, containing_type=None,
552 is_extension=False, extension_scope=None, 552 is_extension=False, extension_scope=None,
553 options=None, file=DESCRIPTOR), 553 serialized_options=None, file=DESCRIPTOR),
554 _descriptor.FieldDescriptor( 554 _descriptor.FieldDescriptor(
555 name='version', full_name='hapi.services.tiller.RollbackReleaseRequest.version', index=3, 555 name='version', full_name='hapi.services.tiller.RollbackReleaseRequest.version', index=3,
556 number=4, type=5, cpp_type=1, label=1, 556 number=4, type=5, cpp_type=1, label=1,
557 has_default_value=False, default_value=0, 557 has_default_value=False, default_value=0,
558 message_type=None, enum_type=None, containing_type=None, 558 message_type=None, enum_type=None, containing_type=None,
559 is_extension=False, extension_scope=None, 559 is_extension=False, extension_scope=None,
560 options=None, file=DESCRIPTOR), 560 serialized_options=None, file=DESCRIPTOR),
561 _descriptor.FieldDescriptor( 561 _descriptor.FieldDescriptor(
562 name='recreate', full_name='hapi.services.tiller.RollbackReleaseRequest.recreate', index=4, 562 name='recreate', full_name='hapi.services.tiller.RollbackReleaseRequest.recreate', index=4,
563 number=5, type=8, cpp_type=7, label=1, 563 number=5, type=8, cpp_type=7, label=1,
564 has_default_value=False, default_value=False, 564 has_default_value=False, default_value=False,
565 message_type=None, enum_type=None, containing_type=None, 565 message_type=None, enum_type=None, containing_type=None,
566 is_extension=False, extension_scope=None, 566 is_extension=False, extension_scope=None,
567 options=None, file=DESCRIPTOR), 567 serialized_options=None, file=DESCRIPTOR),
568 _descriptor.FieldDescriptor( 568 _descriptor.FieldDescriptor(
569 name='timeout', full_name='hapi.services.tiller.RollbackReleaseRequest.timeout', index=5, 569 name='timeout', full_name='hapi.services.tiller.RollbackReleaseRequest.timeout', index=5,
570 number=6, type=3, cpp_type=2, label=1, 570 number=6, type=3, cpp_type=2, label=1,
571 has_default_value=False, default_value=0, 571 has_default_value=False, default_value=0,
572 message_type=None, enum_type=None, containing_type=None, 572 message_type=None, enum_type=None, containing_type=None,
573 is_extension=False, extension_scope=None, 573 is_extension=False, extension_scope=None,
574 options=None, file=DESCRIPTOR), 574 serialized_options=None, file=DESCRIPTOR),
575 _descriptor.FieldDescriptor( 575 _descriptor.FieldDescriptor(
576 name='wait', full_name='hapi.services.tiller.RollbackReleaseRequest.wait', index=6, 576 name='wait', full_name='hapi.services.tiller.RollbackReleaseRequest.wait', index=6,
577 number=7, type=8, cpp_type=7, label=1, 577 number=7, type=8, cpp_type=7, label=1,
578 has_default_value=False, default_value=False, 578 has_default_value=False, default_value=False,
579 message_type=None, enum_type=None, containing_type=None, 579 message_type=None, enum_type=None, containing_type=None,
580 is_extension=False, extension_scope=None, 580 is_extension=False, extension_scope=None,
581 options=None, file=DESCRIPTOR), 581 serialized_options=None, file=DESCRIPTOR),
582 _descriptor.FieldDescriptor( 582 _descriptor.FieldDescriptor(
583 name='force', full_name='hapi.services.tiller.RollbackReleaseRequest.force', index=7, 583 name='force', full_name='hapi.services.tiller.RollbackReleaseRequest.force', index=7,
584 number=8, type=8, cpp_type=7, label=1, 584 number=8, type=8, cpp_type=7, label=1,
585 has_default_value=False, default_value=False, 585 has_default_value=False, default_value=False,
586 message_type=None, enum_type=None, containing_type=None, 586 message_type=None, enum_type=None, containing_type=None,
587 is_extension=False, extension_scope=None, 587 is_extension=False, extension_scope=None,
588 options=None, file=DESCRIPTOR), 588 serialized_options=None, file=DESCRIPTOR),
589 _descriptor.FieldDescriptor( 589 _descriptor.FieldDescriptor(
590 name='description', full_name='hapi.services.tiller.RollbackReleaseRequest.description', index=8, 590 name='description', full_name='hapi.services.tiller.RollbackReleaseRequest.description', index=8,
591 number=9, type=9, cpp_type=9, label=1, 591 number=9, type=9, cpp_type=9, label=1,
592 has_default_value=False, default_value=_b("").decode('utf-8'), 592 has_default_value=False, default_value=_b("").decode('utf-8'),
593 message_type=None, enum_type=None, containing_type=None, 593 message_type=None, enum_type=None, containing_type=None,
594 is_extension=False, extension_scope=None, 594 is_extension=False, extension_scope=None,
595 options=None, file=DESCRIPTOR), 595 serialized_options=None, file=DESCRIPTOR),
596 ], 596 ],
597 extensions=[ 597 extensions=[
598 ], 598 ],
599 nested_types=[], 599 nested_types=[],
600 enum_types=[ 600 enum_types=[
601 ], 601 ],
602 options=None, 602 serialized_options=None,
603 is_extendable=False, 603 is_extendable=False,
604 syntax='proto3', 604 syntax='proto3',
605 extension_ranges=[], 605 extension_ranges=[],
@@ -623,14 +623,14 @@ _ROLLBACKRELEASERESPONSE = _descriptor.Descriptor(
623 has_default_value=False, default_value=None, 623 has_default_value=False, default_value=None,
624 message_type=None, enum_type=None, containing_type=None, 624 message_type=None, enum_type=None, containing_type=None,
625 is_extension=False, extension_scope=None, 625 is_extension=False, extension_scope=None,
626 options=None, file=DESCRIPTOR), 626 serialized_options=None, file=DESCRIPTOR),
627 ], 627 ],
628 extensions=[ 628 extensions=[
629 ], 629 ],
630 nested_types=[], 630 nested_types=[],
631 enum_types=[ 631 enum_types=[
632 ], 632 ],
633 options=None, 633 serialized_options=None,
634 is_extendable=False, 634 is_extendable=False,
635 syntax='proto3', 635 syntax='proto3',
636 extension_ranges=[], 636 extension_ranges=[],
@@ -654,84 +654,84 @@ _INSTALLRELEASEREQUEST = _descriptor.Descriptor(
654 has_default_value=False, default_value=None, 654 has_default_value=False, default_value=None,
655 message_type=None, enum_type=None, containing_type=None, 655 message_type=None, enum_type=None, containing_type=None,
656 is_extension=False, extension_scope=None, 656 is_extension=False, extension_scope=None,
657 options=None, file=DESCRIPTOR), 657 serialized_options=None, file=DESCRIPTOR),
658 _descriptor.FieldDescriptor( 658 _descriptor.FieldDescriptor(
659 name='values', full_name='hapi.services.tiller.InstallReleaseRequest.values', index=1, 659 name='values', full_name='hapi.services.tiller.InstallReleaseRequest.values', index=1,
660 number=2, type=11, cpp_type=10, label=1, 660 number=2, type=11, cpp_type=10, label=1,
661 has_default_value=False, default_value=None, 661 has_default_value=False, default_value=None,
662 message_type=None, enum_type=None, containing_type=None, 662 message_type=None, enum_type=None, containing_type=None,
663 is_extension=False, extension_scope=None, 663 is_extension=False, extension_scope=None,
664 options=None, file=DESCRIPTOR), 664 serialized_options=None, file=DESCRIPTOR),
665 _descriptor.FieldDescriptor( 665 _descriptor.FieldDescriptor(
666 name='dry_run', full_name='hapi.services.tiller.InstallReleaseRequest.dry_run', index=2, 666 name='dry_run', full_name='hapi.services.tiller.InstallReleaseRequest.dry_run', index=2,
667 number=3, type=8, cpp_type=7, label=1, 667 number=3, type=8, cpp_type=7, label=1,
668 has_default_value=False, default_value=False, 668 has_default_value=False, default_value=False,
669 message_type=None, enum_type=None, containing_type=None, 669 message_type=None, enum_type=None, containing_type=None,
670 is_extension=False, extension_scope=None, 670 is_extension=False, extension_scope=None,
671 options=None, file=DESCRIPTOR), 671 serialized_options=None, file=DESCRIPTOR),
672 _descriptor.FieldDescriptor( 672 _descriptor.FieldDescriptor(
673 name='name', full_name='hapi.services.tiller.InstallReleaseRequest.name', index=3, 673 name='name', full_name='hapi.services.tiller.InstallReleaseRequest.name', index=3,
674 number=4, type=9, cpp_type=9, label=1, 674 number=4, type=9, cpp_type=9, label=1,
675 has_default_value=False, default_value=_b("").decode('utf-8'), 675 has_default_value=False, default_value=_b("").decode('utf-8'),
676 message_type=None, enum_type=None, containing_type=None, 676 message_type=None, enum_type=None, containing_type=None,
677 is_extension=False, extension_scope=None, 677 is_extension=False, extension_scope=None,
678 options=None, file=DESCRIPTOR), 678 serialized_options=None, file=DESCRIPTOR),
679 _descriptor.FieldDescriptor( 679 _descriptor.FieldDescriptor(
680 name='disable_hooks', full_name='hapi.services.tiller.InstallReleaseRequest.disable_hooks', index=4, 680 name='disable_hooks', full_name='hapi.services.tiller.InstallReleaseRequest.disable_hooks', index=4,
681 number=5, type=8, cpp_type=7, label=1, 681 number=5, type=8, cpp_type=7, label=1,
682 has_default_value=False, default_value=False, 682 has_default_value=False, default_value=False,
683 message_type=None, enum_type=None, containing_type=None, 683 message_type=None, enum_type=None, containing_type=None,
684 is_extension=False, extension_scope=None, 684 is_extension=False, extension_scope=None,
685 options=None, file=DESCRIPTOR), 685 serialized_options=None, file=DESCRIPTOR),
686 _descriptor.FieldDescriptor( 686 _descriptor.FieldDescriptor(
687 name='namespace', full_name='hapi.services.tiller.InstallReleaseRequest.namespace', index=5, 687 name='namespace', full_name='hapi.services.tiller.InstallReleaseRequest.namespace', index=5,
688 number=6, type=9, cpp_type=9, label=1, 688 number=6, type=9, cpp_type=9, label=1,
689 has_default_value=False, default_value=_b("").decode('utf-8'), 689 has_default_value=False, default_value=_b("").decode('utf-8'),
690 message_type=None, enum_type=None, containing_type=None, 690 message_type=None, enum_type=None, containing_type=None,
691 is_extension=False, extension_scope=None, 691 is_extension=False, extension_scope=None,
692 options=None, file=DESCRIPTOR), 692 serialized_options=None, file=DESCRIPTOR),
693 _descriptor.FieldDescriptor( 693 _descriptor.FieldDescriptor(
694 name='reuse_name', full_name='hapi.services.tiller.InstallReleaseRequest.reuse_name', index=6, 694 name='reuse_name', full_name='hapi.services.tiller.InstallReleaseRequest.reuse_name', index=6,
695 number=7, type=8, cpp_type=7, label=1, 695 number=7, type=8, cpp_type=7, label=1,
696 has_default_value=False, default_value=False,