spring-cloud / spring-cloud/spring-cloud-kubernetes

support running Fabric8IstioIT with colima

Open
#1,602 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

waiting-for-triage
Dominant language
Java
Stars
3.5k
Forks
1.1k
Avg merge
18h 36m
Merged PRs (30d)
18

Description

Describe the bug
I can see that Fabric8IstioIT runs in the workflow, but I'm having trouble executing it locally. First, I have to disable ryuk, then it still doesn't work on account of some resources. Are there some instructions I may be missing? I run install first. Note: I am running an M2 macbook (aarch64) and using colima.

Sample

ryuk enabled (default)

[INFO] Running org.springframework.cloud.kubernetes.fabric8.client.istio.Fabric8IstioIT
13:12:18.044 [main] INFO  org.testcontainers.images.PullPolicy - Image pull policy will be performed by: DefaultPullPolicy()
13:12:18.048 [main] INFO  org.testcontainers.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
13:12:18.264 [main] INFO  org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/adrian/.colima/default/docker.sock
13:12:18.267 [main] INFO  org.testcontainers.DockerClientFactory - Docker host IP address is 192.168.106.2
13:12:18.278 [main] INFO  org.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 24.0.9
  API Version: 1.43
  Operating System: Ubuntu 23.10
  Total Memory: 7922 MB
13:12:18.282 [main] INFO  org.testcontainers.DockerClientFactory - Checking the system...
13:12:18.282 [main] INFO  org.testcontainers.DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
13:12:18.302 [main] INFO  tc.rancher/k3s:v1.25.4-k3s1 - Creating container for image: rancher/k3s:v1.25.4-k3s1
13:12:18.349 [main] INFO  org.testcontainers.utility.RegistryAuthLocator - Credential helper/store (docker-credential-osxkeychain) does not have credentials for https://index.docker.io/v1/
13:12:18.352 [main] INFO  tc.testcontainers/ryuk:0.6.0 - Creating container for image: testcontainers/ryuk:0.6.0
13:12:18.407 [main] INFO  tc.testcontainers/ryuk:0.6.0 - Container testcontainers/ryuk:0.6.0 is starting: f55a49f5bd6f328e0709ce8155b559c9a763563487be704527956ed724036f19
13:12:18.629 [main] INFO  tc.testcontainers/ryuk:0.6.0 - Container testcontainers/ryuk:0.6.0 started in PT0.276852S
13:12:18.642 [testcontainers-ryuk] WARN  org.testcontainers.utility.RyukResourceReaper - Can not connect to Ryuk at 192.168.106.2:32773
java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682)
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:757)
	at org.testcontainers.utility.RyukResourceReaper.lambda$null$1(RyukResourceReaper.java:105)
	at org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
	at org.testcontainers.utility.RyukResourceReaper.lambda$maybeStart$2(RyukResourceReaper.java:101)
	at java.base/java.lang.Thread.run(Thread.java:1583)
13:12:18.910 [testcontainers-ryuk] WARN  org.testcontainers.utility.RyukResourceReaper - Can not connect to Ryuk at 192.168.106.2:32773

ryuk disabled

[INFO] Running org.springframework.cloud.kubernetes.fabric8.client.istio.Fabric8IstioIT
13:16:28.644 [main] INFO  org.testcontainers.images.PullPolicy - Image pull policy will be performed by: DefaultPullPolicy()
13:16:28.646 [main] INFO  org.testcontainers.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
13:16:28.853 [main] INFO  org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with Environment variables, system properties and defaults. Resolved dockerHost=unix:///Users/adrian/.colima/default/docker.sock
13:16:28.854 [main] INFO  org.testcontainers.DockerClientFactory - Docker host IP address is null
13:16:28.863 [main] INFO  org.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 24.0.9
  API Version: 1.43
  Operating System: Ubuntu 23.10
  Total Memory: 7922 MB
13:16:28.863 [main] WARN  org.testcontainers.utility.ResourceReaper - 
********************************************************************************
Ryuk has been disabled. This can cause unexpected behavior in your environment.
********************************************************************************
13:16:28.865 [main] INFO  org.testcontainers.DockerClientFactory - Checking the system...
13:16:28.865 [main] INFO  org.testcontainers.DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
13:16:28.884 [main] INFO  tc.rancher/k3s:v1.25.4-k3s1 - Creating container for image: rancher/k3s:v1.25.4-k3s1
13:16:28.930 [main] INFO  org.testcontainers.utility.RegistryAuthLocator - Credential helper/store (docker-credential-osxkeychain) does not have credentials for https://index.docker.io/v1/
13:16:28.940 [main] INFO  tc.alpine:3.16 - Pulling docker image: alpine:3.16. Please be patient; this may take some time but only needs to be done once.
13:16:32.664 [docker-java-stream-1037873389] INFO  tc.alpine:3.16 - Starting to pull image
13:16:32.681 [docker-java-stream-1037873389] INFO  tc.alpine:3.16 - Pulling image layers:  0 pending,  0 downloaded,  0 extracted, (0 bytes/0 bytes)
13:16:35.335 [docker-java-stream-1037873389] INFO  tc.alpine:3.16 - Pulling image layers:  0 pending,  1 downloaded,  0 extracted, (2 MB/2 MB)
13:16:35.442 [docker-java-stream-1037873389] INFO  tc.alpine:3.16 - Pulling image layers:  0 pending,  1 downloaded,  1 extracted, (2 MB/2 MB)
13:16:35.450 [docker-java-stream-1037873389] INFO  tc.alpine:3.16 - Pull complete. 1 layers, pulled in 2s (downloaded 2 MB at 1 MB/s)
13:16:35.450 [main] INFO  tc.alpine:3.16 - Image alpine:3.16 pull took PT6.510444S
13:16:36.941 [main] INFO  tc.rancher/k3s:v1.25.4-k3s1 - Container rancher/k3s:v1.25.4-k3s1 is starting: 2c4d57bd83fdb42c2112dcd3d726c8609c840546fa0b98a65ecacb88814e720a
13:16:55.749 [main] INFO  tc.rancher/k3s:v1.25.4-k3s1 - Container rancher/k3s:v1.25.4-k3s1 started in PT26.865397S
13:17:01.057 [awaitility-thread] INFO  org.springframework.cloud.kubernetes.integration.tests.commons.Commons - error is : ctr: open /var/folders/vd/1cf8zdb1721f4z5rjggy8bp40000gn/T/spring-cloud-kubernetes-fabric8-client-istio.tar: no such file or directory

cc @wind57 as seems you have been able to get this working. ps I have already tried upgrading the docker and testcontainers drivers. PS the istio, k3s, alpine, etc versions in this test are very out of date.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Fabric8IstioIT entry point and the workflow that runs it, then inspect the Testcontainers and Colima setup reflected in the logs. Trace the Commons handling of the temporary spring-cloud-kubernetes-fabric8-client-istio.tar path and compare it with the local run; done means the integration test runs locally on the reported aarch64 Colima setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, kubernetes
Domain
devops, infrastructure, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.