def uninstall_release(self, release, disable_hooks=False, purge=True): """ :params - release - helm chart release name :params - purge - deep delete of chart Deletes a helm chart from tiller """ stub = ReleaseServiceStub(self._channel) release_request = UninstallReleaseRequest(name=release, disable_hooks=disable_hooks, purge=purge) return stub.UninstallRelease(release_request, self._timeout, metadata=self.metadata)
def uninstall_release(self, release, disable_hooks=False, purge=True, timeout=None): ''' :param: release - Helm chart release name :param: purge - deep delete of chart :param: timeout - timeout for the tiller call Deletes a Helm chart from Tiller ''' if timeout is None: timeout = const.DEFAULT_DELETE_TIMEOUT # Helm client calls ReleaseContent in Delete dry-run scenario if self.dry_run: content = self.get_release_content(release) LOG.info( 'Skipping delete during `dry-run`, would have deleted ' 'release=%s from namespace=%s.', content.release.name, content.release.namespace) return # build release uninstall request try: stub = ReleaseServiceStub(self.channel) LOG.info( "Delete %s release with disable_hooks=%s, " "purge=%s, timeout=%s flags", release, disable_hooks, purge, timeout) release_request = UninstallReleaseRequest( name=release, disable_hooks=disable_hooks, purge=purge) return stub.UninstallRelease( release_request, timeout, metadata=self.metadata) except Exception: LOG.exception('Error while deleting release %s', release) status = self.get_release_status(release) raise ex.ReleaseException(release, status, 'Delete')