OS-8675

imgadm segfaults importing docker image

Status:
Resolved
Created:
2025-06-29T19:44:20.344-0400
Updated:
2025-07-11T08:26:38.959-0400

Description

imgadm is segfaulting when a Docker image from a V2 repository is imported.

Uncaught TypeError: Cannot call method 'map' of undefined

FROM
/usr/img/lib/sources/docker.js:235:50
/usr/img/node_modules/docker-registry-client/lib/registry-client-v2.js:1351:9
next (/usr/img/node_modules/vasync/lib/vasync.js:201:4)
_afterCall (/usr/img/node_modules/docker-registry-client/lib/registry-client-v2.js:1347:17)
IncomingMessage.finish (/usr/img/node_modules/docker-registry-client/lib/docker-json-client.js:171:13)
IncomingMessage.g (events.js:180:16)
IncomingMessage.EventEmitter.emit (events.js:117:20)
_stream_readable.js:920:16
process._tickCallback (node.js:415:13)
Abort (core dumped)

Comments (9)

Carlos Neira commented on 2025-06-30T09:58:06.722-0400:

A community member found this issue, to reproduce this is really straight forward :

imgadm sources --add-docker-hub
imgadm import gitlab/gitlab-ee:latest

Carlos Neira commented on 2025-06-30T12:00:30.211-0400 (edited 2025-06-30T12:30:27.162-0400):

Looking at the coredump using mdb v8, show us what we knew all along, the image has no layers.


