Skip to content

tests.system.TestInstanceAdminAPI: test_create_instance_w_two_clusters failed #381

@flaky-bot

Description

@flaky-bot

This test failed!

To configure my behavior, see the Flaky Bot documentation.

If I'm commenting on this issue too often, add the flakybot: quiet label and
I will stop commenting.


commit: 95b2e13
buildURL: Build Status, Sponge
status: failed

Test output
args = (parent: "projects/precise-truck-742/instances/dif-1626774604962"
table_id: "test-get-cluster-states"
table {
}
,)
kwargs = {'metadata': [('x-goog-request-params', 'parent=projects/precise-truck-742/instances/dif-1626774604962'), ('x-goog-api-client', 'gl-python/3.8.6 grpc/1.39.0rc1 gax/1.31.0')]}
@six.wraps(callable_)
def error_remapped_callable(*args, **kwargs):
    try:
      return callable_(*args, **kwargs)

.nox/system-3-8/lib/python3.8/site-packages/google/api_core/grpc_helpers.py:67:


self = <grpc._channel._UnaryUnaryMultiCallable object at 0x7f75a000ebb0>
request = parent: "projects/precise-truck-742/instances/dif-1626774604962"
table_id: "test-get-cluster-states"
table {
}

timeout = None
metadata = [('x-goog-request-params', 'parent=projects/precise-truck-742/instances/dif-1626774604962'), ('x-goog-api-client', 'gl-python/3.8.6 grpc/1.39.0rc1 gax/1.31.0')]
credentials = None, wait_for_ready = None, compression = None

def __call__(self,
             request,
             timeout=None,
             metadata=None,
             credentials=None,
             wait_for_ready=None,
             compression=None):
    state, call, = self._blocking(request, timeout, metadata, credentials,
                                  wait_for_ready, compression)
  return _end_unary_response_blocking(state, call, False, None)

.nox/system-3-8/lib/python3.8/site-packages/grpc/_channel.py:946:


state = <grpc._channel._RPCState object at 0x7f75a18ff730>
call = <grpc._cython.cygrpc.SegregatedCall object at 0x7f75a000a040>
with_call = False, deadline = None

def _end_unary_response_blocking(state, call, with_call, deadline):
    if state.code is grpc.StatusCode.OK:
        if with_call:
            rendezvous = _MultiThreadedRendezvous(state, call, None, deadline)
            return state.response, rendezvous
        else:
            return state.response
    else:
      raise _InactiveRpcError(state)

E grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
E status = StatusCode.UNAVAILABLE
E details = "The service is currently unavailable."
E debug_error_string = "{"created":"@1626774802.507906631","description":"Error received from peer ipv4:173.194.202.95:443","file":"src/core/lib/surface/call.cc","file_line":1069,"grpc_message":"The service is currently unavailable.","grpc_status":14}"
E >

.nox/system-3-8/lib/python3.8/site-packages/grpc/_channel.py:849: _InactiveRpcError

The above exception was the direct cause of the following exception:

self = <tests.system.TestInstanceAdminAPI testMethod=test_create_instance_w_two_clusters>

def test_create_instance_w_two_clusters(self):
    from google.cloud.bigtable import enums
    from google.cloud.bigtable.table import ClusterState

    _PRODUCTION = enums.Instance.Type.PRODUCTION
    ALT_INSTANCE_ID = "dif" + UNIQUE_SUFFIX
    instance = Config.CLIENT.instance(
        ALT_INSTANCE_ID, instance_type=_PRODUCTION, labels=LABELS
    )

    ALT_CLUSTER_ID_1 = ALT_INSTANCE_ID + "-c1"
    ALT_CLUSTER_ID_2 = ALT_INSTANCE_ID + "-c2"
    LOCATION_ID_2 = "us-central1-f"
    STORAGE_TYPE = enums.StorageType.HDD
    serve_nodes = 1
    cluster_1 = instance.cluster(
        ALT_CLUSTER_ID_1,
        location_id=LOCATION_ID,
        serve_nodes=serve_nodes,
        default_storage_type=STORAGE_TYPE,
    )
    cluster_2 = instance.cluster(
        ALT_CLUSTER_ID_2,
        location_id=LOCATION_ID_2,
        serve_nodes=serve_nodes,
        default_storage_type=STORAGE_TYPE,
    )
    operation = instance.create(clusters=[cluster_1, cluster_2])

    # Make sure this instance gets deleted after the test case.
    self.instances_to_delete.append(instance)

    # We want to make sure the operation completes.
    operation.result(timeout=120)

    # Create a new instance instance and make sure it is the same.
    instance_alt = Config.CLIENT.instance(ALT_INSTANCE_ID)
    instance_alt.reload()

    self.assertEqual(instance, instance_alt)
    self.assertEqual(instance.display_name, instance_alt.display_name)
    self.assertEqual(instance.type_, instance_alt.type_)

    clusters, failed_locations = instance_alt.list_clusters()
    self.assertEqual(failed_locations, [])

    clusters.sort(key=lambda x: x.name)
    alt_cluster_1, alt_cluster_2 = clusters

    self.assertEqual(cluster_1.location_id, alt_cluster_1.location_id)
    self.assertEqual(alt_cluster_1.state, enums.Cluster.State.READY)
    self.assertEqual(cluster_1.serve_nodes, alt_cluster_1.serve_nodes)
    self.assertEqual(
        cluster_1.default_storage_type, alt_cluster_1.default_storage_type
    )
    self.assertEqual(cluster_2.location_id, alt_cluster_2.location_id)
    self.assertEqual(alt_cluster_2.state, enums.Cluster.State.READY)
    self.assertEqual(cluster_2.serve_nodes, alt_cluster_2.serve_nodes)
    self.assertEqual(
        cluster_2.default_storage_type, alt_cluster_2.default_storage_type
    )

    # Test list clusters in project via 'client.list_clusters'
    clusters, failed_locations = Config.CLIENT.list_clusters()
    self.assertFalse(failed_locations)
    found = set([cluster.name for cluster in clusters])
    self.assertTrue(
        {alt_cluster_1.name, alt_cluster_2.name, Config.CLUSTER.name}.issubset(
            found
        )
    )

    temp_table_id = "test-get-cluster-states"
    temp_table = instance.table(temp_table_id)
  temp_table.create()

tests/system.py:336:


google/cloud/bigtable/table.py:395: in create
table_client.create_table(
google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py:542: in create_table
response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
.nox/system-3-8/lib/python3.8/site-packages/google/api_core/gapic_v1/method.py:145: in call
return wrapped_func(*args, **kwargs)
.nox/system-3-8/lib/python3.8/site-packages/google/api_core/grpc_helpers.py:69: in error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)


value = None
from_value = <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "The service is currently .../core/lib/surface/call.cc","file_line":1069,"grpc_message":"The service is currently unavailable.","grpc_status":14}"

???
E google.api_core.exceptions.ServiceUnavailable: 503 The service is currently unavailable.

:3: ServiceUnavailable

Metadata

Metadata

Assignees

Labels

api: bigtableIssues related to the googleapis/python-bigtable API.flakybot: issueAn issue filed by the Flaky Bot. Should not be added manually.type: processA process-related concern. May include testing, release, or the like.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions