Bug 1976283
Summary: | podman search does not return an exact match | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Fernando Lozano <flozano> |
Component: | podman | Assignee: | Jindrich Novy <jnovy> |
Status: | CLOSED ERRATA | QA Contact: | Yuhui Jiang <yujiang> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.4 | CC: | bbaude, dwalsh, gnecasov, jligon, jnovy, lsm5, mheon, pthomas, tsweeney, umohnani, vrothber, ypu |
Target Milestone: | beta | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | podman-3.2.3-0.6.el8 or newer | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-11-09 17:38:44 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Fernando Lozano
2021-06-25 16:52:56 UTC
Valentin, Could you take a look at this please? This smells like it might be related to the registries.conf issue you're hunting down. Just to highlight that my sample search specifies the registry, so registry.conf search path should not make a difference. In my environment, it is the installation default of RHEL 8.4. Thanks for pulling me in. We talked about this issue on the containers-tech list already and there is nothing much Podman can do. Podman sends the search term verbatim to the registry and presents the results as returned by the registry. The output of Podman and Docker is identical. I agree that this should be mentioned in the documentation. @Tom: How shall we proceed? I can open a PR upstream for the man pages but shall I backport it to specific releases? Shall we pull in the docs team? Valentin, I'll take the chicken's way out and will let @gnecasov decide the best way to document this. It would be nice to get into RHEL 8.4.0.2 if we can, but certainly RHEL 8.5. Gabi? Did I get it wrong that, for registry V2+ compliant registry servers, podman does the filtering on the client side? If true, it is not just about sending the "search term verbatim to the registry" but that would apply only to registry servers that implement the old, deprecated v1 registry API and I guess that would apply only to docker.io. (In reply to Fernando Lozano from comment #6) > Did I get it wrong that, for registry V2+ compliant registry servers, podman > does the filtering on the client side? That's correct. v1 is server-side, v2 "catalog" is client-side but extremely slow so Podman (and others) prefer the v1/search if supported by the registry. > If true, it is not just about sending > the "search term verbatim to the registry" but that would apply only to > registry servers that implement the old, deprecated v1 registry API and I > guess that would apply only to docker.io. Quay.io allows supports v1/search. Tom, thank you for notifying me. Yes, I can update docs, when the issue will be resolved. (In reply to Valentin Rothberg from comment #7) > > Did I get it wrong that, for registry V2+ compliant registry servers, podman > > does the filtering on the client side? > > That's correct. v1 is server-side, v2 "catalog" is client-side but > extremely slow so Podman (and others) prefer the v1/search if supported by > the registry. Maybe we need a way to force one or the other (v1 search vs v2 catalog) and also a way of knowing what happened at runtime (client or server-side filtering) without turning on full debug output? Anyway these possibilites, and the implications of each, should be documented in the podman search man page and RHEL product docs. I still see no way of ensusing search results include an exact match, or the closest match (whatever that means) for any registry. IMHO this has to be clear and explict. Users should know what to expect, or in this case what not to expect... and be advised to use the interactive web search of each registry server, like Red Hat Marketplace, instead of podman search. > > > If true, it is not just about sending > > the "search term verbatim to the registry" but that would apply only to > > registry servers that implement the old, deprecated v1 registry API and I > > guess that would apply only to docker.io. > > Quay.io allows supports v1/search. Isn't v1 deprecated and about to be removed from quay? What's the approach from other registries such as Nexus, GitHub, Google, etc? Isn't the assumption of using v1/search when available something that would apply just to docker.io? Valentin, PTAL at https://bugzilla.redhat.com/show_bug.cgi?id=1976283#c9 (In reply to Fernando Lozano from comment #9) > [...] > Maybe we need a way to force one or the other (v1 search vs v2 catalog) and > also a way of knowing what happened at runtime (client or server-side > filtering) without turning on full debug output? > > Anyway these possibilites, and the implications of each, should be > documented in the podman search man page and RHEL product docs. I agree. Let's start with docs. > [...] > Isn't v1 deprecated and about to be removed from quay? I do not know of that plan. Once the endpoint is gone, Podman would use v2/catalog. > What's the approach from other registries such as Nexus, GitHub, Google, etc? catalog is not part of the OCI distribution spec [1], so I assume that some registries may chose not to support such a feature at all. [1] https://github.com/opencontainers/distribution-spec/blob/main/spec.md#endpoints JFYI there's a bug for quay because I believe it has it's own search issues, not necessarily related to the discussion about how podman should handle and document them: https://issues.redhat.com/browse/PROJQUAY-2165 The following upstream extending the man pages has been merged: https://github.com/containers/podman/pull/10842 Assigning the bug to Gabi: Gabi, can you add the information mentioned in the PR to the RHEL docs? Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: container-tools:rhel8 security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:4154 |