Skip to content

Dragonfly client can't download any images due to ?ns=docker.io param #4613

@Marnhiar

Description

@Marnhiar

Bug report:

When downloading images from docker.io dragonfly client is adding ?ns=docker.io param to the url and causing it to receive 400 Bad Request.

2026-02-11T04:08:54.325726375+00:00 ERROR download_task: dragonfly-client/src/grpc/dfdaemon_download.rs:339: download started failed by error: backend error: 400 Bad Request host_id="10.0.0.251-k8s-worker1" task_id="9739627526d74285cefbf02d43bcbc00fc946527670d43db2fa258e6082c876b" peer_id="10.0.0.251-k8s-worker1-25f59cad-2587-4c38-a9b3-ca1abf14aa52" url="https://index.docker.io/v2/library/nginx/blobs/sha256:9739627526d74285cefbf02d43bcbc00fc946527670d43db2fa258e6082c876b?ns=docker.io" remote_ip="127.0.0.1"
2026-02-11T04:08:54.326202957+00:00 ERROR handler:registry_mirror_http_handler:http_handler:proxy_via_dfdaemon: dragonfly-client/src/proxy/mod.rs:719: download task failed: Backend { message: "400 Bad Request", header: {"content-length": "127", "server": "cloudflare", "connection": "keep-alive", "cf-ray": "9cc0fcdbdb92da72-ULN", "date": "Wed, 11 Feb 2026 04:08:54 GMT", "content-type": "application/xml", "vary": "Accept-Encoding"}, status_code: Some(400) } url="/v2/library/nginx/blobs/sha256:9739627526d74285cefbf02d43bcbc00fc946527670d43db2fa258e6082c876b?ns=docker.io" method="GET" remote_ip="127.0.0.1"

Expected behavior:

Pulling new nginx image should work without problem and become seeded. ns param should be filtered by this fix from client v1.1.17. dragonflyoss/client#1580

How to reproduce it:

Containerd: v2.2.1
Kubernetes: v1.35.0
Values:

global:
  storageClass: "freenas-iscsi-csi"

manager:
  image:
    repository: dragonflyoss/manager
    tag: v2.4.1
  metrics:
    enable: true

scheduler:
  image:
    repository: dragonflyoss/scheduler
    tag: v2.4.1
  metrics:
    enable: true

seedClient:
  image:
    repository: dragonflyoss/client
    tag: v1.2.10
  metrics:
    enable: true

mysql:
  primary:
    startupProbe:
      failureThreshold: 30
      periodSeconds: 10

client:
  image:
    repository: dragonflyoss/client
    tag: v1.2.10
  metrics:
    enable: true
  dfinit:
    enable: true
    image:
      repository: dragonflyoss/dfinit
      tag: latest
    config:
      containerRuntime:
        containerd:
          configPath: /etc/containerd/config.toml
          registries:
            - hostNamespace: docker.io
              serverAddr: https://index.docker.io
              capabilities: ['pull', 'resolve']

Environment:

  • Dragonfly version: v2.4.1 Client: v1.2.10
  • OS: Ubuntu 24.04.3 LTS
  • Kernel (e.g. uname -a): 6.8.0-94-generic x86_64
  • Others:

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions