Skip to content

[Bug]: Bitbucket pipelines fail after upgrading from 4.0.0 to 4.1.0 #10

Open
@shainegordon

Description

Testcontainers version

4.1.0

Using the latest Testcontainers version?

Yes

Host OS

Linux

Host arch

x86

.NET version

9.0.102

Docker version

unknown

Docker info

unknown

What happened?

Today I updated to 4.1.0

Locally everything is fine, however, in bitbucket pipelines, TestContainer errors out.

I have a 4.0.0 rollback hotfix branch, and it works correctly.

The resource reaper is disabled in BitBucket

TestcontainersSettings.ResourceReaperEnabled = string.IsNullOrEmpty(Environment.GetEnvironmentVariable("BITBUCKET_BUILD_NUMBER"));

This is what our bitbucket-pipelines step looks like

  dotnetTest: &dotnetTest
    name: .NET Tests
    image: mcr.microsoft.com/dotnet/sdk:9.0
    caches:
      - dotnetcore
      - docker
    services:
      - docker
    script:
      - dotnet test --configuration Release

Relevant log output

pipeline logs:

  Error Message:
   OneTimeSetUp: Docker.DotNet.DockerApiException : Docker API responded with status code=Forbidden, response={"message":"authorization denied by plugin pipelines: Invalid request"}
  Stack Trace:
     at Docker.DotNet.DockerClient.HandleIfErrorResponseAsync(HttpStatusCode statusCode, HttpResponseMessage response, IEnumerable`1 handlers) in /_/src/Docker.DotNet/DockerClient.cs:line 492
   at Docker.DotNet.DockerClient.MakeRequestAsync[T](IEnumerable`1 errorHandlers, HttpMethod method, String path, IQueryString queryString, IRequestContent body, IDictionary`2 headers, TimeSpan timeout, CancellationToken token) in /_/src/Docker.DotNet/DockerClient.cs:line 257
   at Docker.DotNet.ContainerOperations.CreateContainerAsync(CreateContainerParameters parameters, CancellationToken cancellationToken) in /_/src/Docker.DotNet/Endpoints/ContainerOperations.cs:line 64
   at DotNet.Testcontainers.Clients.DockerContainerOperations.RunAsync(IContainerConfiguration configuration, CancellationToken ct) in /_/src/Testcontainers/Clients/DockerContainerOperations.cs:line 213
   at DotNet.Testcontainers.Clients.TestcontainersClient.RunAsync(IContainerConfiguration configuration, CancellationToken ct) in /_/src/Testcontainers/Clients/TestcontainersClient.cs:line 317
   at DotNet.Testcontainers.Containers.DockerContainer.UnsafeCreateAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 416
   at DotNet.Testcontainers.Containers.DockerContainer.StartAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 280

docker logs (for failed 4.1.0):

time="2025-01-17T12:11:42.079051162Z" level=info msg="API listen on [::]:2375"
time="2025-01-17T12:12:16Z" level=info msg="Pipelines plugin request authorization." allowed=false method=HEAD plugin=pipelines uri=/_ping
time="2025-01-17T12:12:16.898125640Z" level=error msg="AuthZRequest for HEAD /_ping returned error: authorization denied by plugin pipelines: "
time="2025-01-17T12:12:16Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/_ping
time="2025-01-17T12:12:16Z" level=info msg="Pipelines plugin request authorization." allowed=true method=POST plugin=pipelines uri="/v1.41/images/load?quiet=1"
time="2025-01-17T12:13:08Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/_ping
time="2025-01-17T12:13:09Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/info
time="2025-01-17T12:13:09Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/version
time="2025-01-17T12:13:09Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri="/images/postgres:15.3/json"
time="2025-01-17T12:13:09Z" level=info msg="Pipelines plugin request authorization." allowed=false method=POST plugin=pipelines uri=/containers/create
time="2025-01-17T12:13:09.305364386Z" level=error msg="AuthZRequest for POST /containers/create returned error: authorization denied by plugin pipelines: Invalid request"

docker logs (for success 4.0.0):

time="2025-01-17T12:53:01.210589617Z" level=info msg="API listen on [::]:2375"
time="2025-01-17T12:53:37Z" level=info msg="Pipelines plugin request authorization." allowed=false method=HEAD plugin=pipelines uri=/_ping
time="2025-01-17T12:53:37.088073667Z" level=error msg="AuthZRequest for HEAD /_ping returned error: authorization denied by plugin pipelines: "
time="2025-01-17T12:53:37Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/_ping
time="2025-01-17T12:53:37Z" level=info msg="Pipelines plugin request authorization." allowed=true method=POST plugin=pipelines uri="/v1.41/images/load?quiet=1"
time="2025-01-17T12:54:39Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/_ping
time="2025-01-17T12:54:39Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/info
time="2025-01-17T12:54:39Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri=/version
time="2025-01-17T12:54:40Z" level=info msg="Pipelines plugin request authorization." allowed=true method=GET plugin=pipelines uri="/images/postgres:15.3/json"
time="2025-01-17T12:54:40Z" level=info msg="Container create request." ArgsEscaped=false AttachStderr=false AttachStdin=false AttachStdout=false ExposedPorts="map[5432/tcp:{}]" Healthcheck="<nil>" Labels="map[org.testcontainers:true org.testcontainers.lang:dotnet org.testcontainers.resource-reaper-session:45040909-f480-4600-a849-e46f59de5546 org.testcontainers.session-id:45040909-f480-4600-a849-e46f59de5546 org.testcontainers.version:4.0.0+1a78654e9205d3ff01b807967a5408feec921622]" MacAddress= NetworkDisabled=false OnBuild="[]" OpenStdin=false StdinOnce=false StopSignal= StopTimeout="<nil>" Tty=false plugin=pipelines
time="2025-01-17T12:54:40Z" level=info msg="Container create request." AutoRemove=false BlkioDeviceReadBps="[]" BlkioDeviceReadIOps="[]" BlkioDeviceWriteBps="[]" BlkioDeviceWriteIOps="[]" BlkioWeight=0 BlkioWeightDevice="[]" CPUCount=0 CPUPercent=0 CPUPeriod=0 CPUQuota=0 CPURealtimePeriod=0 CPURealtimeRuntime=0 CPUShares=0 CapAdd="[]" CapDrop="[]" Cgroup= CgroupParent= ConsoleSize="[0 0]" ContainerIDFile= CpusetCpus= CpusetMems= DNS="[]" DNSOptions="[]" DNSSearch="[]" DeviceCgroupRules="[]" Devices="[]" ExtraHosts="[]" GroupAdd="[]" IOMaximumBandwidth=0 IOMaximumIOps=0 Init="<nil>" IpcMode= Isolations= KernelMemory=0 Links="[]" LogConfig="{ map[]}" MaskedPaths="[]" Memory=0 MemoryReservation=0 MemorySwap=0 MemorySwappiness="<nil>" Mounts="[]" NanoCPUs=0 NetworkMode=default OomKillDisable="<nil>" OomScoreAdj=0 PidMode= PidsLimit="<nil>" PortBindings="map[5432/tcp:[{0.0.0.0 }]]" Privileged=false PublishAllPorts=false ReadOnlyPaths="[]" RestartPolicy="{ 0}" Runtime= SecurityOpt="[]" ShmSize=0 StorageOpt="map[]" Sysctls="map[]" Ulimits="[]" UsernsMode= VolumeDriver= VolumesFrom="[]" plugin=pipelines
time="2025-01-17T12:54:40Z" level=info msg="Container create request." EndpointsConfig="map[]" plugin=pipelines
time="2025-01-17T12:54:40Z" level=info msg="Pipelines plugin request authorization." allowed=true method=POST plugin=pipelines uri=/containers/create

Additional information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions