diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 42c0359044..620be50604 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -182,11 +182,11 @@ jobs: docker-image: ["core-windows-latest", "core-windows-latest-unstable"] include: # Add tracker-label based on use-tracker + # Add experimental flag based on docker-image - use-tracker: "no" tracker-label: "Without tracker" - use-tracker: "yes" tracker-label: "With tracker" - # Add experimental flag based on docker-image - docker-image: "core-windows-latest" experimental: false - docker-image: "core-windows-latest-unstable" @@ -391,11 +391,11 @@ jobs: docker-image: ["core-linux-latest", "core-linux-latest-unstable"] include: # Add tracker-label based on use-tracker + # Add experimental flag based on docker-image - use-tracker: "no" tracker-label: "Without tracker" - use-tracker: "yes" tracker-label: "With tracker" - # Add experimental flag based on docker-image - docker-image: "core-linux-latest" experimental: false - docker-image: "core-linux-latest-unstable" diff --git a/doc/changelog.d/2493.fixed.md b/doc/changelog.d/2493.fixed.md new file mode 100644 index 0000000000..473de2cce7 --- /dev/null +++ b/doc/changelog.d/2493.fixed.md @@ -0,0 +1 @@ +Docker launch method requires proper network resolution diff --git a/src/ansys/geometry/core/connection/docker_instance.py b/src/ansys/geometry/core/connection/docker_instance.py index 6bc9d19a5f..1c8cb22774 100644 --- a/src/ansys/geometry/core/connection/docker_instance.py +++ b/src/ansys/geometry/core/connection/docker_instance.py @@ -375,6 +375,7 @@ def _deploy_container( image=f"{pygeom_defaults.GEOMETRY_SERVICE_DOCKER_IMAGE}:{image.value[2]}", detach=True, auto_remove=True, + network_mode="bridge" if docker_os == "linux" else "nat", name=name, ports={"50051/tcp": port}, volumes=volumes, @@ -386,6 +387,9 @@ def _deploy_container( "ANSYS_GRPC_CERTIFICATES": "/certs" if image.value[1] == "linux" else "C:/certs", + "SERVER_ENDPOINT": "50051@0.0.0.0" + if image.value[2].startswith("windows") + else "", # This is mostly needed for DMS based images only }, command=f"--transport-mode={transport_mode}", ) @@ -397,6 +401,10 @@ def _deploy_container( raise RuntimeError( f"Geometry service Docker image error when initialized. Error: {err.explanation}" ) + except Exception as ex: # pragma: no cover + raise RuntimeError( + f"Geometry service Docker image could not be launched. Error: {str(ex)}" + ) # If the deployment went fine, this means that you have deployed the service. self._container = container