Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unsupported Schema version #93

Open
030 opened this issue Sep 19, 2017 · 18 comments
Open

Unsupported Schema version #93

030 opened this issue Sep 19, 2017 · 18 comments
Labels

Comments

@030
Copy link

030 commented Sep 19, 2017

clairctl analyze jenkins
client quit unexpectedly
2017-09-19 16:10:44.116145 C | cmd: pushing image "jenkins:latest": unsupported Schema version

2017-09-19 16:10:52.850249 C | clair: Unsupported Schema version.

@sepzam
Copy link

sepzam commented Sep 25, 2017

I have the same exact error in my clairctl. I have tried updating clairctl, docker and docker-compose, but still have the error.

@jdel jdel assigned jdel and unassigned jdel Oct 2, 2017
@jdel jdel added the bug label Oct 2, 2017
@jdel
Copy link
Collaborator

jdel commented Oct 2, 2017

Looks like clairctl does not support *manifestlist.DeserializedManifestList

application/vnd.docker.distribution.manifest.list.v2+json: Manifest list, aka “fat manifest”

source: https://docs.docker.com/registry/spec/manifest-v2-2/

Full debug log:

$ clairctll --log-level debug analyze jenkins
2017-10-02 09:34:48.080406 D | config: Using config file: /home/clairctl/clairctl.yml
2017-10-02 09:34:48.080563 D | dockerdist: Downloading manifest for jenkins
2017-10-02 09:34:48.080709 D | dockerdist: Retrieving repository client
2017-10-02 09:34:49.611677 D | dockerdist: endpoint.TLSConfig.InsecureSkipVerify: true
2017-10-02 09:34:51.802320 D | dockerdist: manifest type: *manifestlist.DeserializedManifestList
2017-10-02 09:34:51.802357 I | dockerdist: Could not verify manifest for image jenkins: not signed
2017-10-02 09:34:51.802395 I | config: retrieving interface for local IP
2017-10-02 09:34:51.802403 D | config: no interface provided, looking for docker0
2017-10-02 09:34:51.803130 D | config: docker0 not found, looking for first connected broadcast interface
client quit unexpectedly
2017-10-02 09:34:51.803884 C | cmd: pushing image "jenkins:latest": unsupported Schema version

@sepzam
Copy link

sepzam commented Oct 2, 2017

But it was working about 3 weeks ago. It suddenly changed and is not working anymore. Even if you install everything from scratch.

@jdel
Copy link
Collaborator

jdel commented Oct 2, 2017

Yes, it seems the docker hub has introduced a new manifest format that we cannot handle in clairctl yet.

Unfortunately, 3rd parties can make changes on their side that can impact how clairctl works.

@sepzam
Copy link

sepzam commented Oct 2, 2017

Oh. I see. Thank you so much for your reply.

@toddysm
Copy link

toddysm commented Nov 7, 2017

Any word on whether this will be solved? Right now ClairCtl doesn't seem to be working with Docker Hub images?

@jdel
Copy link
Collaborator

jdel commented Nov 9, 2017

Sorry we didn't have much time to look into this lately

I will do my best to have a look at it before next week.

@rickbliss
Copy link

any luck?

@ye
Copy link

ye commented Nov 30, 2017

I am running into this exact error as well.

$ clairctl --log-level debug analyze postgres
2017-11-30 16:41:45.406853 D | config: No config file used
2017-11-30 16:41:45.407041 D | dockerdist: Downloading manifest for postgres
2017-11-30 16:41:45.407478 D | dockerdist: Retrieving repository client
2017-11-30 16:41:46.497331 D | dockerdist: endpoint.TLSConfig.InsecureSkipVerify: true
2017-11-30 16:41:47.605030 D | dockerdist: manifest type: *manifestlist.DeserializedManifestList
2017-11-30 16:41:47.605050 I | dockerdist: Could not verify manifest for image postgres: not signed
2017-11-30 16:41:47.605068 I | config: retrieving interface for local IP
2017-11-30 16:41:47.605071 D | config: no interface provided, looking for docker0
2017-11-30 16:41:47.605149 D | config: docker0 not found, looking for first connected broadcast interface
client quit unexpectedly
2017-11-30 16:41:47.605300 C | cmd: pushing image "postgres:latest": unsupported Schema version

