コード例 #1
0
    def test_retry_on_proxy_error_genesis_failure(self, resp, **kwargs):
        post = kwargs["post"]
        ping_ip = kwargs["ping_ip"]
        ping_ip.return_value = True
        resp.json.return_value = self._DUMMY_RPC_PROXY_ERROR_RET
        resp.status_code = 200
        post.side_effect = [resp] * (self.GENESIS_MAX_RETRIES + 1)

        cli = NutanixRestApiClient(self.HOSTS[0], "user", "password")

        # Call genesis RPC method.
        with self.assertRaises(CurieException):
            cli.genesis_cluster_status()
コード例 #2
0
    def test_retry_on_proxy_error_genesis_success(self, resp, **kwargs):
        post = kwargs["post"]
        ping_ip = kwargs["ping_ip"]
        ping_ip.return_value = True
        resp.json.side_effect = ([self._DUMMY_RPC_PROXY_ERROR_RET] * 3 +
                                 [self._DUMMY_RPC_RET])
        resp.status_code = 200
        post.side_effect = [resp] * 4

        cli = NutanixRestApiClient(self.HOSTS[0], "user", "password")

        # Call genesis RPC method.
        cli.genesis_cluster_status()

        # Verify calls cycled through available hosts.
        self._verify_url_in_call_args([
            self.HOST_URL_PREFIXES[0],
        ], post)
コード例 #3
0
    def test_retry_failure_genesis(self, **kwargs):
        post = kwargs["post"]
        ping_ip = kwargs["ping_ip"]
        ping_ip.return_value = True
        side_effect = [self._make_conn_error_for_host(self.HOSTS[0])
                       ] * self.GENESIS_MAX_RETRIES
        side_effect.append(
            ConnectionError("Last error, should trigger exception"))
        post.side_effect = side_effect

        cli = NutanixRestApiClient(self.HOSTS[0], "user", "password")

        # Call standard REST API method.
        with self.assertRaises(CurieException):
            ret = cli.genesis_cluster_status()

        # Verify calls cycled through available hosts.
        self._verify_url_in_call_args([
            self.HOST_URL_PREFIXES[0],
        ], post)