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()
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)
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)