Skip to content

OCI support: misleading error message when revision is not found #23580

@erdody

Description

@erdody

Checklist:

  • I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
  • I've included steps to reproduce the bug.
  • I've pasted the output of argocd version.

Describe the bug

Using the new OCI native support (great work!), if I specify a literal targetRevision (not a constraint), and the revision is not present in the registry, I see very misleading error messages. Examples:

  • sha256:abc123: no version for constraints: failed to determine semver constraint: improper constraint: sha256:abc123
  • 2024.03-LTS-RC19: no version for constraints: failed to determine semver constraint: constraint Parser Error

In addition:

  • a call to tags/list is made even when the targetRevision is not a semver constraint
  • if the revision is a semver version, a second call to resolve is made, with the exact same version.

To Reproduce

Using OCI native support, try to update targetRevision to a version that is not semver that doesn't exist.
You can also see it in the current test: https://github.com/argoproj/argo-cd/blob/master/util/oci/client_test.go#L377

Expected behavior

I expect to see an error message similar to what you see when the targetRevision is a semver that could not be found: cannot get digest for revision sha256:abc123: sha256:abc123: not found

Version

3.1.0-rc1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions