Exemplo n.º 1
0
 def test_release(self, name, cleanup=False, timeout=REQUEST_TIMEOUT):
     """usage: RunReleaseTest executes the tests defined of a named release
     Args:
         :params - name(string) - release name
         :params - cleanup(bool) - delete test pods upon completion
     Returns:
         返回测试安装的grpc响应对象
     """
     # build  releaseTest request
     stub = ReleaseServiceStub(self.channel)
     test_release_request = TestReleaseRequest(name=name, cleanup=cleanup)
     return stub.RunReleaseTest(test_release_request,
                                self.timeout,
                                metadata=self.metadata)
Exemplo n.º 2
0
    def testing_release(self, release, timeout=300, cleanup=True):
        '''
        :param release - name of release to test
        :param timeout - runtime before exiting
        :param cleanup - removes testing pod created

        :returns - results of test pod

        '''

        try:

            stub = ReleaseServiceStub(self.channel)

            release_request = TestReleaseRequest(name=release,
                                                 timeout=timeout,
                                                 cleanup=cleanup)

            content = self.get_release_content(release)

            if not len(content.release.hooks):
                LOG.info('No test found')
                return False

            if content.release.hooks[0].events[0] == RUNTEST_SUCCESS:
                test = stub.RunReleaseTest(release_request,
                                           self.timeout,
                                           metadata=self.metadata)

                if test.running():
                    self.k8s.wait_get_completed_podphase(release)

                test.cancel()

                return self.get_release_status(release)

        except Exception:
            status = self.get_release_status(release)
            raise ex.ReleaseException(release, status, 'Test')