Skip to content

TestDockerPluginSuite/TestPluginInstallImage test fails on Fedora 36 #43996

@Snorch

Description

@Snorch

Description

When I run TestDockerPluginSuite/TestPluginInstallImage test case on my Fedora 36 I see it failing:

docker_cli_plugins_test.go:232: assertion failed: expression is false: strings.Contains(out, `Encountered remote "application/vnd.docker.container.image.v1+json"(image) when fetching`)

Reproduce

On Fedora 36:

cat /etc/fedora-release
Fedora release 36 (Thirty Six)

With latest docker release:

docker --version
Docker version 20.10.17, build 100c701

Cloned latest release(beta) tag:

git describe HEAD
v22.06.0-beta.0-337-gd082bbcc05

Make docker build container:

make BIND_DIR=. shell

Run test:

hack/make.sh binary install-binary
dockerd -D &> docker.log &
TESTFLAGS='-test.run TestDockerPluginSuite/TestPluginInstallImage' hack/make.sh dynbinary test-integration

Result:

=== Failed
=== FAIL: amd64.integration-cli TestDockerPluginSuite/TestPluginInstallImage (1.19s)
time="2022-08-19T11:16:17Z" level=warning msg="reference for unknown type: application/vnd.docker.plugin.v1+json"
time="2022-08-19T11:16:17Z" level=warning msg="reference for unknown type: application/vnd.docker.plugin.v1+json" digest="sha256:1c153e94a4eb9475e449a68c715423334f084673cdeab0b0870592e6c04c5573" mediatype=application/vnd.docker.plugin.v1+json size=522
time="2022-08-19T11:16:17Z" level=warning msg="reference for unknown type: application/vnd.docker.plugin.v1+json"
time="2022-08-19T11:16:17Z" level=warning msg="reference for unknown type: application/vnd.docker.plugin.v1+json" digest="sha256:1c153e94a4eb9475e449a68c715423334f084673cdeab0b0870592e6c04c5573" mediatype=application/vnd.docker.plugin.v1+json size=522
    docker_cli_plugins_test.go:232: assertion failed: expression is false: strings.Contains(out, `Encountered remote "application/vnd.docker.container.image.v1+json"(image) when fetching`)
    --- FAIL: TestDockerPluginSuite/TestPluginInstallImage (1.19s)

=== FAIL: amd64.integration-cli TestDockerPluginSuite (1.20s)

DONE 2 tests, 2 failures in 1.254s
---> Making bundle: .integration-daemon-stop (in bundles/test-integration)
Removing test suite binaries
exiting test-integration
++ exit 1

Expected behavior

Test should PASS.

docker version

Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:03:59 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:39 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.7
  GitCommit:        0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc:
  Version:          1.1.3
  GitCommit:        v1.1.3-0-g6724737
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  compose: Docker Compose (Docker Inc., v2.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 29
 Server Version: 20.10.17
 Storage Driver: devicemapper
  Pool Name: docker-0:50-6941128-pool
  Pool Blocksize: 65.54kB
  Base Device Size: 10.74GB
  Backing Filesystem: xfs
  Udev Sync Supported: true
  Data file: /dev/loop0
  Metadata file: /dev/loop1
  Data loop file: /var/lib/docker/devicemapper/devicemapper/data
  Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
  Data Space Used: 26.63GB
  Data Space Total: 107.4GB
  Data Space Available: 80.74GB
  Metadata Space Used: 66.7MB
  Metadata Space Total: 2.147GB
  Metadata Space Available: 2.081GB
  Thin Pool Minimum Free Space: 10.74GB
  Deferred Removal Enabled: true
  Deferred Deletion Enabled: true
  Deferred Deleted Device Count: 4
  Library Version: 1.02.175 (2021-01-08)
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: active
  NodeID: q4k02uop382k4zroyp6xpo4wh
  Is Manager: true
  ClusterID: lktxprzxuhkxyw1awbrawkt1m
  Managers: 1
  Nodes: 1
  Default Address Pool: 10.0.0.0/8  
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 192.168.1.104
  Manager Addresses:
   192.168.1.104:2377
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc version: v1.1.3-0-g6724737
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.18.16-200.fc36.x86_64
 Operating System: Fedora Linux 36 (Workstation Edition)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.29GiB
 Name: turmoil
 ID: TF4B:EBNF:DBYL:2UEG:CBLQ:HUG6:SGY5:F5NK:K65E:BCXC:GOS3:AAXV
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release.
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

Additional Info

  1. We run same test in Virtuozzo containers and it fails the same.

  2. If I patch the code like this:

diff --git a/integration-cli/docker_cli_plugins_test.go b/integration-cli/docker_cli_plugins_test.go
index 8e6912fd1c..fd93db0399 100644
--- a/integration-cli/docker_cli_plugins_test.go
+++ b/integration-cli/docker_cli_plugins_test.go
@@ -228,6 +228,7 @@ func (ps *DockerPluginSuite) TestPluginInstallImage(c *testing.T) {
        dockerCmd(c, "push", repoName)
        
        out, _, err := dockerCmdWithError("plugin", "install", repoName)
+       fmt.Println("out:", out)
        assert.ErrorContains(c, err, "")
        assert.Assert(c, strings.Contains(out, `Encountered remote "application/vnd.docker.container.image.v1+json"(image) when fetching`))
 }

I manage to see out, it may be also useful:

out: Error response from daemon: application/vnd.docker.distribution.manifest.v1+prettyjws not supported

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/pluginsarea/testingkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions