def install_release(self, chart, namespace, dry_run=False, name=None, values=None, wait=False, disable_hooks=False, reuse_name=False, disable_crd_hook=False, description=""): """ Create a Helm Release """ values = Config(raw=yaml.safe_dump(values or {})) stub = ReleaseServiceStub(self._channel) release_request = InstallReleaseRequest( chart=chart, dry_run=dry_run, values=values, name=name or '', namespace=namespace, wait=wait, disable_hooks=disable_hooks, reuse_name=reuse_name, disable_crd_hook=disable_crd_hook, description=description) return stub.InstallRelease(release_request, self._timeout, metadata=self.metadata)
def install_release(self, chart, dry_run, name, namespace, prefix, values=None, wait=False, timeout=None): ''' Create a Helm Release ''' LOG.debug("wait: %s", wait) LOG.debug("timeout: %s", timeout) if values is None: values = Config(raw='') else: values = Config(raw=values) # build release install request stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest(chart=chart, dry_run=dry_run, values=values, name="{}-{}".format( prefix, name), namespace=namespace, wait=wait, timeout=timeout) return stub.InstallRelease(release_request, self.timeout, metadata=self.metadata)
def install_release(self, chart, release, namespace, dry_run=False, values=None, wait=False, timeout=None): ''' Create a Helm Release ''' LOG.info("Wait: %s, Timeout: %s", wait, timeout) if values is None: values = Config(raw='') else: values = Config(raw=values) # build release install request try: stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest( chart=chart, dry_run=dry_run, values=values, name=release, namespace=namespace, wait=wait, timeout=timeout) return stub.InstallRelease( release_request, self.timeout, metadata=self.metadata) except Exception: status = self.get_release_status(release) raise ex.ReleaseException(release, status, 'Install')
def install_release(self, chart, dry_run, name, namespace, values=None): ''' Create a Helm Release ''' if values is None: values = Config(raw='') else: values = Config(raw=values) # build release install request stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest( chart=chart, dry_run=dry_run, values=values, name=name, namespace=namespace) return stub.InstallRelease(release_request, self.timeout, metadata=self.metadata)
def install_release(self, chart, namespace, dry_run=False, name=None, values=None): """ Create a Helm Release """ values = Config(raw=yaml.safe_dump(values or {})) # build release install request stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest( chart=chart, dry_run=dry_run, values=values, name=name or '', namespace=namespace) return stub.InstallRelease(release_request, self.timeout, metadata=self.metadata)
def install_release(self, chart, namespace, disable_hooks=False, reuse_name=False, disable_crd_hook=False, timeout=REQUEST_TIMEOUT, dry_run=False, name=None, values=None): """安装release Args: :params - chart - chart 元数据,由函数生成 :params - name - release name,为空时随机生成 :params - namespace - kubernetes namespace :params - dry_run - simulate an install :params - values - 额外的values,用来进行value值替换 :params - disable_hooks - prevent hooks from running during install(bool) :params - disable_crd_hook - prevent CRD hooks from running, but run other hooks(bool) :params - reuse_name - re-use the given name, even if that name is already used. This is unsafe in production(bool) :params - timeout - time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks) (default 300) Returns: 返回安装release的grpc响应对象 """ #values = Config(raw=yaml.safe_dump(values or {})) # build release install request stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest( chart=chart, disable_hooks=disable_hooks, reuse_name=reuse_name, disable_crd_hook=disable_crd_hook, dry_run=dry_run, timeout=timeout, values=values, name=name or '', namespace=namespace) return stub.InstallRelease(release_request, self.timeout, metadata=self.metadata)
def get_chart_templates(self, template_name, name, release_name, namespace, chart, disable_hooks, values): # returns some info LOG.info("Template( %s ) : %s ", template_name, name) stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest(chart=chart, dry_run=True, values=values, name=name, namespace=namespace, wait=False) templates = stub.InstallRelease(release_request, self.timeout, metadata=self.metadata) for template in yaml.load_all( getattr(templates.release, 'manifest', [])): if template_name == template.get('metadata', None).get('name', None): LOG.info(template_name) return template
def install_release(self, chart, release, namespace, dry_run=False, values=None, wait=False, timeout=None): ''' Create a Helm Release ''' LOG.debug("wait: %s", wait) LOG.debug("timeout: %s", timeout) if values is None: values = Config(raw='') else: values = Config(raw=values) # build release install request try: stub = ReleaseServiceStub(self.channel) release_request = InstallReleaseRequest(chart=chart, dry_run=dry_run, values=values, name=release, namespace=namespace, wait=wait, timeout=timeout) return stub.InstallRelease(release_request, self.timeout, metadata=self.metadata) except Exception: raise tiller_exceptions.ReleaseInstallException(release, namespace)