Merge "Implement tiller gRPC channel clean up"

This commit is contained in:
Zuul 2018-11-13 15:26:38 +00:00 committed by Gerrit Code Review
commit d963b2e4df
33 changed files with 528 additions and 515 deletions

View File

@ -23,6 +23,8 @@ import falcon
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
from armada.handlers.tiller import Tiller
CONF = cfg.CONF CONF = cfg.CONF
@ -107,6 +109,19 @@ class BaseResource(object):
def error(self, ctx, msg): def error(self, ctx, msg):
self.log_error(ctx, log.ERROR, msg) self.log_error(ctx, log.ERROR, msg)
def get_tiller(self, req, resp):
dry_run = req.get_param_as_bool('dry_run')
tiller_port = req.get_param_as_int('tiller_port') or CONF.tiller_port
tiller_namespace = req.get_param(
'tiller_namespace',
default=CONF.tiller_namespace) or CONF.tiller_namespace
return Tiller(
tiller_host=req.get_param('tiller_host'),
tiller_port=tiller_port,
tiller_namespace=tiller_namespace,
dry_run=dry_run)
class ArmadaRequestContext(object): class ArmadaRequestContext(object):

View File

@ -16,7 +16,6 @@ import json
import yaml import yaml
import falcon import falcon
from oslo_config import cfg
from armada import api from armada import api
from armada.common import policy from armada.common import policy
@ -25,8 +24,6 @@ from armada.handlers.armada import Armada
from armada.handlers.document import ReferenceResolver from armada.handlers.document import ReferenceResolver
from armada.handlers.override import Override from armada.handlers.override import Override
CONF = cfg.CONF
class Apply(api.BaseResource): class Apply(api.BaseResource):
"""Controller for installing and updating charts defined in an Armada """Controller for installing and updating charts defined in an Armada
@ -71,31 +68,30 @@ class Apply(api.BaseResource):
message="Request must be in application/x-yaml" message="Request must be in application/x-yaml"
"or application/json") "or application/json")
try: try:
armada = Armada( with self.get_tiller(req, resp) as tiller:
documents,
disable_update_pre=req.get_param_as_bool('disable_update_pre'),
disable_update_post=req.get_param_as_bool(
'disable_update_post'),
enable_chart_cleanup=req.get_param_as_bool(
'enable_chart_cleanup'),
dry_run=req.get_param_as_bool('dry_run'),
force_wait=req.get_param_as_bool('wait'),
timeout=req.get_param_as_int('timeout'),
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace),
target_manifest=req.get_param('target_manifest'))
msg = armada.sync() armada = Armada(
documents,
disable_update_pre=req.get_param_as_bool(
'disable_update_pre'),
disable_update_post=req.get_param_as_bool(
'disable_update_post'),
enable_chart_cleanup=req.get_param_as_bool(
'enable_chart_cleanup'),
dry_run=req.get_param_as_bool('dry_run'),
force_wait=req.get_param_as_bool('wait'),
timeout=req.get_param_as_int('timeout'),
tiller=tiller,
target_manifest=req.get_param('target_manifest'))
resp.body = json.dumps({ msg = armada.sync()
'message': msg,
})
resp.content_type = 'application/json' resp.body = json.dumps({
resp.status = falcon.HTTP_200 'message': msg,
})
resp.content_type = 'application/json'
resp.status = falcon.HTTP_200
except exceptions.ManifestException as e: except exceptions.ManifestException as e:
self.return_error(resp, falcon.HTTP_400, message=str(e)) self.return_error(resp, falcon.HTTP_400, message=str(e))
except Exception as e: except Exception as e:

View File

@ -19,7 +19,6 @@ from oslo_config import cfg
from armada import api from armada import api
from armada.common import policy from armada.common import policy
from armada.handlers.tiller import Tiller
CONF = cfg.CONF CONF = cfg.CONF
@ -33,26 +32,20 @@ class Rollback(api.BaseResource):
try: try:
dry_run = req.get_param_as_bool('dry_run') dry_run = req.get_param_as_bool('dry_run')
tiller = Tiller( with self.get_tiller(req, resp) as tiller:
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace),
dry_run=dry_run)
tiller.rollback_release( tiller.rollback_release(
release, release,
req.get_param_as_int('version') or 0, req.get_param_as_int('version') or 0,
wait=req.get_param_as_bool('wait'), wait=req.get_param_as_bool('wait'),
timeout=req.get_param_as_int('timeout') or 0, timeout=req.get_param_as_int('timeout') or 0,
force=req.get_param_as_bool('force'), force=req.get_param_as_bool('force'),
recreate_pods=req.get_param_as_bool('recreate_pods')) recreate_pods=req.get_param_as_bool('recreate_pods'))
resp.body = json.dumps({ resp.body = json.dumps({
'message': ('(dry run) ' if dry_run else '') + 'message': ('(dry run) ' if dry_run else '') +
'Rollback of {} complete.'.format(release), 'Rollback of {} complete.'.format(release),
}) })
resp.content_type = 'application/json' resp.content_type = 'application/json'
resp.status = falcon.HTTP_200 resp.status = falcon.HTTP_200

View File

@ -22,7 +22,6 @@ from armada import api
from armada.common import policy from armada.common import policy
from armada import const from armada import const
from armada.handlers.test import test_release_for_success from armada.handlers.test import test_release_for_success
from armada.handlers.tiller import Tiller
from armada.handlers.manifest import Manifest from armada.handlers.manifest import Manifest
from armada.utils.release import release_prefixer from armada.utils.release import release_prefixer
from armada.utils import validate from armada.utils import validate
@ -38,24 +37,13 @@ class TestReleasesReleaseNameController(api.BaseResource):
@policy.enforce('armada:test_release') @policy.enforce('armada:test_release')
def on_get(self, req, resp, release): def on_get(self, req, resp, release):
self.logger.info('RUNNING: %s', release) self.logger.info('RUNNING: %s', release)
try: with self.get_tiller(req, resp) as tiller:
tiller = Tiller(
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace))
cleanup = req.get_param_as_bool('cleanup') cleanup = req.get_param_as_bool('cleanup')
if cleanup is None: if cleanup is None:
cleanup = False cleanup = False
success = test_release_for_success( success = test_release_for_success(
tiller, release, cleanup=cleanup) tiller, release, cleanup=cleanup)
# TODO(fmontei): Provide more sensible exception(s) here.
except Exception as e:
err_message = 'Failed to test {}: {}'.format(release, e)
self.error(req.context, err_message)
return self.return_error(
resp, falcon.HTTP_500, message=err_message)
if success: if success:
msg = { msg = {
@ -119,23 +107,10 @@ class TestReleasesManifestController(api.BaseResource):
@policy.enforce('armada:test_manifest') @policy.enforce('armada:test_manifest')
def on_post(self, req, resp): def on_post(self, req, resp):
# TODO(fmontei): Validation Content-Type is application/x-yaml. # TODO(fmontei): Validation Content-Type is application/x-yaml.
with self.get_tiller(req, resp) as tiller:
return self.handle(req, resp, tiller)
target_manifest = req.get_param('target_manifest', None) def handle(self, req, resp, tiller):
try:
tiller = Tiller(
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace))
# TODO(fmontei): Provide more sensible exception(s) here.
except Exception:
err_message = 'Failed to initialize Tiller handler.'
self.error(req.context, err_message)
return self.return_error(
resp, falcon.HTTP_500, message=err_message)
try: try:
documents = self.req_yaml(req, default=[]) documents = self.req_yaml(req, default=[])
except yaml.YAMLError: except yaml.YAMLError:
@ -143,9 +118,10 @@ class TestReleasesManifestController(api.BaseResource):
return self.return_error( return self.return_error(
resp, falcon.HTTP_400, message=err_message) resp, falcon.HTTP_400, message=err_message)
target_manifest = req.get_param('target_manifest', None)
is_valid = self._validate_documents(req, resp, documents) is_valid = self._validate_documents(req, resp, documents)
if not is_valid: if not is_valid:
return resp return
armada_obj = Manifest( armada_obj = Manifest(
documents, target_manifest=target_manifest).get_manifest() documents, target_manifest=target_manifest).get_manifest()

View File

@ -20,7 +20,6 @@ from oslo_log import log as logging
from armada import api from armada import api
from armada.common import policy from armada.common import policy
from armada.handlers.tiller import Tiller
CONF = cfg.CONF CONF = cfg.CONF
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -34,27 +33,23 @@ class Status(api.BaseResource):
get tiller status get tiller status
''' '''
try: try:
tiller = Tiller( with self.get_tiller(req, resp) as tiller:
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace))
LOG.debug('Tiller (Status) at: %s:%s, namespace=%s, ' LOG.debug(
'timeout=%s', tiller.tiller_host, tiller.tiller_port, 'Tiller (Status) at: %s:%s, namespace=%s, '
tiller.tiller_namespace, tiller.timeout) 'timeout=%s', tiller.tiller_host, tiller.tiller_port,
tiller.tiller_namespace, tiller.timeout)
message = { message = {
'tiller': { 'tiller': {
'state': tiller.tiller_status(), 'state': tiller.tiller_status(),
'version': tiller.tiller_version() 'version': tiller.tiller_version()
}
} }
}
resp.status = falcon.HTTP_200 resp.status = falcon.HTTP_200
resp.body = json.dumps(message) resp.body = json.dumps(message)
resp.content_type = 'application/json' resp.content_type = 'application/json'
except Exception as e: except Exception as e:
err_message = 'Failed to get Tiller Status: {}'.format(e) err_message = 'Failed to get Tiller Status: {}'.format(e)
@ -69,26 +64,21 @@ class Release(api.BaseResource):
'''Controller for listing Tiller releases. '''Controller for listing Tiller releases.
''' '''
try: try:
tiller = Tiller( with self.get_tiller(req, resp) as tiller:
tiller_host=req.get_param('tiller_host'),
tiller_port=req.get_param_as_int('tiller_port') or
CONF.tiller_port,
tiller_namespace=req.get_param(
'tiller_namespace', default=CONF.tiller_namespace))
LOG.debug( LOG.debug(
'Tiller (Release) at: %s:%s, namespace=%s, ' 'Tiller (Release) at: %s:%s, namespace=%s, '
'timeout=%s', tiller.tiller_host, tiller.tiller_port, 'timeout=%s', tiller.tiller_host, tiller.tiller_port,
tiller.tiller_namespace, tiller.timeout) tiller.tiller_namespace, tiller.timeout)
releases = {} releases = {}
for release in tiller.list_releases(): for release in tiller.list_releases():
releases.setdefault(release.namespace, []) releases.setdefault(release.namespace, [])
releases[release.namespace].append(release.name) releases[release.namespace].append(release.name)
resp.body = json.dumps({'releases': releases}) resp.body = json.dumps({'releases': releases})
resp.content_type = 'application/json' resp.content_type = 'application/json'
resp.status = falcon.HTTP_200 resp.status = falcon.HTTP_200
except Exception as e: except Exception as e:
err_message = 'Unable to find Tiller Releases: {}'.format(e) err_message = 'Unable to find Tiller Releases: {}'.format(e)