> ::jsstack -vn0
native: libc.so.1`_lwp_kill+0x15
native: libc.so.1`raise+0x2b
native: libc.so.1`abort+0x79
        (1 internal frame elided)
native: v8::internal::Isolate::DoThrow+0x42d
native: v8::internal::Isolate::Throw+0x14
native: v8::internal::IC::TypeError+0x5b
native: v8::internal::CallIC_Miss+0x107
        (1 internal frame elided)
        (1 internal frame elided)
js:     <anonymous> (as <anon>)
          file: /usr/img/lib/sources/docker.js
          posn: line 198
          this: 889096c1 (<unknown>)
          arg1: 88908091 (Oddball: "undefined")
          arg2: 8ef54c71 (JSObject: Object)
          arg3: 8ef527c5 (JSObject: IncomingMessage)
        (1 internal frame elided)
js:     <anonymous> (as <anon>)
          file: /usr/img/node_modules/docker-registry-client/lib/registry-client-v2.js
          posn: line 1350
          this: 889096c1 (<unknown>)
          arg1: 88908091 (Oddball: "undefined")
        (1 internal frame elided)
js:     <anonymous> (as next)
          file: /usr/img/node_modules/vasync/lib/vasync.js
          posn: line 179
          this: 889096c1 (<unknown>)
          arg1: 88908091 (Oddball: "undefined")
          arg2: 88908091 (Oddball: "undefined")
        (1 internal frame elided)
js:     _afterCall
          file: /usr/img/node_modules/docker-registry-client/lib/registry-client-v2.js
          posn: line 1279
          this: 889096c1 (<unknown>)
          arg1: 88908081 (Oddball: "null")
          arg2: 8ef469e5 (JSObject: ClientRequest)
          arg3: 8ef527c5 (JSObject: IncomingMessage)
          arg4: 8ef54c71 (JSObject: Object)
          arg5: 8ef536fd (JSObject: Buffer)
js:     finish
          file: /usr/img/node_modules/docker-registry-client/lib/docker-json-client.js
          posn: line 93
          this: 8ef527c5 (JSObject: IncomingMessage)
        (1 internal frame elided)
js:     g
          file: events.js
          posn: line 175
          this: 8ef527c5 (JSObject: IncomingMessage)
        (1 internal frame elided)
js:     <anonymous> (as EventEmitter.emit)
          file: events.js
          posn: line 53
          this: 8ef527c5 (JSObject: IncomingMessage)
          arg1: aef14b65 (SeqAsciiString)
js:     <anonymous> (as <anon>)
          file: _stream_readable.js
          posn: line 915
          this: 889096c1 (<unknown>)
js:     _tickCallback
          file: node.js
          posn: line 395
          this: b12fff85 (JSObject: process)
        (1 internal frame elided)
        (1 internal frame elided)
native: v8::internal::Invoke+0x100
native: v8::internal::Execution::Call+0xa2
native: v8::Function::Call+0xd8
native: node::MakeCallback+0x151
native: node::MakeCallback+0x83
native: node::StreamWrap::OnReadCommon+0x113
native: node::StreamWrap::OnRead+0x19
native: uv__stream_io+0x17d
native: uv__io_poll+0x2c5
native: uv_run+0xc9
native: node::Start+0x132
native: main+0x1b
native: _start_crt+0x9a
native: _start+0x1a
> 8ef54c71::whatis
8ef54c71 is in [ unknown ] [8ec00000,8f000000)
> 8ef54c71::jsprint
{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "manifests": [
        [...],
        [...],
    ],
}
>

SchemaVersion 2 does not have layers anymore as the old V1 spec, according to this spec image-index.md?plain=1 A cursory review shows that the manifest array should contain a digest per architecture.

Carlos Neira commented on 2025-06-30T14:01:39.828-0400:

Seems this bug was already reported in 1115 by the same user.

> 8ef54c71::jsprint -d 4
{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "manifests": [
        {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:f9278fe35b7ca6b8c1faaeaca201467aad03f598eeb53fd3457b3d8b52b86c4b",
            "size": 2072,
            "platform": {
                "architecture": "amd64",
                "os": "linux",
            },
        },
        {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:b46ed3cf38d3e6da6645c98470d57d768f2a4bff0382b9ca6f25de9bbb2a8df1",
            "size": 2072,
            "platform": {
                "architecture": "arm64",
                "os": "linux",
            },
        },
    ],
}
>

manifest.list.v2+json is not currently supported in imgadm, we could implement what’s missing, or just return

 'Unsupported docker mediaType' 

to avoid dumping core on this requests.

Carlos Neira commented on 2025-06-30T15:32:28.385-0400:

Standalone SmartOS only supports docker registry version 1, so if the imported image uses v2, we just cancel the operation and notify the user.

[root@cl-east-00 ~]# imgadm import gitlab/gitlab-ee:latest
imgadm import: error (InvalidDockerInfo): Unsupported docker mediaType: application/vnd.docker.distribution.manifest.list.v2+json
[root@cl-east-00 ~]#

Carlos Neira commented on 2025-07-01T13:11:29.644-0400 (edited 2025-07-01T13:13:45.373-0400):

The fundamental change in the Docker repository V2 JSON schema, which broke our current Docker client, is how to obtain a valid manifest image-index.md?plain=1 manifests are now a list per architecture and only contain a reference to the actual manifest, as seen using mdb. We need to filter by architecture ‘amd64’ and os === ‘linux’ to get the digest of the manifest, then use that digest to get the actual manifest with its layers as usual.

> 8ef54c71::jsprint -d 4
{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
    "manifests": [
        {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:f9278fe35b7ca6b8c1faaeaca201467aad03f598eeb53fd3457b3d8b52b86c4b",
            "size": 2072,
            "platform": {
                "architecture": "amd64",
                "os": "linux",
            },
        },
        {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:b46ed3cf38d3e6da6645c98470d57d768f2a4bff0382b9ca6f25de9bbb2a8df1",
            "size": 2072,
            "platform": {
                "architecture": "arm64",
                "os": "linux",
            },
        },
    ],
}

A solution that takes this into account is already available here : 1118 However, it needs some rework. I made a few modifications to handle errors and removed some bugs. After applying those changes and generating a new PI, here are the results.

Case 1: User attempts to import a Docker image from a V2 repo (dockermediaType is application/vnd.docker.distribution.manifest.list.v2+json)

[root@cl-east-00 ~]# imgadm import gitlab/gitlab-ee:latest
Importing a930b954-1c37-35b3-203d-3d7e21320cb2 (docker.io/gitlab/gitlab-ee:latest) from "https://docker.io"
Gather image a930b954-1c37-35b3-203d-3d7e21320cb2 ancestry
Must download and install 9 images
Downloaded image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (5.1 KiB)
Downloaded image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (135.0 B)
Downloaded image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (139.0 B)
Downloaded image 00f4c078-4685-f520-e7c8-720ee499808a (302.0 B)
Downloaded image 11c9f61d-78b8-795c-1356-ded46a8605e0 (159.0 B)
Downloaded image f76fa835-2089-b9ae-c8d0-2a1395c67299 (510.0 KiB)
Downloaded image 8487843f-bb91-763c-0f02-2a875abd814e (17.5 MiB)
Downloaded image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (28.3 MiB)
Imported image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (docker-layer@d9d352c11bbd)
Imported image 11c9f61d-78b8-795c-1356-ded46a8605e0 (docker-layer@2f23b04248ed)
Imported image 8487843f-bb91-763c-0f02-2a875abd814e (docker-layer@858c911eb42a)
Imported image f76fa835-2089-b9ae-c8d0-2a1395c67299 (docker-layer@7315ecdce7ae)
Imported image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (docker-layer@88441d96a0b1)
Imported image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (docker-layer@bb37d87e79fb)
Imported image 00f4c078-4685-f520-e7c8-720ee499808a (docker-layer@06406c491519)
Imported image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (docker-layer@5e4d94e32638)
Downloaded image a930b954-1c37-35b3-203d-3d7e21320cb2 (1.7 GiB)
Download 9 images                                                  [=================================================================================================================================================================>] 100%   1.77GB   4.46MB/s  6m46s
Imported image a930b954-1c37-35b3-203d-3d7e21320cb2 (docker-layer@cdb5c6269b49)

Checking the information from the newly downloaded image

[root@cl-east-00 /opt/payloads]# imgadm info a930b954-1c37-35b3-203d-3d7e21320cb2
{
  "manifest": {
    "v": 2,
    "uuid": "a930b954-1c37-35b3-203d-3d7e21320cb2",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "cdb5c6269b49",
    "disabled": false,
    "public": true,
    "published_at": "2025-06-24T18:14:10.821Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "gitlab/gitlab-ee",
      "docker:id": "sha256:cdb5c6269b498ce242373ad08caee89a7eda65d4b5668c9cac73bb197ad2a035",
      "docker:architecture": "amd64",
      "docker:tag:latest": true,
      "docker:config": {
        "Cmd": [
          "/assets/init-container"
        ],
        "Env": [
          "PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          "LANG=C.UTF-8",
          "EDITOR=/bin/vi",
          "GITLAB_ALLOW_SHA1_RSA=false",
          "TERM=xterm"
        ]
      }
    },
    "origin": "7e432ca7-26bf-e94f-50b1-bfb1c4999e11"
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

A minimal JSON payload to provision this container image is the following

[root@cl-east-00 /opt/payloads]# cat gitlab.json
{
        "alias": "gitlab.example.com",
        "hostname": "gitlab.example.com",
        "image_uuid": "a930b954-1c37-35b3-203d-3d7e21320cb2",
        "brand": "lx",
        "docker": true,
        "kernel_version": "5.4.0",
        "max_physical_memory": 8192,
        "maintain_resolvers": true,
        "resolvers": [
                "8.8.8.8"
        ],
  "nics": [
    {
      "nic_tag": "admin",
      "ips": [
        "dhcp",
        "addrconf"
      ]
    }
  ],

        "quota":100,
        "internal_metadata": {
                "docker:cmd": "[\"/assets/init-container\"]",
                "docker:env" :
                "[ \"PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\", 
                \"LANG=C.UTF-8\",\"GITLAB_ALLOW_SHA1_RSA=false\", 
                \"TERM=xterm\" ]"
        }
}

Provisioning works as expected

root@cl-east-00 /opt/payloads]# vmadm validate create -f gitlab.json
VALID 'create' payload for lx brand VMs.
[root@cl-east-00 /opt/payloads]# vmadm  create -f gitlab.json
Successfully created VM a77d92c0-429a-4a86-a011-27c2d7d4e8b3
[root@cl-east-00 /opt/payloads]# vmadm list
UUID                                  TYPE  RAM      STATE             ALIAS
a77d92c0-429a-4a86-a011-27c2d7d4e8b3  LX    8192     running           gitlab.example.com
[root@cl-east-00 /opt/payloads]# UUID=a77d92c0-429a-4a86-a011-27c2d7d4e8b3
[root@cl-east-00 /opt/payloads]# zlogin -i ${UUID} /native/usr/vm/sbin/dockerexec /bin/sh
[Connected to zone 'a77d92c0-429a-4a86-a011-27c2d7d4e8b3' pts/3]
2025-07-01T16:27:56.774Z INFO no metadata for 'docker:user'
2025-07-01T16:27:56.777Z INFO passwd.pw_name: root
2025-07-01T16:27:56.778Z INFO passwd.pw_uid: 0
2025-07-01T16:27:56.778Z INFO passwd.pw_gid: 0
2025-07-01T16:27:56.778Z INFO passwd.pw_dir: /root
2025-07-01T16:27:56.779Z INFO group.gr_name: root
2025-07-01T16:27:56.780Z INFO group.gr_gid: 0
2025-07-01T16:27:56.782Z INFO no metadata for 'docker:workdir'
2025-07-01T16:27:56.783Z WORKDIR '/'
2025-07-01T16:27:56.786Z INFO no metadata for 'docker:linkEnv'
2025-07-01T16:27:56.796Z MDATA docker:env=[ "PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8","GITLAB_ALLOW_SHA1_RSA=false", "TERM=xterm" ]
2025-07-01T16:27:56.797Z ENV[0] TERM=xterm
2025-07-01T16:27:56.797Z ENV[1] HOME=/root
2025-07-01T16:27:56.797Z ENV[2] PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-07-01T16:27:56.798Z ENV[3] LANG=C.UTF-8
2025-07-01T16:27:56.798Z ENV[4] GITLAB_ALLOW_SHA1_RSA=false
2025-07-01T16:27:56.799Z DROP PRIVS
2025-07-01T16:27:56.800Z EXEC
# exit

Case 2: User attempts to use imgadm to import a Docker image from a V1 repo (Regression testing)

[root@cl-east-00 ~]# imgadm import docker.io/linuxserver/unifi-network-application:latest
Importing fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (docker.io/linuxserver/unifi-network-application:latest) from "https://docker.io"
Gather image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b ancestry
Must download and install 11 images
Downloaded image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (32.0 B)
Downloaded image ab14184d-fe8f-02a9-71a7-16ce421ea6f5 (4.5 KiB)
Downloaded image 0e9943b7-56b2-2a6e-131a-d961b3e0de52 (2.5 KiB)
Downloaded image f8da6772-cb0e-14e9-5b5b-6853c99cb366 (428.0 B)
Downloaded image f25c3c00-3af3-ea6b-639d-2b91ea4a3c8c (273.0 B)
Downloaded image e5ed586e-3477-c3d0-fbb5-d569f9d5bd83 (1.3 KiB)
Downloaded image 36e71a55-8141-5df1-94ec-507c79310317 (702.0 B)
Downloaded image f98940f3-baf5-5f12-be91-663f40d1f0c4 (6.0 KiB)
Downloaded image d870c3d3-631f-8a9a-6a3b-8d462316aff8 (14.7 MiB)
Downloaded image f4c27730-65be-2fbc-f5fd-8f57c804737e (31.4 MiB)
Imported image f4c27730-65be-2fbc-f5fd-8f57c804737e (docker-layer@c11abe77d133)
Imported image f98940f3-baf5-5f12-be91-663f40d1f0c4 (docker-layer@e1cde46db0e1)
Imported image e5ed586e-3477-c3d0-fbb5-d569f9d5bd83 (docker-layer@dfddd615fdd1)
Downloaded image 5eacbe12-cd71-51d8-0c4c-7b6ffde2b447 (210.9 MiB)
Download 11 images                                                 [=================================================================================================================================================================>] 100% 257.17MB   4.45MB/s    57s
Imported image 36e71a55-8141-5df1-94ec-507c79310317 (docker-layer@c8040147973c)
Imported image f8da6772-cb0e-14e9-5b5b-6853c99cb366 (docker-layer@fd656750138d)
Imported image f25c3c00-3af3-ea6b-639d-2b91ea4a3c8c (docker-layer@ae97abbbc3e3)
Imported image d870c3d3-631f-8a9a-6a3b-8d462316aff8 (docker-layer@7d5bfd2bc277)
Imported image ab14184d-fe8f-02a9-71a7-16ce421ea6f5 (docker-layer@f51bf473aac8)
Imported image 5eacbe12-cd71-51d8-0c4c-7b6ffde2b447 (docker-layer@04462c7136ca)
Imported image 0e9943b7-56b2-2a6e-131a-d961b3e0de52 (docker-layer@c1f91797cb88)
Imported image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (docker-layer@4f4fb700ef54)

Case 3: User attempts to import a Docker image with an oci.imageindex mediatype image-index.md

[root@cl-east-00 ~]# imgadm import docker.io/linuxserver/unifi-network-application:latest
Importing fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (docker.io/linuxserver/unifi-network-application:latest) from "https://docker.io"
Gather image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b ancestry
Must download and install 11 images
Downloaded image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (32.0 B)
Downloaded image ab14184d-fe8f-02a9-71a7-16ce421ea6f5 (4.5 KiB)
Downloaded image 0e9943b7-56b2-2a6e-131a-d961b3e0de52 (2.5 KiB)
Downloaded image f8da6772-cb0e-14e9-5b5b-6853c99cb366 (428.0 B)
Downloaded image f25c3c00-3af3-ea6b-639d-2b91ea4a3c8c (273.0 B)
Downloaded image e5ed586e-3477-c3d0-fbb5-d569f9d5bd83 (1.3 KiB)
Downloaded image 36e71a55-8141-5df1-94ec-507c79310317 (702.0 B)
Downloaded image f98940f3-baf5-5f12-be91-663f40d1f0c4 (6.0 KiB)
Downloaded image d870c3d3-631f-8a9a-6a3b-8d462316aff8 (14.7 MiB)
Downloaded image f4c27730-65be-2fbc-f5fd-8f57c804737e (31.4 MiB)
Imported image f4c27730-65be-2fbc-f5fd-8f57c804737e (docker-layer@c11abe77d133)
Imported image f98940f3-baf5-5f12-be91-663f40d1f0c4 (docker-layer@e1cde46db0e1)
Imported image e5ed586e-3477-c3d0-fbb5-d569f9d5bd83 (docker-layer@dfddd615fdd1)
Downloaded image 5eacbe12-cd71-51d8-0c4c-7b6ffde2b447 (210.9 MiB)
Download 11 images                                                 [=================================================================================================================================================================>] 100% 257.17MB   4.45MB/s    57s
Imported image 36e71a55-8141-5df1-94ec-507c79310317 (docker-layer@c8040147973c)
Imported image f8da6772-cb0e-14e9-5b5b-6853c99cb366 (docker-layer@fd656750138d)
Imported image f25c3c00-3af3-ea6b-639d-2b91ea4a3c8c (docker-layer@ae97abbbc3e3)
Imported image d870c3d3-631f-8a9a-6a3b-8d462316aff8 (docker-layer@7d5bfd2bc277)
Imported image ab14184d-fe8f-02a9-71a7-16ce421ea6f5 (docker-layer@f51bf473aac8)
Imported image 5eacbe12-cd71-51d8-0c4c-7b6ffde2b447 (docker-layer@04462c7136ca)
Imported image 0e9943b7-56b2-2a6e-131a-d961b3e0de52 (docker-layer@c1f91797cb88)
Imported image fd050d0f-0dbe-01b1-5f7d-f9527d693c5b (docker-layer@4f4fb700ef54)

Carlos Neira commented on 2025-07-01T15:08:39.807-0400:

@Dan McDonald found a new test case!.

Case 4: User attempts to import a 386 Docker image from a V2 repo (dockermediaType is application/vnd.docker.distribution.manifest.list.v2+json)

[root@cl-east-00 ~]# imgadm import docker.io/i386/alpine:3
Importing c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker.io/i386/alpine:3) from "https://docker.io"
Gather image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f ancestry
Must download and install 1 image
Downloaded image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (3.4 MiB)
Download 1 image                                                   [================================================================================================================================================================>] 100%   3.45MB 1018.83KB/s     3s
Imported image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker-layer@c787620501b7)
[root@cl-east-00 ~]# imgadm list --docker
UUID                                  REPOSITORY                             TAG     IMAGE_ID      CREATED
c18b24fb-eec1-c459-2ab5-8fea73a0dd2f  i386/alpine                            3       sha256:c7876  2025-05-30T16:20:41Z
a930b954-1c37-35b3-203d-3d7e21320cb2  gitlab/gitlab-ee                       latest  sha256:cdb5c  2025-06-24T18:14:10Z
daba6792-2ca3-2cb3-a228-8cdfbce58c03  linuxserver/unifi-network-application  latest  sha256:4f4fb  2025-07-01T17:39:33Z
[root@cl-east-00 ~]# cd /opt/payloads/
[root@cl-east-00 /opt/payloads]# vi 386.json
[root@cl-east-00 /opt/payloads]# imgadm info c18b24fb-eec1-c459-2ab5-8fea73a0dd2f
{
  "manifest": {
    "v": 2,
    "uuid": "c18b24fb-eec1-c459-2ab5-8fea73a0dd2f",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "c787620501b7",
    "disabled": false,
    "public": true,
    "published_at": "2025-05-30T16:20:41.000Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "i386/alpine",
      "docker:id": "sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993",
      "docker:architecture": "386",
      "docker:tag:3": true,
      "docker:config": {
        "Cmd": [
          "/bin/sh"
        ],
        "Env": [
          "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "WorkingDir": "/"
      }
    }
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

Creating a minimal JSON for provisioning

[root@cl-east-00 /opt/payloads]# cat 386.json

{
        "alias": "alpine386",
        "hostname": "alpine386",
        "image_uuid": "c18b24fb-eec1-c459-2ab5-8fea73a0dd2f",
        "brand": "lx",
        "docker": true,
        "kernel_version": "5.4.0",
        "max_physical_memory": 128,
        "maintain_resolvers": true,
        "resolvers": [
                "8.8.8.8"
        ],
  "nics": [
    {
      "nic_tag": "admin",
      "ips": [
        "dhcp",
        "addrconf"
      ]
    }
  ],

        "quota":100,
        "internal_metadata": {
                "docker:cmd": "[\"sleep\", \"1d\"]",
                "docker:env" :
                "[ \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\", \"TERM=xterm\" ]",
                "workingdir": "/"
        }
}

Provisioning works

[root@cl-east-00 /opt/payloads]# vmadm list
UUID                                  TYPE  RAM      STATE             ALIAS
5a9c0bee-bc0a-49fd-abc5-8ae8cfcedf78  LX    128      running           alpine386

[root@cl-east-00 /opt/payloads]# UUID=5a9c0bee-bc0a-49fd-abc5-8ae8cfcedf78
[root@cl-east-00 /opt/payloads]# zlogin -i ${UUID} /native/usr/vm/sbin/dockerexec /bin/sh
[Connected to zone '5a9c0bee-bc0a-49fd-abc5-8ae8cfcedf78' pts/3]
2025-07-01T19:06:34.073Z INFO no metadata for 'docker:user'
2025-07-01T19:06:34.076Z INFO passwd.pw_name: root
2025-07-01T19:06:34.076Z INFO passwd.pw_uid: 0
2025-07-01T19:06:34.076Z INFO passwd.pw_gid: 0
2025-07-01T19:06:34.076Z INFO passwd.pw_dir: /root
2025-07-01T19:06:34.078Z INFO group.gr_name: root
2025-07-01T19:06:34.078Z INFO group.gr_gid: 0
2025-07-01T19:06:34.080Z INFO no metadata for 'docker:workdir'
2025-07-01T19:06:34.081Z WORKDIR '/'
2025-07-01T19:06:34.083Z INFO no metadata for 'docker:linkEnv'
2025-07-01T19:06:34.088Z MDATA docker:env=[ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "TERM=xterm" ]
2025-07-01T19:06:34.089Z ENV[0] TERM=xterm
2025-07-01T19:06:34.089Z ENV[1] HOME=/root
2025-07-01T19:06:34.089Z ENV[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-07-01T19:06:34.090Z DROP PRIVS
2025-07-01T19:06:34.091Z EXEC
/ # ls
bin     dev     etc     home    lib     media   mnt     native  opt     proc    root    run     sbin    srv     sys     system  tmp     usr     var
/ # exit

Carlos Neira commented on 2025-07-07T17:58:44.388-0400 (edited 2025-07-07T22:26:02.296-0400):

After doing more research, I discovered that support for V2 repositories is already in place (DOCKER-1104); what we need is support for manifest lists. Initially, I considered simply updating the docker-registry-client version in imgadm(8), but I found out that the version we use has differences from the official 3.2.10 release on GitHub.

To minimize impact and reduce the amount of work needed to support multi-architecture manifests, I chose a lower-risk approach: adding support directly to lib/sources/docker.js and patching the node-docker-registry-client that we currently ship with SmartOS.

Tests:

Case 1: User attempts to import a 386 Docker image from a V2 repo ( this only works in standalone SmartOS, the current node-docker-registry-client is hard-coded to only support ‘amd64’)

[root@cl-east-00 ~]# imgadm import docker.io/i386/alpine:3
Importing c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker.io/i386/alpine:3) from "https://docker.io"
Gather image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f ancestry
Must download and install 1 image
Downloaded image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (3.4 MiB)
Download 1 image                                                   [=================================================================================================================================================================>] 100%   3.45MB   1.20MB/s     2s
Imported image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker-layer@c787620501b7)
[root@cl-east-00 ~]# imgadm info c18b24fb-eec1-c459-2ab5-8fea73a0dd2f
{
  "manifest": {
    "v": 2,
    "uuid": "c18b24fb-eec1-c459-2ab5-8fea73a0dd2f",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "c787620501b7",
    "disabled": false,
    "public": true,
    "published_at": "2025-05-30T16:20:41.000Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "i386/alpine",
      "docker:id": "sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993",
      "docker:architecture": "386",
      "docker:tag:3": true,
      "docker:config": {
        "Cmd": [
          "/bin/sh"
        ],
        "Env": [
          "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "WorkingDir": "/"
      }
    }
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

Case 2: User attempts to import a Docker image from a V2 repo (dockermediaType is application/vnd.docker.distribution.manifest.list.v2+json)

[root@cl-east-00 ~]#  imgadm import gitlab/gitlab-ee:latest
Importing a930b954-1c37-35b3-203d-3d7e21320cb2 (docker.io/gitlab/gitlab-ee:latest) from "https://docker.io"
Gather image a930b954-1c37-35b3-203d-3d7e21320cb2 ancestry
Must download and install 9 images
Downloaded image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (5.1 KiB)
Downloaded image 00f4c078-4685-f520-e7c8-720ee499808a (302.0 B)
Downloaded image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (139.0 B)
Downloaded image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (135.0 B)
Downloaded image 11c9f61d-78b8-795c-1356-ded46a8605e0 (159.0 B)
Downloaded image f76fa835-2089-b9ae-c8d0-2a1395c67299 (510.0 KiB)
Downloaded image 8487843f-bb91-763c-0f02-2a875abd814e (17.5 MiB)
Downloaded image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (28.3 MiB)
Imported image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (docker-layer@d9d352c11bbd)
Imported image 11c9f61d-78b8-795c-1356-ded46a8605e0 (docker-layer@2f23b04248ed)
Imported image 8487843f-bb91-763c-0f02-2a875abd814e (docker-layer@858c911eb42a)
Imported image f76fa835-2089-b9ae-c8d0-2a1395c67299 (docker-layer@7315ecdce7ae)
Imported image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (docker-layer@88441d96a0b1)
Imported image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (docker-layer@bb37d87e79fb)
Imported image 00f4c078-4685-f520-e7c8-720ee499808a (docker-layer@06406c491519)
Imported image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (docker-layer@5e4d94e32638)
Downloaded image a930b954-1c37-35b3-203d-3d7e21320cb2 (1.7 GiB)
Download 9 images                                                  [=================================================================================================================================================================>] 100%   1.77GB   5.67MB/s  5m19s





Imported image a930b954-1c37-35b3-203d-3d7e21320cb2 (docker-layer@cdb5c6269b49)
[root@cl-east-00 ~]#
[root@cl-east-00 ~]#
[root@cl-east-00 ~]#
[root@cl-east-00 ~]#
[root@cl-east-00 ~]#
[root@cl-east-00 ~]# imgadm info a930b954-1c37-35b3-203d-3d7e21320cb2
{
  "manifest": {
    "v": 2,
    "uuid": "a930b954-1c37-35b3-203d-3d7e21320cb2",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "cdb5c6269b49",
    "disabled": false,
    "public": true,
    "published_at": "2025-06-24T18:14:10.821Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "gitlab/gitlab-ee",
      "docker:id": "sha256:cdb5c6269b498ce242373ad08caee89a7eda65d4b5668c9cac73bb197ad2a035",
      "docker:architecture": "amd64",
      "docker:tag:latest": true,
      "docker:config": {
        "Cmd": [
          "/assets/init-container"
        ],
        "Env": [
          "PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          "LANG=C.UTF-8",
          "EDITOR=/bin/vi",
          "GITLAB_ALLOW_SHA1_RSA=false",
          "TERM=xterm"
        ]
      }
    },
    "origin": "7e432ca7-26bf-e94f-50b1-bfb1c4999e11"
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

Case 3: User attempts to use imgadm to import a Docker image from a V2 repo with single manifest (Regression testing)

[root@cl-east-00 ~]# imgadm import docker.io/linuxserver/unifi-network-application:latest
Importing daba6792-2ca3-2cb3-a228-8cdfbce58c03 (docker.io/linuxserver/unifi-network-application:latest) from "https://docker.io"
Gather image daba6792-2ca3-2cb3-a228-8cdfbce58c03 ancestry
Must download and install 11 images
Downloaded image 0f56fd6e-2f31-e7ed-bd12-ce2c139680c6 (2.5 KiB)
Downloaded image 5cd234ab-39b9-df8d-9ae4-5707171bc91a (4.5 KiB)
Downloaded image daba6792-2ca3-2cb3-a228-8cdfbce58c03 (32.0 B)
Downloaded image 1bde9af1-245b-2a48-439d-866b82c49ec2 (273.0 B)
Downloaded image 25ff12cf-853c-f0e1-9c53-e26a729f5df5 (428.0 B)
Downloaded image 0938340b-5d24-318b-300f-ae0cbe787f8b (701.0 B)
Downloaded image 3ff1ac8b-6d46-355e-f891-2fd5acfae486 (6.0 KiB)
Downloaded image 0aaec62c-58b9-87d5-f6ff-6c4a3eaeb072 (1.3 KiB)
Downloaded image d308047c-5a28-458f-1f1c-86f500fc5bf5 (14.1 MiB)
Downloaded image 7588c2ea-3fff-73e1-7874-aeacb3c02251 (31.4 MiB)
Imported image 7588c2ea-3fff-73e1-7874-aeacb3c02251 (docker-layer@359d37b8afcc)
Imported image 3ff1ac8b-6d46-355e-f891-2fd5acfae486 (docker-layer@e1cde46db0e1)
Imported image 0aaec62c-58b9-87d5-f6ff-6c4a3eaeb072 (docker-layer@440d18687fc0)
Imported image 0938340b-5d24-318b-300f-ae0cbe787f8b (docker-layer@6436cd88e3b8)
Downloaded image 38b0962a-bd04-6982-014d-3853b50ec84a (210.9 MiB)
Download 11 images                                                 [=================================================================================================================================================================>] 100% 256.55MB   4.49MB/s    57s
Imported image 25ff12cf-853c-f0e1-9c53-e26a729f5df5 (docker-layer@7f31355f2856)
Imported image 1bde9af1-245b-2a48-439d-866b82c49ec2 (docker-layer@d9b525770456)
Imported image d308047c-5a28-458f-1f1c-86f500fc5bf5 (docker-layer@255deeaccdd1)
Imported image 5cd234ab-39b9-df8d-9ae4-5707171bc91a (docker-layer@91e8040de27e)
Imported image 38b0962a-bd04-6982-014d-3853b50ec84a (docker-layer@00e7e182bc28)
Imported image 0f56fd6e-2f31-e7ed-bd12-ce2c139680c6 (docker-layer@93b99fe6c46d)
Imported image daba6792-2ca3-2cb3-a228-8cdfbce58c03 (docker-layer@4f4fb700ef54)
[root@cl-east-00 ~]# imgadm info daba6792-2ca3-2cb3-a228-8cdfbce58c03
{
  "manifest": {
    "v": 2,
    "uuid": "daba6792-2ca3-2cb3-a228-8cdfbce58c03",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "4f4fb700ef54",
    "disabled": false,
    "public": true,
    "published_at": "2025-07-01T17:39:33.061Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "linuxserver/unifi-network-application",
      "docker:id": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
      "docker:architecture": "amd64",
      "docker:tag:latest": true,
      "docker:config": {
        "Entrypoint": [
          "/init"
        ],
        "Env": [
          "PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          "HOME=/root",
          "LANGUAGE=en_US.UTF-8",
          "LANG=en_US.UTF-8",
          "TERM=xterm",
          "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
          "S6_VERBOSITY=1",
          "S6_STAGE2_HOOK=/docker-mods",
          "VIRTUAL_ENV=/lsiopy",
          "LSIO_FIRST_PARTY=true",
          "DEBIAN_FRONTEND=noninteractive"
        ],
        "WorkingDir": "/usr/lib/unifi"
      }
    },
    "origin": "0f56fd6e-2f31-e7ed-bd12-ce2c139680c6"
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

Case 4: User attempts to import a Docker image with an oci.imageindex mediatype

[root@cl-east-00 ~]#  imgadm import docker.io/linuxserver/unifi-network-application:latest

Importing daba6792-2ca3-2cb3-a228-8cdfbce58c03 (docker.io/linuxserver/unifi-network-application:latest) from "https://docker.io"
Gather image daba6792-2ca3-2cb3-a228-8cdfbce58c03 ancestry
Image 7588c2ea-3fff-73e1-7874-aeacb3c02251 already installed
Image 3ff1ac8b-6d46-355e-f891-2fd5acfae486 already installed
Image 0aaec62c-58b9-87d5-f6ff-6c4a3eaeb072 already installed
Image 0938340b-5d24-318b-300f-ae0cbe787f8b already installed
Image 25ff12cf-853c-f0e1-9c53-e26a729f5df5 already installed
Image 1bde9af1-245b-2a48-439d-866b82c49ec2 already installed
Image d308047c-5a28-458f-1f1c-86f500fc5bf5 already installed
Image 5cd234ab-39b9-df8d-9ae4-5707171bc91a already installed
Image 38b0962a-bd04-6982-014d-3853b50ec84a already installed
Image 0f56fd6e-2f31-e7ed-bd12-ce2c139680c6 already installed
Must download and install 1 image
Downloaded image daba6792-2ca3-2cb3-a228-8cdfbce58c03 (32.0 B)
Download 1 image                                                   [=================================================================================================================================================================>] 100%      33B
Imported image daba6792-2ca3-2cb3-a228-8cdfbce58c03 (docker-layer@4f4fb700ef54)
[root@cl-east-00 ~]#
[root@cl-east-00 ~]# imgadm info daba6792-2ca3-2cb3-a228-8cdfbce58c03
{
  "manifest": {
    "v": 2,
    "uuid": "daba6792-2ca3-2cb3-a228-8cdfbce58c03",
    "owner": "00000000-0000-0000-0000-000000000000",
    "name": "docker-layer",
    "version": "4f4fb700ef54",
    "disabled": false,
    "public": true,
    "published_at": "2025-07-01T17:39:33.061Z",
    "type": "docker",
    "os": "linux",
    "description": "",
    "tags": {
      "docker:repo": "linuxserver/unifi-network-application",
      "docker:id": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
      "docker:architecture": "amd64",
      "docker:tag:latest": true,
      "docker:config": {
        "Entrypoint": [
          "/init"
        ],
        "Env": [
          "PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          "HOME=/root",
          "LANGUAGE=en_US.UTF-8",
          "LANG=en_US.UTF-8",
          "TERM=xterm",
          "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
          "S6_VERBOSITY=1",
          "S6_STAGE2_HOOK=/docker-mods",
          "VIRTUAL_ENV=/lsiopy",
          "LSIO_FIRST_PARTY=true",
          "DEBIAN_FRONTEND=noninteractive"
        ],
        "WorkingDir": "/usr/lib/unifi"
      }
    },
    "origin": "0f56fd6e-2f31-e7ed-bd12-ce2c139680c6"
  },
  "zpool": "zones",
  "source": "https://docker.io"
}

Carlos Neira commented on 2025-07-08T18:01:36.880-0400:

After refactoring the common code section into a utility function, I ran the 4 test-cases (there was one that was duplicated, and I have fixed that test now).

[root@cl-east-00 ~]# imgadm import gitlab/gitlab-ee:latest
Importing a930b954-1c37-35b3-203d-3d7e21320cb2 (docker.io/gitlab/gitlab-ee:latest) from "https://docker.io"
Gather image a930b954-1c37-35b3-203d-3d7e21320cb2 ancestry
Must download and install 9 images
Downloaded image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (139.0 B)
Downloaded image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (5.1 KiB)
Downloaded image 00f4c078-4685-f520-e7c8-720ee499808a (302.0 B)
Downloaded image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (135.0 B)
Downloaded image 11c9f61d-78b8-795c-1356-ded46a8605e0 (159.0 B)
Downloaded image f76fa835-2089-b9ae-c8d0-2a1395c67299 (510.0 KiB)
Downloaded image 8487843f-bb91-763c-0f02-2a875abd814e (17.5 MiB)
Downloaded image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (28.3 MiB)
Imported image 44dddb4f-2bd0-b791-f2be-1de2a7542438 (docker-layer@d9d352c11bbd)
Imported image 11c9f61d-78b8-795c-1356-ded46a8605e0 (docker-layer@2f23b04248ed)
Imported image 8487843f-bb91-763c-0f02-2a875abd814e (docker-layer@858c911eb42a)
Imported image f76fa835-2089-b9ae-c8d0-2a1395c67299 (docker-layer@7315ecdce7ae)
Imported image 59590a66-71d1-aef2-9e3e-3d2fe8640219 (docker-layer@88441d96a0b1)
Imported image eeabbd39-a61d-e1dc-44d3-5f23677223c9 (docker-layer@bb37d87e79fb)
Imported image 00f4c078-4685-f520-e7c8-720ee499808a (docker-layer@06406c491519)
Imported image 7e432ca7-26bf-e94f-50b1-bfb1c4999e11 (docker-layer@5e4d94e32638)
Download 9 images                                                  [=================================================================================================================================>                                ]  80%   1.42GB 769.07KB/s  7m51s
Downloaded image a930b954-1c37-35b3-203d-3d7e21320cb2 (1.7 GiB)
Download 9 images                                                  [=================================================================================================================================================================>] 100%   1.77GB 692.87KB/s 44m36s
Imported image a930b954-1c37-35b3-203d-3d7e21320cb2 (docker-layer@cdb5c6269b49)
[root@cl-east-00 ~]#
[root@cl-east-00 ~]# imgadm import docker.io/i386/alpine:3
Importing c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker.io/i386/alpine:3) from "https://docker.io"
Gather image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f ancestry
Must download and install 1 image
Downloaded image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (3.4 MiB)
Download 1 image                                                   [=================================================================================================================================================================>] 100%   3.45MB
Imported image c18b24fb-eec1-c459-2ab5-8fea73a0dd2f (docker-layer@c787620501b7)
[root@cl-east-00 ~]# imgadm import docker.io/linuxserver/unifi-network-application:latest
Importing 484beb34-fbae-cee9-6082-56a089dda1f4 (docker.io/linuxserver/unifi-network-application:latest) from "https://docker.io"
Gather image 484beb34-fbae-cee9-6082-56a089dda1f4 ancestry
Must download and install 11 images
Downloaded image 484beb34-fbae-cee9-6082-56a089dda1f4 (32.0 B)
Downloaded image 5cd234ab-39b9-df8d-9ae4-5707171bc91a (4.5 KiB)
Downloaded image 0e704f0c-2e4a-5f22-882f-3776f0184d6e (2.5 KiB)
Downloaded image 1bde9af1-245b-2a48-439d-866b82c49ec2 (273.0 B)
Downloaded image 25ff12cf-853c-f0e1-9c53-e26a729f5df5 (428.0 B)
Downloaded image 0938340b-5d24-318b-300f-ae0cbe787f8b (701.0 B)
Downloaded image 0aaec62c-58b9-87d5-f6ff-6c4a3eaeb072 (1.3 KiB)
Downloaded image 3ff1ac8b-6d46-355e-f891-2fd5acfae486 (6.0 KiB)
Downloaded image d308047c-5a28-458f-1f1c-86f500fc5bf5 (14.1 MiB)
Downloaded image 7588c2ea-3fff-73e1-7874-aeacb3c02251 (31.4 MiB)
Imported image 7588c2ea-3fff-73e1-7874-aeacb3c02251 (docker-layer@359d37b8afcc)
Imported image 3ff1ac8b-6d46-355e-f891-2fd5acfae486 (docker-layer@e1cde46db0e1)
Imported image 0aaec62c-58b9-87d5-f6ff-6c4a3eaeb072 (docker-layer@440d18687fc0)
Imported image 0938340b-5d24-318b-300f-ae0cbe787f8b (docker-layer@6436cd88e3b8)
Downloaded image 64e4471b-b124-43bb-acbb-df994e906fee (210.9 MiB)
Download 11 images                                                 [=================================================================================================================================================================>] 100% 256.55MB   4.49MB/s    57s
Imported image 25ff12cf-853c-f0e1-9c53-e26a729f5df5 (docker-layer@7f31355f2856)
Imported image 1bde9af1-245b-2a48-439d-866b82c49ec2 (docker-layer@d9b525770456)
Imported image d308047c-5a28-458f-1f1c-86f500fc5bf5 (docker-layer@255deeaccdd1)
Imported image 5cd234ab-39b9-df8d-9ae4-5707171bc91a (docker-layer@91e8040de27e)
Imported image 64e4471b-b124-43bb-acbb-df994e906fee (docker-layer@73152bbcafc6)
Imported image 0e704f0c-2e4a-5f22-882f-3776f0184d6e (docker-layer@2d247f04b43b)
Imported image 484beb34-fbae-cee9-6082-56a089dda1f4 (docker-layer@4f4fb700ef54)
[root@cl-east-00 ~]# imgadm import docker.io/linuxserver/unifi:latest
Importing 21d6e7ec-d3ab-b778-e15f-1d9aa7b0ba8d (docker.io/linuxserver/unifi:latest) from "https://docker.io"
Gather image 21d6e7ec-d3ab-b778-e15f-1d9aa7b0ba8d ancestry
Must download and install 10 images
Downloaded image 34306f7d-e1e7-83b8-65f1-2027ceb17af4 (677.0 B)
Downloaded image 8640ad32-8e00-9756-9702-35fd6efaf6ed (451.0 B)
Downloaded image 21d6e7ec-d3ab-b778-e15f-1d9aa7b0ba8d (698.0 B)
Downloaded image 8495ac2b-f55f-8b9c-84da-4959ca76ab2e (855.0 B)
Downloaded image f13cace1-8fda-e8f1-58f0-f7413846f8d8 (169.0 B)
Downloaded image 7a28662a-b4b1-4953-e02b-03915e854a9c (528.0 B)
Downloaded image 97e6feba-7087-44f5-b98f-5793ca2366aa (853.0 B)
Downloaded image 0d317934-77e4-ef06-5a00-d8ff095ff71b (14.1 MiB)
Downloaded image dea29fb6-bee9-39ae-de13-f67f6b0017e6 (41.5 MiB)
Downloaded image f8ca78a9-fbf7-522d-95d2-09f245343183 (134.6 MiB)
Download 10 images                                                 [=================================================================================================================================================================>] 100% 190.39MB   5.17MB/s    36s
Imported image dea29fb6-bee9-39ae-de13-f67f6b0017e6 (docker-layer@7b722c1070cd)
Imported image 97e6feba-7087-44f5-b98f-5793ca2366aa (docker-layer@8ddae877e71b)
Imported image 7a28662a-b4b1-4953-e02b-03915e854a9c (docker-layer@485e623f9dad)
Imported image 8495ac2b-f55f-8b9c-84da-4959ca76ab2e (docker-layer@1807a4d8a146)
Imported image f13cace1-8fda-e8f1-58f0-f7413846f8d8 (docker-layer@170054443e22)
Imported image 34306f7d-e1e7-83b8-65f1-2027ceb17af4 (docker-layer@6f2daf1212da)
Imported image 0d317934-77e4-ef06-5a00-d8ff095ff71b (docker-layer@3055b437c23d)
Imported image 8640ad32-8e00-9756-9702-35fd6efaf6ed (docker-layer@a489f9c20a63)
Imported image f8ca78a9-fbf7-522d-95d2-09f245343183 (docker-layer@f1850cb075e1)
Imported image 21d6e7ec-d3ab-b778-e15f-1d9aa7b0ba8d (docker-layer@fee272284a20)
[root@cl-east-00 ~]#

Carlos Neira commented on 2025-07-09T14:50:34.084-0400:

Also, I ran src/img make test, test passed.

OK: 191 assertions (1175933ms)

Related Links