def list_releases(self): ''' List Helm Releases ''' stub = ReleaseServiceStub(self.channel) req = ListReleasesRequest() return stub.ListReleases(req, self.timeout, metadata=self.metadata)
def list_releases(self, limit=RELEASE_LIMIT, status_codes=[], namespace=None): '''获得release列表 Argss: :params limit - number of result :params status_codes - status_codes list used for filter 可选值(UNKNOWN, DEPLOYED, DELETED, SUPERSEDED, FAILED, DELETING, PENDING_INSTALL, PENDING_UPGRADE, PENDING_ROLLBACK) :params namespace(srt) - k8s namespace Returns: List Helm Releases ''' releases = [] stub = ReleaseServiceStub(self.channel) req = ListReleasesRequest(limit=limit, status_codes=status_codes, namespace=namespace or '') release_list = stub.ListReleases(req, self.timeout, metadata=self.metadata) for y in release_list: releases.extend(y.releases) return releases
def list_releases(self): ''' List Helm Releases ''' # TODO(MarshM possibly combine list_releases() with list_charts() # since they do the same thing, grouping output differently releases = [] stub = ReleaseServiceStub(self.channel) # TODO(mark-burnett): Since we're limiting page size, we need to # iterate through all the pages when collecting this list. # NOTE(MarshM): `Helm List` defaults to returning Deployed and Failed, # but this might not be a desireable ListReleasesRequest default. req = ListReleasesRequest( limit=RELEASE_LIMIT, status_codes=[const.STATUS_DEPLOYED, const.STATUS_FAILED], sort_by='LAST_RELEASED', sort_order='DESC') LOG.debug('Tiller ListReleases() with timeout=%s', self.timeout) release_list = stub.ListReleases(req, self.timeout, metadata=self.metadata) for y in release_list: # TODO(MarshM) this log is too noisy, fix later # LOG.debug('Found release: %s', y.releases releases.extend(y.releases) return releases
def list_releases(self): """ List Helm Releases """ releases = [] offset = None stub = ReleaseServiceStub(self._channel) while True: req = ListReleasesRequest(limit=RELEASE_LIMIT, offset=offset) release_list = stub.ListReleases(req, self._timeout, metadata=self.metadata) for y in release_list: offset = str(y.next) releases.extend(y.releases) # This handles two cases: # 1. If there are no releases, offset will not be set and will remain None # 2. If there were releases, once we've fetched all of them, offset will be "" if not offset: break return releases
def list_releases(self): ''' List Helm Releases ''' releases = [] stub = ReleaseServiceStub(self.channel) if self.__limit < 0: req = ListReleasesRequest() else: req = ListReleasesRequest(limit=self.__limit) release_list = stub.ListReleases(req, self.timeout, metadata=self.metadata) for y in release_list: releases.extend(y.releases) return releases
def list_releases(self, status): ''' List Helm Releases ''' releases = [] stub = ReleaseServiceStub(self.channel) req = ListReleasesRequest(limit=RELEASE_LIMIT, status_codes=[status]) release_list = stub.ListReleases(req, self.timeout, metadata=self.metadata) for y in release_list: releases.extend(y.releases) return releases
def get_results(): releases = [] done = False next_release_expected = "" initial_total = None while not done: req = ListReleasesRequest( offset=next_release_expected, limit=LIST_RELEASES_PAGE_SIZE, status_codes=const.STATUS_ALL) LOG.debug( 'Tiller ListReleases() with timeout=%s, request=%s', self.timeout, req) response = stub.ListReleases( req, self.timeout, metadata=self.metadata) found_message = False for message in response: found_message = True page = message.releases if initial_total: if message.total != initial_total: LOG.warning( 'Total releases changed between ' 'pages from (%s) to (%s)', initial_total, message.count) raise ex.TillerListReleasesPagingException() else: initial_total = message.total # Add page to results. releases.extend(page) if message.next: next_release_expected = message.next else: done = True # Ensure we break out was no message found which # is seen if there are no releases in tiller. if not found_message: done = True return releases
def list_releases(self): ''' List Helm Releases ''' releases = [] stub = ReleaseServiceStub(self.channel) req = ListReleasesRequest(limit=RELEASE_LIMIT, status_codes=[STATUS_DEPLOYED, STATUS_FAILED], sort_by='LAST_RELEASED', sort_order='DESC') release_list = stub.ListReleases(req, self.timeout, metadata=self.metadata) for y in release_list: releases.extend(y.releases) return releases
def list_releases(self): """ List Helm Releases """ releases = [] offset = None stub = ReleaseServiceStub(self._channel) while (offset is None or len(offset) > 0): req = ListReleasesRequest(limit=RELEASE_LIMIT, offset=offset) release_list = stub.ListReleases(req, self._timeout, metadata=self.metadata) for y in release_list: offset = str(y.next) releases.extend(y.releases) return releases
def list_releases(self, status_codes=None, filter="", namespace=""): """ List Helm Releases Possible status codes can be seen in the status_pb2 in part of Helm gRPC definition """ releases = [] # Convert the string status codes to the their numerical values if status_codes: codes_enum = _STATUS.enum_types_by_name.get("Code") request_status_codes = [ codes_enum.values_by_name.get(code).number for code in status_codes ] else: request_status_codes = [] offset = None stub = ReleaseServiceStub(self._channel) while True: req = ListReleasesRequest( limit=RELEASE_LIMIT, offset=offset, filter=filter, namespace=namespace, status_codes=request_status_codes, ) release_list = stub.ListReleases(req, self._timeout, metadata=self.metadata) for y in release_list: offset = str(y.next) releases.extend(y.releases) # This handles two cases: # 1. If there are no releases, offset will not be set and will remain None # 2. If there were releases, once we've fetched all of them, offset will be "" if not offset: break return releases