View File

@ -78,8 +78,7 @@ def create(enable_middleware=CONF.middleware):
policy.Enforcer(CONF) policy.Enforcer(CONF)
# Error handlers (FILO handling) # Error handlers (FILO handling)
api.add_error_handler(exceptions.ArmadaBaseException, api.add_error_handler(Exception, exceptions.default_exception_handler)
exceptions.default_exception_handler)
api.add_error_handler(exceptions.ArmadaAPIException, api.add_error_handler(exceptions.ArmadaAPIException,
exceptions.ArmadaAPIException.handle) exceptions.ArmadaAPIException.handle)

View File

@ -21,6 +21,7 @@ from armada.cli import CliAction
from armada.exceptions.source_exceptions import InvalidPathException from armada.exceptions.source_exceptions import InvalidPathException
from armada.handlers.armada import Armada from armada.handlers.armada import Armada
from armada.handlers.document import ReferenceResolver from armada.handlers.document import ReferenceResolver
from armada.handlers.tiller import Tiller
CONF = cfg.CONF CONF = cfg.CONF
@ -198,23 +199,26 @@ class ApplyManifest(CliAction):
return return
if not self.ctx.obj.get('api', False): if not self.ctx.obj.get('api', False):
armada = Armada( with Tiller(
documents, tiller_host=self.tiller_host,
disable_update_pre=self.disable_update_pre, tiller_port=self.tiller_port,
disable_update_post=self.disable_update_post, tiller_namespace=self.tiller_namespace,
enable_chart_cleanup=self.enable_chart_cleanup, dry_run=self.dry_run) as tiller:
dry_run=self.dry_run, armada = Armada(
set_ovr=self.set, documents,
force_wait=self.wait, disable_update_pre=self.disable_update_pre,
timeout=self.timeout, disable_update_post=self.disable_update_post,
tiller_host=self.tiller_host, enable_chart_cleanup=self.enable_chart_cleanup,
tiller_port=self.tiller_port, dry_run=self.dry_run,
tiller_namespace=self.tiller_namespace, set_ovr=self.set,
values=self.values, force_wait=self.wait,
target_manifest=self.target_manifest) timeout=self.timeout,
tiller=tiller,
values=self.values,
target_manifest=self.target_manifest)
resp = armada.sync() resp = armada.sync()
self.output(resp) self.output(resp)
else: else:
if len(self.values) > 0: if len(self.values) > 0:
self.logger.error( self.logger.error(

View File

@ -88,8 +88,12 @@ class DeleteChartManifest(CliAction):
self.tiller_port = tiller_port self.tiller_port = tiller_port
def invoke(self): def invoke(self):
tiller = Tiller( with Tiller(
tiller_host=self.tiller_host, tiller_port=self.tiller_port) tiller_host=self.tiller_host,
tiller_port=self.tiller_port) as tiller:
self.handle(tiller)
def handle(self, tiller):
known_release_names = [release[0] for release in tiller.list_charts()] known_release_names = [release[0] for release in tiller.list_charts()]
if self.releases: if self.releases:

View File

@ -110,21 +110,21 @@ class Rollback(CliAction):
self.recreate_pods = recreate_pods self.recreate_pods = recreate_pods
def invoke(self): def invoke(self):
tiller = Tiller( with Tiller(
tiller_host=self.tiller_host, tiller_host=self.tiller_host,
tiller_port=self.tiller_port, tiller_port=self.tiller_port,
tiller_namespace=self.tiller_namespace, tiller_namespace=self.tiller_namespace,
dry_run=self.dry_run) dry_run=self.dry_run) as tiller:
response = tiller.rollback_release( response = tiller.rollback_release(
self.release, self.release,
self.version, self.version,
wait=self.wait, wait=self.wait,
timeout=self.timeout, timeout=self.timeout,
force=self.force, force=self.force,
recreate_pods=self.recreate_pods) recreate_pods=self.recreate_pods)
self.output(response) self.output(response)
def output(self, response): def output(self, response):
self.logger.info(('(dry run) ' if self.dry_run else '') + self.logger.info(('(dry run) ' if self.dry_run else '') +

View File

@ -105,10 +105,14 @@ class TestChartManifest(CliAction):
self.cleanup = cleanup self.cleanup = cleanup
def invoke(self): def invoke(self):
tiller = Tiller( with Tiller(
tiller_host=self.tiller_host, tiller_host=self.tiller_host,
tiller_port=self.tiller_port, tiller_port=self.tiller_port,
tiller_namespace=self.tiller_namespace) tiller_namespace=self.tiller_namespace) as tiller:
self.handle(tiller)
def handle(self, tiller):
known_release_names = [release[0] for release in tiller.list_charts()] known_release_names = [release[0] for release in tiller.list_charts()]
if self.release: if self.release:

View File

@ -84,11 +84,14 @@ class TillerServices(CliAction):
def invoke(self): def invoke(self):
tiller = Tiller( with Tiller(
tiller_host=self.tiller_host, tiller_host=self.tiller_host,
tiller_port=self.tiller_port, tiller_port=self.tiller_port,
tiller_namespace=self.tiller_namespace) tiller_namespace=self.tiller_namespace) as tiller:
self.handle(tiller)
def handle(self, tiller):
if self.status: if self.status:
if not self.ctx.obj.get('api', False): if not self.ctx.obj.get('api', False):
self.logger.info('Tiller Service: %s', tiller.tiller_status()) self.logger.info('Tiller Service: %s', tiller.tiller_status())

View File

@ -165,7 +165,7 @@ def default_exception_handler(ex, req, resp, params):
else: else:
# take care of the uncaught stuff # take care of the uncaught stuff
exc_string = traceback.format_exc() exc_string = traceback.format_exc()
logging.error('Unhanded Exception being handled: \n%s', exc_string) LOG.error('Unhanded Exception being handled: \n%s', exc_string)
format_error_resp( format_error_resp(
req, req,
resp, resp,

View File

@ -26,7 +26,6 @@ from armada.exceptions import validate_exceptions
from armada.handlers.chart_deploy import ChartDeploy from armada.handlers.chart_deploy import ChartDeploy
from armada.handlers.manifest import Manifest from armada.handlers.manifest import Manifest
from armada.handlers.override import Override from armada.handlers.override import Override
from armada.handlers.tiller import Tiller
from armada.utils.release import release_prefixer from armada.utils.release import release_prefixer
from armada.utils import source from armada.utils import source
@ -42,6 +41,7 @@ class Armada(object):
def __init__(self, def __init__(self,
documents, documents,
tiller,
disable_update_pre=False, disable_update_pre=False,
disable_update_post=False, disable_update_post=False,
enable_chart_cleanup=False, enable_chart_cleanup=False,
@ -49,9 +49,6 @@ class Armada(object):
set_ovr=None, set_ovr=None,
force_wait=False, force_wait=False,
timeout=None, timeout=None,
tiller_host=None,
tiller_port=None,
tiller_namespace=None,
values=None, values=None,
target_manifest=None, target_manifest=None,
k8s_wait_attempts=1, k8s_wait_attempts=1,
@ -60,6 +57,7 @@ class Armada(object):
Initialize the Armada engine and establish a connection to Tiller. Initialize the Armada engine and establish a connection to Tiller.
:param List[dict] documents: Armada documents. :param List[dict] documents: Armada documents.
:param tiller: Tiller instance to use.
:param bool disable_update_pre: Disable pre-update Tiller operations. :param bool disable_update_pre: Disable pre-update Tiller operations.
:param bool disable_update_post: Disable post-update Tiller :param bool disable_update_post: Disable post-update Tiller
operations. operations.
@ -69,11 +67,6 @@ class Armada(object):
deployed, rather than using each chart's specified wait policy. deployed, rather than using each chart's specified wait policy.
:param int timeout: Specifies overall time in seconds that Tiller :param int timeout: Specifies overall time in seconds that Tiller
should wait for charts until timing out. should wait for charts until timing out.
:param str tiller_host: Tiller host IP. Default is None.
:param int tiller_port: Tiller host port. Default is
``CONF.tiller_port``.
:param str tiller_namespace: Tiller host namespace. Default is
``CONF.tiller_namespace``.
:param str target_manifest: The target manifest to run. Useful for :param str target_manifest: The target manifest to run. Useful for
specifying which manifest to run when multiple are available. specifying which manifest to run when multiple are available.
:param int k8s_wait_attempts: The number of times to attempt waiting :param int k8s_wait_attempts: The number of times to attempt waiting
@ -81,19 +74,11 @@ class Armada(object):
:param int k8s_wait_attempt_sleep: The time in seconds to sleep :param int k8s_wait_attempt_sleep: The time in seconds to sleep
between attempts. between attempts.
''' '''
tiller_port = tiller_port or CONF.tiller_port
tiller_namespace = tiller_namespace or CONF.tiller_namespace
self.enable_chart_cleanup = enable_chart_cleanup self.enable_chart_cleanup = enable_chart_cleanup
self.dry_run = dry_run self.dry_run = dry_run
self.force_wait = force_wait self.force_wait = force_wait
# TODO: Use dependency injection i.e. pass in a Tiller instead of self.tiller = tiller
# creating it here.
self.tiller = Tiller(
tiller_host=tiller_host,
tiller_port=tiller_port,
tiller_namespace=tiller_namespace,
dry_run=dry_run)
try: try:
self.documents = Override( self.documents = Override(
documents, overrides=set_ovr, documents, overrides=set_ovr,

View File

@ -80,12 +80,11 @@ class Tiller(object):
tiller_host=None, tiller_host=None,
tiller_port=None, tiller_port=None,
tiller_namespace=None, tiller_namespace=None,
dry_run=False): dry_run=None):
self.tiller_host = tiller_host self.tiller_host = tiller_host
self.tiller_port = tiller_port or CONF.tiller_port self.tiller_port = tiller_port or CONF.tiller_port
self.tiller_namespace = tiller_namespace or CONF.tiller_namespace self.tiller_namespace = tiller_namespace or CONF.tiller_namespace
self.dry_run = dry_run or False
self.dry_run = dry_run
# init k8s connectivity # init k8s connectivity
self.k8s = K8s() self.k8s = K8s()
@ -818,3 +817,14 @@ class Tiller(object):
'using default %ss.', self.timeout) 'using default %ss.', self.timeout)
timeout = self.timeout timeout = self.timeout
return timeout return timeout
def close(self):
# Ensure channel was actually initialized before closing
if getattr(self, 'channel', None):
self.channel.close()
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.close()

View File

@ -17,6 +17,7 @@ import mock
from oslo_config import cfg from oslo_config import cfg
from armada import api
from armada.api.controller import armada as armada_api from armada.api.controller import armada as armada_api
from armada.common.policies import base as policy_base from armada.common.policies import base as policy_base
from armada.tests import test_utils from armada.tests import test_utils
@ -27,9 +28,11 @@ CONF = cfg.CONF
class ArmadaControllerTest(base.BaseControllerTest): class ArmadaControllerTest(base.BaseControllerTest):
@mock.patch.object(api, 'Tiller')
@mock.patch.object(armada_api, 'Armada') @mock.patch.object(armada_api, 'Armada')
@mock.patch.object(armada_api, 'ReferenceResolver') @mock.patch.object(armada_api, 'ReferenceResolver')
def test_armada_apply_resource(self, mock_resolver, mock_armada): def test_armada_apply_resource(self, mock_resolver, mock_armada,
mock_tiller):
"""Tests the POST /api/v1.0/apply endpoint.""" """Tests the POST /api/v1.0/apply endpoint."""
rules = {'armada:create_endpoints': '@'} rules = {'armada:create_endpoints': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
@ -45,6 +48,9 @@ class ArmadaControllerTest(base.BaseControllerTest):
'timeout': '100' 'timeout': '100'
} }
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
expected_armada_options = { expected_armada_options = {
'disable_update_pre': False, 'disable_update_pre': False,
'disable_update_post': False, 'disable_update_post': False,
@ -52,9 +58,7 @@ class ArmadaControllerTest(base.BaseControllerTest):
'dry_run': False, 'dry_run': False,
'force_wait': False, 'force_wait': False,
'timeout': 100, 'timeout': 100,
'tiller_host': None, 'tiller': m_tiller,
'tiller_port': 44134,
'tiller_namespace': 'kube-system',
'target_manifest': None 'target_manifest': None
} }
@ -83,6 +87,13 @@ class ArmadaControllerTest(base.BaseControllerTest):
}], **expected_armada_options) }], **expected_armada_options)
mock_armada.return_value.sync.assert_called() mock_armada.return_value.sync.assert_called()
mock_tiller.assert_called_with(
tiller_host=None,
tiller_port=44134,
tiller_namespace='kube-system',
dry_run=False)
m_tiller.__exit__.assert_called()
def test_armada_apply_no_href(self): def test_armada_apply_no_href(self):
"""Tests /api/v1.0/apply returns 400 when hrefs list is empty.""" """Tests /api/v1.0/apply returns 400 when hrefs list is empty."""
rules = {'armada:create_endpoints': '@'} rules = {'armada:create_endpoints': '@'}