Any updates?

Also, how do I use clairctl to analyze local images? Thanks.

@toddysm
Copy link

toddysm commented Dec 1, 2017

@ye for the local images use the -l (or --local) flag.

You can see that in the clairctl help when you type:
$clairctl analyze --help

@feffi
Copy link

feffi commented Jan 11, 2018

Hi, clairctl is de facto unusable at the moment, will this be fixed anytime soon? The bug was reported in September 2017?

@mahpatil
Copy link

@jgsqware and other contributors, I'm trying to look at a potential fix for this in my own fork. Docker manifest v2 includes manifest list that contains a list of image manifest. I want to understand if the fix for this be in dockerdist.go Downloadmanifest, if the manifest type is ManifestList then get list of image manifests under it and return array of images. Also potential changes to clairctl/push.go to handle image manifest lists

@sujathagit
Copy link

I am getting following error. Please suggest a fix for the same.

[root@localhost clairctl]# clairctl --log-level debug analyze postgres --local
2018-02-20 02:20:26.757785 D | config: No config file used
2018-02-20 02:20:26.759354 D | dockercli: docker image to save: postgres:latest
2018-02-20 02:20:26.759388 D | dockercli: saving in: /tmp/clairctl/postgres/blobs
2018-02-20 02:21:16.837513 I | config: retrieving interface for local IP
2018-02-20 02:21:16.838419 D | config: no interface provided, looking for docker0
2018-02-20 02:21:17.771311 I | config: retrieving interface for local IP
2018-02-20 02:21:17.771359 D | config: no interface provided, looking for docker0
2018-02-20 02:21:17.773234 I | clair: using http://172.17.0.1:0/local as local url
2018-02-20 02:21:17.773280 I | clair: Pushing Layer 1/13 [9c79191f3661]
2018-02-20 02:21:17.773686 D | clair: Saving 9c79191f3661e0413554168d7f9ed8589a22b71aa175fe64ce80f8aa5590fd2d[https:///v2]
2018-02-20 02:21:17.787366 D | server: Update local server port from "0" to "42502"
2018-02-20 02:21:17.787644 I | server: Starting Server on 172.17.0.1:42502
2018-02-20 02:21:21.837352 I | clair: adding layer 1/13 [9c79191f3661]: receiving http error: 404
client quit unexpectedly
2018-02-20 02:21:21.837560 C | cmd: pushing image "postgres:latest": receiving http error: 404

@brandocomando
Copy link

Any News on This?

@calbutl
Copy link

calbutl commented Nov 5, 2018

It's been a while... Any new on this?

Any News on This?

@zelha
Copy link

zelha commented Nov 13, 2018

It's been a while... Any new on this?

Any News on This?
If no there will be no fix is there any workaround ?

@zt2
Copy link

zt2 commented Dec 19, 2018

It's been a while... Any new on this?

Any News on This?
If no there will be no fix is there any workaround ?

@sumitvgithub
Copy link

It's been a while... Any new on this?

Any News on This?
If no there will be no fix is there any workaround ?

Looks like it hasn't been fixed yet. Any expected timeline by when this would be fixed or a workaround maybe?
Getting the same error still for analyze, report, etc.
# clairctl --log-level debug report elasticsearch:8.1.0

2022-03-14 16:52:02.650918 D | config: No config file used
2022-03-14 16:52:02.651033 D | dockerdist: Downloading manifest for elasticsearch:8.1.0
2022-03-14 16:52:02.651083 D | dockerdist: Retrieving repository client
2022-03-14 16:52:06.490023 D | dockerdist: endpoint.TLSConfig.InsecureSkipVerify: true
2022-03-14 16:52:13.485455 D | dockerdist: manifest type: *manifestlist.DeserializedManifestList
2022-03-14 16:52:13.485521 I | dockerdist: Could not verify manifest for image elasticsearch:8.1.0: not signed
2022-03-14 16:52:13.485576 I | config: retrieving interface for local IP
2022-03-14 16:52:13.485598 D | config: no interface provided, looking for docker0
2022-03-14 16:52:13.486348 C | clair: Unsupported Schema version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests