googleapis/python-bigtable

Support connecting to bigtable emulator running on separate container/machine

keeth opened this issue · 1 comments

keeth commented

Our CI setup involves running docker compose with firestore/bigtable emulators running in separate containers from the system being tested, but grpc.secure_channel prohibits a non-local address being used with local credentials.

Environment details

  • OS type and version: Latest Debian running under Docker
  • Python version: 3.10.9
  • pip version: pip 22.3.1
  • google-cloud-bigtable version: 2.17.0

Steps to reproduce

  1. Run BigTable emulator on another host (say in a separate container in a single docker-compose file).
  2. Attempt to connect to the emulator
  3. Error:
google.api_core.exceptions.RetryError: Deadline of 60.0s exceeded while calling target function,
last exception: 503 failed to connect to all addresses;
last error: UNKNOWN: ipv4:172.23.0.3:8086: Endpoint is neither UDS or TCP loopback address.

A similar bug was reported on python-firestore which was subsequently fixed.

I am betting a similar fix will work here. Thanks!

I opened a PR to address this: #946