View File

@ -16,7 +16,7 @@ import json
import mock import mock
from armada.api.controller import rollback from armada import api
from armada.common.policies import base as policy_base from armada.common.policies import base as policy_base
from armada.tests import test_utils from armada.tests import test_utils
from armada.tests.unit.api import base from armada.tests.unit.api import base
@ -24,12 +24,14 @@ from armada.tests.unit.api import base
class RollbackReleaseControllerTest(base.BaseControllerTest): class RollbackReleaseControllerTest(base.BaseControllerTest):
@mock.patch.object(rollback, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_rollback_controller_pass(self, mock_tiller): def test_rollback_controller_pass(self, mock_tiller):
rules = {'armada:rollback_release': '@'} rules = {'armada:rollback_release': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
rollback_release = mock_tiller.return_value.rollback_release m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
rollback_release = m_tiller.rollback_release
rollback_release.return_value = None rollback_release.return_value = None
tiller_host = 'host' tiller_host = 'host'
@ -69,12 +71,13 @@ class RollbackReleaseControllerTest(base.BaseControllerTest):
self.assertEqual(200, resp.status_code) self.assertEqual(200, resp.status_code)
self.assertEqual('Rollback of test-release complete.', self.assertEqual('Rollback of test-release complete.',
json.loads(resp.text)['message']) json.loads(resp.text)['message'])
m_tiller.__exit__.assert_called()
@test_utils.attr(type=['negative']) @test_utils.attr(type=['negative'])
class RollbackReleaseControllerNegativeTest(base.BaseControllerTest): class RollbackReleaseControllerNegativeTest(base.BaseControllerTest):
@mock.patch.object(rollback, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_rollback_controller_tiller_exc_return_500(self, mock_tiller): def test_rollback_controller_tiller_exc_return_500(self, mock_tiller):
rules = {'armada:rollback_release': '@'} rules = {'armada:rollback_release': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)

View File

@ -18,6 +18,7 @@ import yaml
import mock import mock
from armada import api
from armada.api.controller import test from armada.api.controller import test
from armada.common.policies import base as policy_base from armada.common.policies import base as policy_base
from armada.exceptions import manifest_exceptions from armada.exceptions import manifest_exceptions
@ -28,7 +29,7 @@ from armada.tests.unit.api import base
class TestReleasesManifestControllerTest(base.BaseControllerTest): class TestReleasesManifestControllerTest(base.BaseControllerTest):
@mock.patch.object(test, 'Manifest') @mock.patch.object(test, 'Manifest')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_with_manifest(self, mock_tiller, mock_manifest): def test_test_controller_with_manifest(self, mock_tiller, mock_manifest):
rules = {'armada:test_manifest': '@'} rules = {'armada:test_manifest': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
@ -41,6 +42,9 @@ class TestReleasesManifestControllerTest(base.BaseControllerTest):
payload = f.read() payload = f.read()
documents = list(yaml.safe_load_all(payload)) documents = list(yaml.safe_load_all(payload))
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
resp = self.app.simulate_post('/api/v1.0/tests', body=payload) resp = self.app.simulate_post('/api/v1.0/tests', body=payload)
self.assertEqual(200, resp.status_code) self.assertEqual(200, resp.status_code)
@ -49,13 +53,14 @@ class TestReleasesManifestControllerTest(base.BaseControllerTest):
self.assertEqual(expected, result) self.assertEqual(expected, result)
mock_manifest.assert_called_once_with(documents, target_manifest=None) mock_manifest.assert_called_once_with(documents, target_manifest=None)
self.assertTrue(mock_tiller.called) mock_tiller.assert_called()
m_tiller.__exit__.assert_called()
class TestReleasesReleaseNameControllerTest(base.BaseControllerTest): class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
@mock.patch.object(test, 'test_release_for_success') @mock.patch.object(test, 'test_release_for_success')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_test_pass(self, mock_tiller, def test_test_controller_test_pass(self, mock_tiller,
mock_test_release_for_success): mock_test_release_for_success):
rules = {'armada:test_release': '@'} rules = {'armada:test_release': '@'}
@ -63,6 +68,9 @@ class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
mock_test_release_for_success.return_value = True mock_test_release_for_success.return_value = True
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
release = 'fake-release' release = 'fake-release'
resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release)) resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release))
mock_test_release_for_success.assert_has_calls( mock_test_release_for_success.assert_has_calls(
@ -70,44 +78,53 @@ class TestReleasesReleaseNameControllerTest(base.BaseControllerTest):
self.assertEqual(200, resp.status_code) self.assertEqual(200, resp.status_code)
self.assertEqual('MESSAGE: Test Pass', self.assertEqual('MESSAGE: Test Pass',
json.loads(resp.text)['message']) json.loads(resp.text)['message'])
m_tiller.__exit__.assert_called()
@mock.patch.object(test, 'test_release_for_success') @mock.patch.object(test, 'test_release_for_success')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_test_fail(self, mock_tiller, def test_test_controller_test_fail(self, mock_tiller,
mock_test_release_for_success): mock_test_release_for_success):
rules = {'armada:test_release': '@'} rules = {'armada:test_release': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
mock_test_release_for_success.return_value = False mock_test_release_for_success.return_value = False
release = 'fake-release' release = 'fake-release'
resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release)) resp = self.app.simulate_get('/api/v1.0/test/{}'.format(release))
self.assertEqual(200, resp.status_code) self.assertEqual(200, resp.status_code)
self.assertEqual('MESSAGE: Test Fail', self.assertEqual('MESSAGE: Test Fail',
json.loads(resp.text)['message']) json.loads(resp.text)['message'])
m_tiller.__exit__.assert_called()
@mock.patch.object(test, 'test_release_for_success') @mock.patch.object(test, 'test_release_for_success')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_cleanup(self, mock_tiller, def test_test_controller_cleanup(self, mock_tiller,
mock_test_release_for_success): mock_test_release_for_success):
rules = {'armada:test_release': '@'} rules = {'armada:test_release': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
mock_test_release_for_success.return_value = True mock_test_release_for_success.return_value = True
release = 'fake-release' release = 'fake-release'
resp = self.app.simulate_get( resp = self.app.simulate_get(
'/api/v1.0/test/{}'.format(release), query_string='cleanup=true') '/api/v1.0/test/{}'.format(release), query_string='cleanup=true')
mock_test_release_for_success.assert_has_calls( mock_test_release_for_success.assert_has_calls(
[mock.call(mock_tiller.return_value, release, cleanup=True)]) [mock.call(m_tiller, release, cleanup=True)])
self.assertEqual(200, resp.status_code) self.assertEqual(200, resp.status_code)
self.assertEqual('MESSAGE: Test Pass', self.assertEqual('MESSAGE: Test Pass',
json.loads(resp.text)['message']) json.loads(resp.text)['message'])
m_tiller.__exit__.assert_called()
@test_utils.attr(type=['negative']) @test_utils.attr(type=['negative'])
class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest): class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
@mock.patch.object(test, 'Manifest') @mock.patch.object(test, 'Manifest')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
@mock.patch.object(test, 'test_release_for_success') @mock.patch.object(test, 'test_release_for_success')
def test_test_controller_tiller_exc_returns_500( def test_test_controller_tiller_exc_returns_500(
self, mock_test_release_for_success, mock_tiller, _): self, mock_test_release_for_success, mock_tiller, _):
@ -121,8 +138,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
self.assertEqual(500, resp.status_code) self.assertEqual(500, resp.status_code)
@mock.patch.object(test, 'Manifest') @mock.patch.object(test, 'Manifest')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_validation_failure_returns_400(self, *_): def test_test_controller_validation_failure_returns_400(
self, mock_tiller, mock_manifest):
rules = {'armada:test_manifest': '@'} rules = {'armada:test_manifest': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
@ -138,6 +156,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
resp = self.app.simulate_post('/api/v1.0/tests', body=invalid_payload) resp = self.app.simulate_post('/api/v1.0/tests', body=invalid_payload)
self.assertEqual(400, resp.status_code) self.assertEqual(400, resp.status_code)
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
resp_body = json.loads(resp.text) resp_body = json.loads(resp.text)
self.assertEqual(400, resp_body['code']) self.assertEqual(400, resp_body['code'])
self.assertEqual(1, resp_body['details']['errorCount']) self.assertEqual(1, resp_body['details']['errorCount'])
@ -158,11 +179,12 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
}, resp_body['details']['messageList']) }, resp_body['details']['messageList'])
self.assertEqual(('Failed to validate documents or generate Armada ' self.assertEqual(('Failed to validate documents or generate Armada '
'Manifest from documents.'), resp_body['message']) 'Manifest from documents.'), resp_body['message'])
m_tiller.__exit__.assert_called()
@mock.patch('armada.utils.validate.Manifest') @mock.patch('armada.utils.validate.Manifest')
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_test_controller_manifest_failure_returns_400( def test_test_controller_manifest_failure_returns_400(
self, _, mock_manifest): self, mock_tiller, mock_manifest):
rules = {'armada:test_manifest': '@'} rules = {'armada:test_manifest': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
@ -177,6 +199,9 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
resp = self.app.simulate_post('/api/v1.0/tests', body=payload) resp = self.app.simulate_post('/api/v1.0/tests', body=payload)
self.assertEqual(400, resp.status_code) self.assertEqual(400, resp.status_code)
m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
resp_body = json.loads(resp.text) resp_body = json.loads(resp.text)
self.assertEqual(400, resp_body['code']) self.assertEqual(400, resp_body['code'])
self.assertEqual(1, resp_body['details']['errorCount']) self.assertEqual(1, resp_body['details']['errorCount'])
@ -195,12 +220,13 @@ class TestReleasesManifestControllerNegativeTest(base.BaseControllerTest):
}], resp_body['details']['messageList']) }], resp_body['details']['messageList'])
self.assertEqual(('Failed to validate documents or generate Armada ' self.assertEqual(('Failed to validate documents or generate Armada '
'Manifest from documents.'), resp_body['message']) 'Manifest from documents.'), resp_body['message'])
m_tiller.__exit__.assert_called()
@test_utils.attr(type=['negative']) @test_utils.attr(type=['negative'])
class TestReleasesReleaseNameControllerNegativeTest(base.BaseControllerTest): class TestReleasesReleaseNameControllerNegativeTest(base.BaseControllerTest):
@mock.patch.object(test, 'Tiller') @mock.patch.object(api, 'Tiller')
@mock.patch.object(test, 'test_release_for_success') @mock.patch.object(test, 'test_release_for_success')
def test_test_controller_tiller_exc_returns_500( def test_test_controller_tiller_exc_returns_500(
self, mock_test_release_for_success, mock_tiller): self, mock_test_release_for_success, mock_tiller):

