예제 #1
0
    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
예제 #2
0
 def list_releases(self):
     '''
     List Helm Releases
     '''
     stub = ReleaseServiceStub(self.channel)
     req = ListReleasesRequest()
     return stub.ListReleases(req, self.timeout, metadata=self.metadata)
예제 #3
0
 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
예제 #4
0
파일: tiller.py 프로젝트: wknapik/pyhelm
 def list_releases(self):
     '''
     List Helm Releases
     '''
     releases = []
     stub = ReleaseServiceStub(self.channel)
     req = ListReleasesRequest(limit=RELEASE_LIMIT)
     release_list = stub.ListReleases(req, self.timeout,
                                      metadata=self.metadata)
     for y in release_list:
         releases.extend(y.releases)
     return releases
예제 #5
0
    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
예제 #6
0
    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
예제 #7
0
    def list_releases(self, status_codes=None, 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,
                                      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