View File

@ -16,7 +16,7 @@ import mock
from oslo_config import cfg from oslo_config import cfg
from armada.api.controller import tiller as tiller_controller from armada import api
from armada.common.policies import base as policy_base from armada.common.policies import base as policy_base
from armada.tests import test_utils from armada.tests import test_utils
from armada.tests.unit.api import base from armada.tests.unit.api import base
@ -26,14 +26,16 @@ CONF = cfg.CONF
class TillerControllerTest(base.BaseControllerTest): class TillerControllerTest(base.BaseControllerTest):
@mock.patch.object(tiller_controller, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_get_tiller_status(self, mock_tiller): def test_get_tiller_status(self, mock_tiller):
"""Tests GET /api/v1.0/status endpoint.""" """Tests GET /api/v1.0/status endpoint."""
rules = {'tiller:get_status': '@'} rules = {'tiller:get_status': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
mock_tiller.return_value.tiller_status.return_value = 'fake_status' m_tiller = mock_tiller.return_value
mock_tiller.return_value.tiller_version.return_value = 'fake_version' m_tiller.__enter__.return_value = m_tiller
m_tiller.tiller_status.return_value = 'fake_status'
m_tiller.tiller_version.return_value = 'fake_version'
result = self.app.simulate_get('/api/v1.0/status') result = self.app.simulate_get('/api/v1.0/status')
expected = { expected = {
@ -48,16 +50,20 @@ class TillerControllerTest(base.BaseControllerTest):
mock_tiller.assert_called_once_with( mock_tiller.assert_called_once_with(
tiller_host=None, tiller_host=None,
tiller_port=44134, tiller_port=44134,
tiller_namespace='kube-system') tiller_namespace='kube-system',
dry_run=None)
m_tiller.__exit__.assert_called()
@mock.patch.object(tiller_controller, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_get_tiller_status_with_params(self, mock_tiller): def test_get_tiller_status_with_params(self, mock_tiller):
"""Tests GET /api/v1.0/status endpoint with query parameters.""" """Tests GET /api/v1.0/status endpoint with query parameters."""
rules = {'tiller:get_status': '@'} rules = {'tiller:get_status': '@'}
self.policy.set_rules(rules) self.policy.set_rules(rules)
mock_tiller.return_value.tiller_status.return_value = 'fake_status' m_tiller = mock_tiller.return_value
mock_tiller.return_value.tiller_version.return_value = 'fake_version' m_tiller.__enter__.return_value = m_tiller
m_tiller.tiller_status.return_value = 'fake_status'
m_tiller.tiller_version.return_value = 'fake_version'
result = self.app.simulate_get( result = self.app.simulate_get(
'/api/v1.0/status', '/api/v1.0/status',
@ -79,9 +85,11 @@ class TillerControllerTest(base.BaseControllerTest):
mock_tiller.assert_called_once_with( mock_tiller.assert_called_once_with(
tiller_host='fake_host', tiller_host='fake_host',
tiller_port=98765, tiller_port=98765,
tiller_namespace='fake_ns') tiller_namespace='fake_ns',
dry_run=None)
m_tiller.__exit__.assert_called()
@mock.patch.object(tiller_controller, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_tiller_releases(self, mock_tiller): def test_tiller_releases(self, mock_tiller):
"""Tests GET /api/v1.0/releases endpoint.""" """Tests GET /api/v1.0/releases endpoint."""
rules = {'tiller:get_release': '@'} rules = {'tiller:get_release': '@'}
@ -92,7 +100,9 @@ class TillerControllerTest(base.BaseControllerTest):
fake_release.configure_mock(name=name) fake_release.configure_mock(name=name)
return fake_release return fake_release
mock_tiller.return_value.list_releases.return_value = [ m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
m_tiller.list_releases.return_value = [
_get_fake_release('foo', 'bar'), _get_fake_release('foo', 'bar'),
_get_fake_release('baz', 'qux') _get_fake_release('baz', 'qux')
] ]
@ -109,10 +119,12 @@ class TillerControllerTest(base.BaseControllerTest):
mock_tiller.assert_called_once_with( mock_tiller.assert_called_once_with(
tiller_host=None, tiller_host=None,
tiller_port=44134, tiller_port=44134,
tiller_namespace='kube-system') tiller_namespace='kube-system',
mock_tiller.return_value.list_releases.assert_called_once_with() dry_run=None)
m_tiller.list_releases.assert_called_once_with()
m_tiller.__exit__.assert_called()
@mock.patch.object(tiller_controller, 'Tiller') @mock.patch.object(api, 'Tiller')
def test_tiller_releases_with_params(self, mock_tiller): def test_tiller_releases_with_params(self, mock_tiller):
"""Tests GET /api/v1.0/releases endpoint with query parameters.""" """Tests GET /api/v1.0/releases endpoint with query parameters."""
rules = {'tiller:get_release': '@'} rules = {'tiller:get_release': '@'}
@ -123,7 +135,9 @@ class TillerControllerTest(base.BaseControllerTest):
fake_release.configure_mock(name=name) fake_release.configure_mock(name=name)
return fake_release return fake_release
mock_tiller.return_value.list_releases.return_value = [ m_tiller = mock_tiller.return_value
m_tiller.__enter__.return_value = m_tiller
m_tiller.list_releases.return_value = [
_get_fake_release('foo', 'bar'), _get_fake_release('foo', 'bar'),
_get_fake_release('baz', 'qux') _get_fake_release('baz', 'qux')
] ]
@ -147,8 +161,10 @@ class TillerControllerTest(base.BaseControllerTest):
mock_tiller.assert_called_once_with( mock_tiller.assert_called_once_with(
tiller_host='fake_host', tiller_host='fake_host',
tiller_port=98765, tiller_port=98765,
tiller_namespace='fake_ns') tiller_namespace='fake_ns',
mock_tiller.return_value.list_releases.assert_called_once_with() dry_run=None)
m_tiller.list_releases.assert_called_once_with()
m_tiller.__exit__.assert_called()
class TillerControllerNegativeRbacTest(base.BaseControllerTest): class TillerControllerNegativeRbacTest(base.BaseControllerTest):

View File

@ -281,24 +281,18 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
self.assertEqual(expected_config, armada_obj.manifest) self.assertEqual(expected_config, armada_obj.manifest)
@mock.patch.object(armada, 'source') @mock.patch.object(armada, 'source')
@mock.patch('armada.handlers.armada.Tiller') def test_pre_flight_ops(self, mock_source):
def test_pre_flight_ops(self, mock_tiller, mock_source):
"""Test pre-flight checks and operations.""" """Test pre-flight checks and operations."""
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
armada_obj = armada.Armada(yaml_documents) m_tiller = mock.Mock()
m_tiller.tiller_status.return_value = True
armada_obj = armada.Armada(yaml_documents, m_tiller)
# Mock methods called by `pre_flight_ops()`. # Mock methods called by `pre_flight_ops()`.
m_tiller = mock_tiller.return_value
m_tiller.tiller_status.return_value = True
mock_source.git_clone.return_value = CHART_SOURCES[0][0] mock_source.git_clone.return_value = CHART_SOURCES[0][0]
self._test_pre_flight_ops(armada_obj) self._test_pre_flight_ops(armada_obj)
mock_tiller.assert_called_once_with(
tiller_host=None,
tiller_namespace='kube-system',
tiller_port=44134,
dry_run=False)
mock_source.git_clone.assert_called_once_with( mock_source.git_clone.assert_called_once_with(
'git://github.com/dummy/armada', 'git://github.com/dummy/armada',
'master', 'master',
@ -306,17 +300,17 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
proxy_server=None) proxy_server=None)
@mock.patch.object(armada, 'source') @mock.patch.object(armada, 'source')
@mock.patch('armada.handlers.armada.Tiller') def test_post_flight_ops(self, mock_source):
def test_post_flight_ops(self, mock_tiller, mock_source):
"""Test post-flight operations.""" """Test post-flight operations."""
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
armada_obj = armada.Armada(yaml_documents)
# Mock methods called by `pre_flight_ops()`. # Mock methods called by `pre_flight_ops()`.
m_tiller = mock_tiller.return_value m_tiller = mock.Mock()
m_tiller.tiller_status.return_value = True m_tiller.tiller_status.return_value = True
mock_source.git_clone.return_value = CHART_SOURCES[0][0] mock_source.git_clone.return_value = CHART_SOURCES[0][0]
armada_obj = armada.Armada(yaml_documents, m_tiller)
self._test_pre_flight_ops(armada_obj) self._test_pre_flight_ops(armada_obj)
armada_obj.post_flight_ops() armada_obj.post_flight_ops()
@ -343,22 +337,22 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
@mock.patch.object(armada.Armada, 'post_flight_ops') @mock.patch.object(armada.Armada, 'post_flight_ops')
@mock.patch.object(armada.Armada, 'pre_flight_ops') @mock.patch.object(armada.Armada, 'pre_flight_ops')
@mock.patch('armada.handlers.chart_deploy.ChartBuilder') @mock.patch('armada.handlers.chart_deploy.ChartBuilder')
@mock.patch('armada.handlers.armada.Tiller')
@mock.patch.object(chart_deploy, 'test_release_for_success') @mock.patch.object(chart_deploy, 'test_release_for_success')
def _do_test(mock_test_release_for_success, mock_tiller, def _do_test(mock_test_release_for_success, mock_chartbuilder,
mock_chartbuilder, mock_pre_flight, mock_post_flight): mock_pre_flight, mock_post_flight):
# Instantiate Armada object. # Instantiate Armada object.
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
armada_obj = armada.Armada(yaml_documents)
m_tiller = mock.MagicMock()
m_tiller.list_releases.return_value = known_releases
armada_obj = armada.Armada(yaml_documents, m_tiller)
armada_obj.chart_deploy.get_diff = mock.Mock() armada_obj.chart_deploy.get_diff = mock.Mock()
chart_group = armada_obj.manifest['armada']['chart_groups'][0] chart_group = armada_obj.manifest['armada']['chart_groups'][0]
charts = chart_group['chart_group'] charts = chart_group['chart_group']
cg_test_all_charts = chart_group.get('test_charts', True) cg_test_all_charts = chart_group.get('test_charts', True)
m_tiller = mock_tiller.return_value
m_tiller.list_releases.return_value = known_releases
if test_failure_to_run: if test_failure_to_run:
def fail(tiller, release, timeout=None, cleanup=False): def fail(tiller, release, timeout=None, cleanup=False):
@ -663,30 +657,26 @@ class ArmadaHandlerTestCase(base.ArmadaTestCase):
class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase): class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase):
@mock.patch.object(armada, 'source') @mock.patch.object(armada, 'source')
@mock.patch('armada.handlers.armada.Tiller') def test_armada_get_manifest_exception(self, mock_source):
def test_armada_get_manifest_exception(self, mock_tiller, mock_source):
"""Test armada handling with invalid manifest.""" """Test armada handling with invalid manifest."""
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
error_re = ('Documents must be a list of documents with at least one ' error_re = ('Documents must be a list of documents with at least one '
'of each of the following schemas: .*') 'of each of the following schemas: .*')
self.assertRaisesRegexp(ManifestException, error_re, armada.Armada, self.assertRaisesRegexp(ManifestException, error_re, armada.Armada,
yaml_documents[:1]) yaml_documents[:1], mock.MagicMock())
@mock.patch.object(armada, 'source') @mock.patch.object(armada, 'source')
@mock.patch('armada.handlers.armada.Tiller') def test_armada_override_exception(self, mock_source):
def test_armada_override_exception(self, mock_tiller, mock_source):
"""Test Armada checks with invalid chart override.""" """Test Armada checks with invalid chart override."""
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
override = ('chart:example-chart-2:name=' 'overridden', ) override = ('chart:example-chart-2:name=' 'overridden', )
error_re = ('is not a valid override statement') error_re = ('is not a valid override statement')
with self.assertRaisesRegexp(InvalidOverrideValueException, error_re): with self.assertRaisesRegexp(InvalidOverrideValueException, error_re):
armada.Armada(yaml_documents, set_ovr=override) armada.Armada(yaml_documents, mock.MagicMock(), set_ovr=override)
@mock.patch.object(armada, 'source') @mock.patch.object(armada, 'source')
@mock.patch('armada.handlers.armada.Tiller') def test_armada_manifest_exception_override_none(self, mock_source):
def test_armada_manifest_exception_override_none(self, mock_tiller,
mock_source):
"""Test Armada checks with invalid manifest.""" """Test Armada checks with invalid manifest."""
yaml_documents = list(yaml.safe_load_all(TEST_YAML)) yaml_documents = list(yaml.safe_load_all(TEST_YAML))
example_document = [ example_document = [
@ -697,4 +687,4 @@ class ArmadaNegativeHandlerTestCase(base.ArmadaTestCase):
error_re = ('Invalid document .*') error_re = ('Invalid document .*')
with self.assertRaisesRegexp(InvalidManifestException, error_re): with self.assertRaisesRegexp(InvalidManifestException, error_re):
armada.Armada(yaml_documents, set_ovr=None) armada.Armada(yaml_documents, mock.MagicMock(), set_ovr=None)

View File

@ -33,7 +33,7 @@ class TillerTestCase(base.ArmadaTestCase):
def test_install_release(self, mock_stub, mock_install_request, def test_install_release(self, mock_stub, mock_install_request,
mock_config, mock_grpc, mock_k8s, mock_ip): mock_config, mock_grpc, mock_k8s, mock_ip):
# instantiate Tiller object # instantiate Tiller object
mock_grpc.insecure_channel.return_value = None mock_grpc.insecure_channel.return_value = mock.Mock()
mock_ip.return_value = '0.0.0.0' mock_ip.return_value = '0.0.0.0'
tiller_obj = tiller.Tiller() tiller_obj = tiller.Tiller()
assert tiller_obj._get_tiller_ip() == '0.0.0.0' assert tiller_obj._get_tiller_ip() == '0.0.0.0'
@ -74,12 +74,14 @@ class TillerTestCase(base.ArmadaTestCase):
mock_port.return_value = mock.sentinel.port mock_port.return_value = mock.sentinel.port
mock_ip.return_value = mock.sentinel.ip mock_ip.return_value = mock.sentinel.ip
mock_channel = mock.Mock()
# instantiate Tiller object # instantiate Tiller object
mock_grpc.insecure_channel.return_value = 'connected' mock_grpc.insecure_channel.return_value = mock_channel
tiller_obj = tiller.Tiller() tiller_obj = tiller.Tiller()
self.assertIsNotNone(tiller_obj.channel) self.assertIsNotNone(tiller_obj.channel)
self.assertEqual('connected', tiller_obj.channel) self.assertEqual(mock_channel, tiller_obj.channel)
mock_grpc.insecure_channel.assert_called_once_with( mock_grpc.insecure_channel.assert_called_once_with(
'%s:%s' % (str(mock.sentinel.ip), str(mock.sentinel.port)), '%s:%s' % (str(mock.sentinel.ip), str(mock.sentinel.port)),

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -23,6 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/chart/chart.proto', name='hapi/chart/chart.proto',
package='hapi.chart', package='hapi.chart',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\005chart'),
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') 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')
, ,
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,]) 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(
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='templates', full_name='hapi.chart.Chart.templates', index=1, name='templates', full_name='hapi.chart.Chart.templates', index=1,
number=2, type=11, cpp_type=10, label=3, number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='dependencies', full_name='hapi.chart.Chart.dependencies', index=2, name='dependencies', full_name='hapi.chart.Chart.dependencies', index=2,
number=3, type=11, cpp_type=10, label=3, number=3, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='values', full_name='hapi.chart.Chart.values', index=3, name='values', full_name='hapi.chart.Chart.values', index=3,
number=4, type=11, cpp_type=10, label=1, number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='files', full_name='hapi.chart.Chart.files', index=4, name='files', full_name='hapi.chart.Chart.files', index=4,
number=5, type=11, cpp_type=10, label=3, number=5, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -104,6 +104,5 @@ Chart = _reflection.GeneratedProtocolMessageType('Chart', (_message.Message,), d
_sym_db.RegisterMessage(Chart) _sym_db.RegisterMessage(Chart)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/chart/config.proto', name='hapi/chart/config.proto',
package='hapi.chart', package='hapi.chart',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\005chart'),
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') 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')
) )
@ -38,21 +38,21 @@ _CONFIG_VALUESENTRY = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='value', full_name='hapi.chart.Config.ValuesEntry.value', index=1, name='value', full_name='hapi.chart.Config.ValuesEntry.value', index=1,
number=2, type=11, cpp_type=10, label=1, number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), serialized_options=_b('8\001'),
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -75,21 +75,21 @@ _CONFIG = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='values', full_name='hapi.chart.Config.values', index=1, name='values', full_name='hapi.chart.Config.values', index=1,
number=2, type=11, cpp_type=10, label=3, number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[_CONFIG_VALUESENTRY, ], nested_types=[_CONFIG_VALUESENTRY, ],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -113,14 +113,14 @@ _VALUE = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -160,8 +160,6 @@ Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), d
_sym_db.RegisterMessage(Value) _sym_db.RegisterMessage(Value)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart')) _CONFIG_VALUESENTRY._options = None
_CONFIG_VALUESENTRY.has_options = True
_CONFIG_VALUESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/chart/metadata.proto', name='hapi/chart/metadata.proto',
package='hapi.chart', package='hapi.chart',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\005chart'),
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') 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')
) )
@ -32,15 +32,15 @@ _METADATA_ENGINE = _descriptor.EnumDescriptor(
values=[ values=[
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='UNKNOWN', index=0, number=0, name='UNKNOWN', index=0, number=0,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='GOTPL', index=1, number=1, name='GOTPL', index=1, number=1,
options=None, serialized_options=None,
type=None), type=None),
], ],
containing_type=None, containing_type=None,
options=None, serialized_options=None,
serialized_start=535, serialized_start=535,
serialized_end=567, serialized_end=567,
) )
@ -60,28 +60,28 @@ _MAINTAINER = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='email', full_name='hapi.chart.Maintainer.email', index=1, name='email', full_name='hapi.chart.Maintainer.email', index=1,
number=2, type=9, cpp_type=9, label=1, number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='url', full_name='hapi.chart.Maintainer.url', index=2, name='url', full_name='hapi.chart.Maintainer.url', index=2,
number=3, type=9, cpp_type=9, label=1, number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -105,21 +105,21 @@ _METADATA_ANNOTATIONSENTRY = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='value', full_name='hapi.chart.Metadata.AnnotationsEntry.value', index=1, name='value', full_name='hapi.chart.Metadata.AnnotationsEntry.value', index=1,
number=2, type=9, cpp_type=9, label=1, number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), serialized_options=_b('8\001'),
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -142,119 +142,119 @@ _METADATA = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='home', full_name='hapi.chart.Metadata.home', index=1, name='home', full_name='hapi.chart.Metadata.home', index=1,
number=2, type=9, cpp_type=9, label=1, number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='sources', full_name='hapi.chart.Metadata.sources', index=2, name='sources', full_name='hapi.chart.Metadata.sources', index=2,
number=3, type=9, cpp_type=9, label=3, number=3, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='version', full_name='hapi.chart.Metadata.version', index=3, name='version', full_name='hapi.chart.Metadata.version', index=3,
number=4, type=9, cpp_type=9, label=1, number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='description', full_name='hapi.chart.Metadata.description', index=4, name='description', full_name='hapi.chart.Metadata.description', index=4,
number=5, type=9, cpp_type=9, label=1, number=5, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='keywords', full_name='hapi.chart.Metadata.keywords', index=5, name='keywords', full_name='hapi.chart.Metadata.keywords', index=5,
number=6, type=9, cpp_type=9, label=3, number=6, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='maintainers', full_name='hapi.chart.Metadata.maintainers', index=6, name='maintainers', full_name='hapi.chart.Metadata.maintainers', index=6,
number=7, type=11, cpp_type=10, label=3, number=7, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='engine', full_name='hapi.chart.Metadata.engine', index=7, name='engine', full_name='hapi.chart.Metadata.engine', index=7,
number=8, type=9, cpp_type=9, label=1, number=8, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='icon', full_name='hapi.chart.Metadata.icon', index=8, name='icon', full_name='hapi.chart.Metadata.icon', index=8,
number=9, type=9, cpp_type=9, label=1, number=9, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='apiVersion', full_name='hapi.chart.Metadata.apiVersion', index=9, name='apiVersion', full_name='hapi.chart.Metadata.apiVersion', index=9,
number=10, type=9, cpp_type=9, label=1, number=10, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='condition', full_name='hapi.chart.Metadata.condition', index=10, name='condition', full_name='hapi.chart.Metadata.condition', index=10,
number=11, type=9, cpp_type=9, label=1, number=11, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='tags', full_name='hapi.chart.Metadata.tags', index=11, name='tags', full_name='hapi.chart.Metadata.tags', index=11,
number=12, type=9, cpp_type=9, label=1, number=12, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='appVersion', full_name='hapi.chart.Metadata.appVersion', index=12, name='appVersion', full_name='hapi.chart.Metadata.appVersion', index=12,
number=13, type=9, cpp_type=9, label=1, number=13, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='deprecated', full_name='hapi.chart.Metadata.deprecated', index=13, name='deprecated', full_name='hapi.chart.Metadata.deprecated', index=13,
number=14, type=8, cpp_type=7, label=1, number=14, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False, has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='tillerVersion', full_name='hapi.chart.Metadata.tillerVersion', index=14, name='tillerVersion', full_name='hapi.chart.Metadata.tillerVersion', index=14,
number=15, type=9, cpp_type=9, label=1, number=15, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='annotations', full_name='hapi.chart.Metadata.annotations', index=15, name='annotations', full_name='hapi.chart.Metadata.annotations', index=15,
number=16, type=11, cpp_type=10, label=3, number=16, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='kubeVersion', full_name='hapi.chart.Metadata.kubeVersion', index=16, name='kubeVersion', full_name='hapi.chart.Metadata.kubeVersion', index=16,
number=17, type=9, cpp_type=9, label=1, number=17, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
@ -262,7 +262,7 @@ _METADATA = _descriptor.Descriptor(
enum_types=[ enum_types=[
_METADATA_ENGINE, _METADATA_ENGINE,
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -303,8 +303,6 @@ _sym_db.RegisterMessage(Metadata)
_sym_db.RegisterMessage(Metadata.AnnotationsEntry) _sym_db.RegisterMessage(Metadata.AnnotationsEntry)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart')) _METADATA_ANNOTATIONSENTRY._options = None
_METADATA_ANNOTATIONSENTRY.has_options = True
_METADATA_ANNOTATIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/chart/template.proto', name='hapi/chart/template.proto',
package='hapi.chart', package='hapi.chart',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\005chart'),
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') 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')
) )
@ -38,21 +38,21 @@ _TEMPLATE = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='data', full_name='hapi.chart.Template.data', index=1, name='data', full_name='hapi.chart.Template.data', index=1,
number=2, type=12, cpp_type=9, label=1, number=2, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=_b(""), has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -73,6 +73,5 @@ Template = _reflection.GeneratedProtocolMessageType('Template', (_message.Messag
_sym_db.RegisterMessage(Template) _sym_db.RegisterMessage(Template)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\005chart'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -20,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/hook.proto', name='hapi/release/hook.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
@ -34,55 +34,55 @@ _HOOK_EVENT = _descriptor.EnumDescriptor(
values=[ values=[
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='UNKNOWN', index=0, number=0, name='UNKNOWN', index=0, number=0,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PRE_INSTALL', index=1, number=1, name='PRE_INSTALL', index=1, number=1,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='POST_INSTALL', index=2, number=2, name='POST_INSTALL', index=2, number=2,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PRE_DELETE', index=3, number=3, name='PRE_DELETE', index=3, number=3,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='POST_DELETE', index=4, number=4, name='POST_DELETE', index=4, number=4,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PRE_UPGRADE', index=5, number=5, name='PRE_UPGRADE', index=5, number=5,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='POST_UPGRADE', index=6, number=6, name='POST_UPGRADE', index=6, number=6,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PRE_ROLLBACK', index=7, number=7, name='PRE_ROLLBACK', index=7, number=7,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='POST_ROLLBACK', index=8, number=8, name='POST_ROLLBACK', index=8, number=8,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='RELEASE_TEST_SUCCESS', index=9, number=9, name='RELEASE_TEST_SUCCESS', index=9, number=9,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='RELEASE_TEST_FAILURE', index=10, number=10, name='RELEASE_TEST_FAILURE', index=10, number=10,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='CRD_INSTALL', index=11, number=11, name='CRD_INSTALL', index=11, number=11,
options=None, serialized_options=None,
type=None), type=None),
], ],
containing_type=None, containing_type=None,
options=None, serialized_options=None,
serialized_start=306, serialized_start=306,
serialized_end=535, serialized_end=535,
) )
@ -96,19 +96,19 @@ _HOOK_DELETEPOLICY = _descriptor.EnumDescriptor(
values=[ values=[
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='SUCCEEDED', index=0, number=0, name='SUCCEEDED', index=0, number=0,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='FAILED', index=1, number=1, name='FAILED', index=1, number=1,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='BEFORE_HOOK_CREATION', index=2, number=2, name='BEFORE_HOOK_CREATION', index=2, number=2,
options=None, serialized_options=None,
type=None), type=None),
], ],
containing_type=None, containing_type=None,
options=None, serialized_options=None,
serialized_start=537, serialized_start=537,
serialized_end=604, serialized_end=604,
) )
@ -128,56 +128,56 @@ _HOOK = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='kind', full_name='hapi.release.Hook.kind', index=1, name='kind', full_name='hapi.release.Hook.kind', index=1,
number=2, type=9, cpp_type=9, label=1, number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='path', full_name='hapi.release.Hook.path', index=2, name='path', full_name='hapi.release.Hook.path', index=2,
number=3, type=9, cpp_type=9, label=1, number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='manifest', full_name='hapi.release.Hook.manifest', index=3, name='manifest', full_name='hapi.release.Hook.manifest', index=3,
number=4, type=9, cpp_type=9, label=1, number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='events', full_name='hapi.release.Hook.events', index=4, name='events', full_name='hapi.release.Hook.events', index=4,
number=5, type=14, cpp_type=8, label=3, number=5, type=14, cpp_type=8, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='last_run', full_name='hapi.release.Hook.last_run', index=5, name='last_run', full_name='hapi.release.Hook.last_run', index=5,
number=6, type=11, cpp_type=10, label=1, number=6, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='weight', full_name='hapi.release.Hook.weight', index=6, name='weight', full_name='hapi.release.Hook.weight', index=6,
number=7, type=5, cpp_type=1, label=1, number=7, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0, has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='delete_policies', full_name='hapi.release.Hook.delete_policies', index=7, name='delete_policies', full_name='hapi.release.Hook.delete_policies', index=7,
number=8, type=14, cpp_type=8, label=3, number=8, type=14, cpp_type=8, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
@ -186,7 +186,7 @@ _HOOK = _descriptor.Descriptor(
_HOOK_EVENT, _HOOK_EVENT,
_HOOK_DELETEPOLICY, _HOOK_DELETEPOLICY,
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -212,6 +212,5 @@ Hook = _reflection.GeneratedProtocolMessageType('Hook', (_message.Message,), dic
_sym_db.RegisterMessage(Hook) _sym_db.RegisterMessage(Hook)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/info.proto', name='hapi/release/info.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,]) dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_status__pb2.DESCRIPTOR,])
@ -41,42 +41,42 @@ _INFO = _descriptor.Descriptor(
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='first_deployed', full_name='hapi.release.Info.first_deployed', index=1, name='first_deployed', full_name='hapi.release.Info.first_deployed', index=1,
number=2, type=11, cpp_type=10, label=1, number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='last_deployed', full_name='hapi.release.Info.last_deployed', index=2, name='last_deployed', full_name='hapi.release.Info.last_deployed', index=2,
number=3, type=11, cpp_type=10, label=1, number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='deleted', full_name='hapi.release.Info.deleted', index=3, name='deleted', full_name='hapi.release.Info.deleted', index=3,
number=4, type=11, cpp_type=10, label=1, number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='Description', full_name='hapi.release.Info.Description', index=4, name='Description', full_name='hapi.release.Info.Description', index=4,
number=5, type=9, cpp_type=9, label=1, number=5, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -101,6 +101,5 @@ Info = _reflection.GeneratedProtocolMessageType('Info', (_message.Message,), dic
_sym_db.RegisterMessage(Info) _sym_db.RegisterMessage(Info)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -23,6 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/release.proto', name='hapi/release/release.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
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,]) 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(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='info', full_name='hapi.release.Release.info', index=1, name='info', full_name='hapi.release.Release.info', index=1,
number=2, type=11, cpp_type=10, label=1, number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='chart', full_name='hapi.release.Release.chart', index=2, name='chart', full_name='hapi.release.Release.chart', index=2,
number=3, type=11, cpp_type=10, label=1, number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='config', full_name='hapi.release.Release.config', index=3, name='config', full_name='hapi.release.Release.config', index=3,
number=4, type=11, cpp_type=10, label=1, number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='manifest', full_name='hapi.release.Release.manifest', index=4, name='manifest', full_name='hapi.release.Release.manifest', index=4,
number=5, type=9, cpp_type=9, label=1, number=5, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='hooks', full_name='hapi.release.Release.hooks', index=5, name='hooks', full_name='hapi.release.Release.hooks', index=5,
number=6, type=11, cpp_type=10, label=3, number=6, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='version', full_name='hapi.release.Release.version', index=6, name='version', full_name='hapi.release.Release.version', index=6,
number=7, type=5, cpp_type=1, label=1, number=7, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0, has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='namespace', full_name='hapi.release.Release.namespace', index=7, name='namespace', full_name='hapi.release.Release.namespace', index=7,
number=8, type=9, cpp_type=9, label=1, number=8, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -124,6 +124,5 @@ Release = _reflection.GeneratedProtocolMessageType('Release', (_message.Message,
_sym_db.RegisterMessage(Release) _sym_db.RegisterMessage(Release)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/status.proto', name='hapi/release/status.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
dependencies=[hapi_dot_release_dot_test__suite__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) dependencies=[hapi_dot_release_dot_test__suite__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,])
@ -35,43 +35,43 @@ _STATUS_CODE = _descriptor.EnumDescriptor(
values=[ values=[
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='UNKNOWN', index=0, number=0, name='UNKNOWN', index=0, number=0,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='DEPLOYED', index=1, number=1, name='DEPLOYED', index=1, number=1,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='DELETED', index=2, number=2, name='DELETED', index=2, number=2,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='SUPERSEDED', index=3, number=3, name='SUPERSEDED', index=3, number=3,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='FAILED', index=4, number=4, name='FAILED', index=4, number=4,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='DELETING', index=5, number=5, name='DELETING', index=5, number=5,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PENDING_INSTALL', index=6, number=6, name='PENDING_INSTALL', index=6, number=6,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PENDING_UPGRADE', index=7, number=7, name='PENDING_UPGRADE', index=7, number=7,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='PENDING_ROLLBACK', index=8, number=8, name='PENDING_ROLLBACK', index=8, number=8,
options=None, serialized_options=None,
type=None), type=None),
], ],
containing_type=None, containing_type=None,
options=None, serialized_options=None,
serialized_start=242, serialized_start=242,
serialized_end=394, serialized_end=394,
) )
@ -91,28 +91,28 @@ _STATUS = _descriptor.Descriptor(
has_default_value=False, default_value=0, has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='resources', full_name='hapi.release.Status.resources', index=1, name='resources', full_name='hapi.release.Status.resources', index=1,
number=3, type=9, cpp_type=9, label=1, number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='notes', full_name='hapi.release.Status.notes', index=2, name='notes', full_name='hapi.release.Status.notes', index=2,
number=4, type=9, cpp_type=9, label=1, number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='last_test_suite_run', full_name='hapi.release.Status.last_test_suite_run', index=3, name='last_test_suite_run', full_name='hapi.release.Status.last_test_suite_run', index=3,
number=5, type=11, cpp_type=10, label=1, number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
@ -120,7 +120,7 @@ _STATUS = _descriptor.Descriptor(
enum_types=[ enum_types=[
_STATUS_CODE, _STATUS_CODE,
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -144,6 +144,5 @@ Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,),
_sym_db.RegisterMessage(Status) _sym_db.RegisterMessage(Status)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -20,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/test_run.proto', name='hapi/release/test_run.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
@ -34,23 +34,23 @@ _TESTRUN_STATUS = _descriptor.EnumDescriptor(
values=[ values=[
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='UNKNOWN', index=0, number=0, name='UNKNOWN', index=0, number=0,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='SUCCESS', index=1, number=1, name='SUCCESS', index=1, number=1,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='FAILURE', index=2, number=2, name='FAILURE', index=2, number=2,
options=None, serialized_options=None,
type=None), type=None),
_descriptor.EnumValueDescriptor( _descriptor.EnumValueDescriptor(
name='RUNNING', index=3, number=3, name='RUNNING', index=3, number=3,
options=None, serialized_options=None,
type=None), type=None),
], ],
containing_type=None, containing_type=None,
options=None, serialized_options=None,
serialized_start=262, serialized_start=262,
serialized_end=322, serialized_end=322,
) )
@ -70,35 +70,35 @@ _TESTRUN = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='status', full_name='hapi.release.TestRun.status', index=1, name='status', full_name='hapi.release.TestRun.status', index=1,
number=2, type=14, cpp_type=8, label=1, number=2, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0, has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='info', full_name='hapi.release.TestRun.info', index=2, name='info', full_name='hapi.release.TestRun.info', index=2,
number=3, type=9, cpp_type=9, label=1, number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='started_at', full_name='hapi.release.TestRun.started_at', index=3, name='started_at', full_name='hapi.release.TestRun.started_at', index=3,
number=4, type=11, cpp_type=10, label=1, number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='completed_at', full_name='hapi.release.TestRun.completed_at', index=4, name='completed_at', full_name='hapi.release.TestRun.completed_at', index=4,
number=5, type=11, cpp_type=10, label=1, number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
@ -106,7 +106,7 @@ _TESTRUN = _descriptor.Descriptor(
enum_types=[ enum_types=[
_TESTRUN_STATUS, _TESTRUN_STATUS,
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -131,6 +131,5 @@ TestRun = _reflection.GeneratedProtocolMessageType('TestRun', (_message.Message,
_sym_db.RegisterMessage(TestRun) _sym_db.RegisterMessage(TestRun)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -21,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/release/test_suite.proto', name='hapi/release/test_suite.proto',
package='hapi.release', package='hapi.release',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007release'),
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') 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')
, ,
dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,]) dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,hapi_dot_release_dot_test__run__pb2.DESCRIPTOR,])
@ -41,28 +41,28 @@ _TESTSUITE = _descriptor.Descriptor(
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='completed_at', full_name='hapi.release.TestSuite.completed_at', index=1, name='completed_at', full_name='hapi.release.TestSuite.completed_at', index=1,
number=2, type=11, cpp_type=10, label=1, number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None, has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='results', full_name='hapi.release.TestSuite.results', index=2, name='results', full_name='hapi.release.TestSuite.results', index=2,
number=3, type=11, cpp_type=10, label=3, number=3, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[], has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -86,6 +86,5 @@ TestSuite = _reflection.GeneratedProtocolMessageType('TestSuite', (_message.Mess
_sym_db.RegisterMessage(TestSuite) _sym_db.RegisterMessage(TestSuite)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007release'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,6 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from google.protobuf import reflection as _reflection from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -19,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='hapi/version/version.proto', name='hapi/version/version.proto',
package='hapi.version', package='hapi.version',
syntax='proto3', syntax='proto3',
serialized_options=_b('Z\007version'),
serialized_pb=_b('\n\x1ahapi/version/version.proto\x12\x0chapi.version\"F\n\x07Version\x12\x0f\n\x07sem_ver\x18\x01 \x01(\t\x12\x12\n\ngit_commit\x18\x02 \x01(\t\x12\x16\n\x0egit_tree_state\x18\x03 \x01(\tB\tZ\x07versionb\x06proto3') serialized_pb=_b('\n\x1ahapi/version/version.proto\x12\x0chapi.version\"F\n\x07Version\x12\x0f\n\x07sem_ver\x18\x01 \x01(\t\x12\x12\n\ngit_commit\x18\x02 \x01(\t\x12\x16\n\x0egit_tree_state\x18\x03 \x01(\tB\tZ\x07versionb\x06proto3')
) )
@ -38,28 +38,28 @@ _VERSION = _descriptor.Descriptor(
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='git_commit', full_name='hapi.version.Version.git_commit', index=1, name='git_commit', full_name='hapi.version.Version.git_commit', index=1,
number=2, type=9, cpp_type=9, label=1, number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor( _descriptor.FieldDescriptor(
name='git_tree_state', full_name='hapi.version.Version.git_tree_state', index=2, name='git_tree_state', full_name='hapi.version.Version.git_tree_state', index=2,
number=3, type=9, cpp_type=9, label=1, number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'), has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None, message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None, is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR), serialized_options=None, file=DESCRIPTOR),
], ],
extensions=[ extensions=[
], ],
nested_types=[], nested_types=[],
enum_types=[ enum_types=[
], ],
options=None, serialized_options=None,
is_extendable=False, is_extendable=False,
syntax='proto3', syntax='proto3',
extension_ranges=[], extension_ranges=[],
@ -80,6 +80,5 @@ Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,
_sym_db.RegisterMessage(Version) _sym_db.RegisterMessage(Version)
DESCRIPTOR.has_options = True DESCRIPTOR._options = None
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\007version'))
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -1,7 +1,7 @@
deepdiff==3.3.0 deepdiff==3.3.0
gitpython gitpython
grpcio==1.10.0 grpcio==1.16.0
grpcio-tools==1.10.0 grpcio-tools==1.16.0
jsonschema>=2.6.0 jsonschema>=2.6.0
keystoneauth1==2.21.0 keystoneauth1==2.21.0
keystonemiddleware==4.9.1 keystonemiddleware==4.9.1