Skip to content

[deckhouse-cli] Add all channels scan, fix installer success output even if pull falls - #423

Open
haosb wants to merge 7 commits into
mainfrom
validateplatform-log-channel
Open

[deckhouse-cli] Add all channels scan, fix installer success output even if pull falls#423
haosb wants to merge 7 commits into
mainfrom
validateplatform-log-channel

Conversation

@haosb

@haosb haosb commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

New change to scan all channels

All channels scan and new log output:

 deckhouse-cli (validateplatform-log-channel) ✔ ./bin/d8 mirror pull  --license="deleted"--source=registry  dkpd --force
 
Jul 29 17:03:57.332 INFO   d8 version: v0.33.4-2-g62132d6
Jul 29 17:03:57.332 INFO   Creating OCI Image Layouts
Jul 29 17:03:57.333 INFO   Creating OCI Image Layouts for Security
Jul 29 17:03:57.334 INFO   Creating OCI Image Layouts for Modules
Jul 29 17:03:57.334 INFO   Creating OCI Image Layouts for Packages
Jul 29 17:03:57.334 INFO   Creating OCI Image Layouts for Installer
Jul 29 17:03:57.748 INFO   
╔══ Pull failed ════════════════════════════════════════
║ Platform:   not pulled
║ Installer:  not pulled
║ Security:   not pulled
║ Modules:    not pulled
║ Packages:   not pulled
║
║ Pull failed; the above reflects what completed before the error.
║ Elapsed: 414ms
╚═══════════════════════════════════════════════════════

error: Image not found in registry
  ╰─▶ pull from registry
    ╰─▶ pull platform
      ╰─▶ validate platform access
        ╰─▶ no release channel found in the source registry (checked: alpha, beta, early-access, stable, rock-solid, lts)
          ╰─▶ failed to check if image exists
            ╰─▶ image not found: GET https://registry/v2/: unexpected status code 404 Not Found: <html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>


  * Requested Deckhouse version or tag does not exist in the source registry
    -> Check --deckhouse-tag or --since-version value for typos or non-existent versions
    -> Browse available release versions in the source registry
  * License key does not have access to the requested edition or version
    -> Verify the --license key grants access to the requested Deckhouse edition

Found bug

Previous bug with Success pull and empty installer package if --no-platform is specified, but registry not working:

 deckhouse-cli (validateplatform-log-channel) ✔ ./bin/d8 mirror pull  --license="deleted"--source=registry  dkpd --no-platform --force 

  Jul 29 16:15:39.659 INFO   d8 version: v0.33.4-2-g62132d6
  Jul 29 16:15:39.659 INFO   Creating OCI Image Layouts
  Jul 29 16:15:39.662 INFO   Creating OCI Image Layouts for Security
  Jul 29 16:15:39.663 INFO   Creating OCI Image Layouts for Modules
  Jul 29 16:15:39.663 INFO   Creating OCI Image Layouts for Packages
  Jul 29 16:15:39.663 INFO   Creating OCI Image Layouts for Installer
  Jul 29 16:15:39.919 WARN   installer access: failed to check installer tag "latest" exists in registry: failed to check if image exists: image not found: GET https://registry/v2/: unexpected status code 404 Not Found: <html>
  <head><title>404 Not Found</title></head>
  <body>
  <center><h1>404 Not Found</h1></center>
  <hr><center>nginx</center>
  </body>
  </html>

  Jul 29 16:15:40.001 WARN   Security databases are not available in this edition, skipping
  Jul 29 16:15:40.081 INFO
  ╔══ Pull failed ════════════════════════════════════════
  ║ Platform:   skipped
  ║ Installer:  latest
  ║ Security:   not available in this edition
  ║ Modules:    not pulled
  ║ Packages:   not pulled
  ║
  ║ Pull failed; the above reflects what completed before the error.
  ║ Elapsed: 416ms
  ╚═══════════════════════════════════════════════════════

  error: Image not found in registry
    ╰─▶ pull from registry
      ╰─▶ pull modules
        ╰─▶ validate modules access
          ╰─▶ failed to list modules from registry
            ╰─▶ failed to list tags
              ╰─▶ GET https://registry/v2/: unexpected status code 404 Not Found: <html>
  <head><title>404 Not Found</title></head>
  <body>
  <center><h1>404 Not Found</h1></center>
  <hr><center>nginx</center>
  </body>
  </html>


    * Requested Deckhouse version or tag does not exist in the source registry
      -> Check --deckhouse-tag or --since-version value for typos or non-existent versions
      -> Browse available release versions in the source registry
    * License key does not have access to the requested edition or version
      -> Verify the --license key grants access to the requested Deckhouse edition

Fixed output:

 deckhouse-cli (validateplatform-log-channel) ✔ ./bin/d8 mirror pull  --license="deleted"--source=registry  dkpd --no-platform --force 

Jul 29 17:14:44.061 INFO   d8 version: v0.33.4-2-g62132d6
Jul 29 17:14:44.061 INFO   Creating OCI Image Layouts
Jul 29 17:14:44.062 INFO   Creating OCI Image Layouts for Security
Jul 29 17:14:44.062 INFO   Creating OCI Image Layouts for Modules
Jul 29 17:14:44.062 INFO   Creating OCI Image Layouts for Packages
Jul 29 17:14:44.062 INFO   Creating OCI Image Layouts for Installer
Jul 29 17:14:44.500 WARN   installer access: failed to check installer tag "latest" exists in registry: failed to check if image exists: image not found: GET https://registry/v2/: unexpected status code 404 Not Found: <html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

Jul 29 17:14:44.603 WARN   Security databases are not available in this edition, skipping
Jul 29 17:14:44.708 INFO   
╔══ Pull failed ════════════════════════════════════════
║ Platform:   skipped
║ Installer:  not pulled
║ Security:   not available in this edition
║ Modules:    not pulled
║ Packages:   not pulled
║
║ Pull failed; the above reflects what completed before the error.
║ Elapsed: 645ms
╚═══════════════════════════════════════════════════════

error: Image not found in registry
  ╰─▶ pull from registry
    ╰─▶ pull modules
      ╰─▶ validate modules access
        ╰─▶ failed to list modules from registry
          ╰─▶ failed to list tags
            ╰─▶ GET https://registry/v2/: unexpected status code 404 Not Found: <html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>


  * Requested Deckhouse version or tag does not exist in the source registry
    -> Check --deckhouse-tag or --since-version value for typos or non-existent versions
    -> Browse available release versions in the source registry
  * License key does not have access to the requested edition or version
    -> Verify the --license key grants access to the requested Deckhouse edition

Before / After

2026-07-31 AT 15 02@2x 2026-07-31 AT 15 02@2x 2026-07-31 AT 15 02@2x 2026-07-31 AT 15 03@2x

@haosb
haosb requested a review from ldmonster as a code owner July 29, 2026 14:21
@haosb haosb changed the title Add all channels scan, fix installer success output even if pull falls [deckhouse-cli] Add all channels scan, fix installer success output even if pull falls Jul 29, 2026
@Glitchy-Sheep
Glitchy-Sheep self-requested a review July 30, 2026 13:59
Ruslan Usmanov and others added 7 commits July 30, 2026 19:00
Signed-off-by: Ruslan Usmanov <[email protected]>
This reverts commit e3ce7b7.

Signed-off-by: Ruslan Usmanov <[email protected]>
Signed-off-by: Ruslan Usmanov <[email protected]>
A registry that serves the repo but publishes no release channels now
gets its own errdetect category telling the user to pass
--deckhouse-tag=<version> explicitly, instead of the generic
"check the tag for typos" suggestion aimed at users who passed one.

Signed-off-by: Roman Berezkin <[email protected]>
The all-channels scan proved registry access but let an explicitly
requested channel be silently absent: the pull then "succeeded" with
an empty bundle. Probe the requested channel first and fail with the
list of channels the registry does publish. A full miss now wraps
ErrNoReleaseChannels so the dedicated errdetect hint fires.

Signed-off-by: Roman Berezkin <[email protected]>
The bare sentinel dropped the per-channel 404 chains, so a partial
registry failed with a generic error the diagnostics could not
classify. Wrap the sentinel over the first failed channel's error:
errors.Is tolerance is intact and the errdetect hint fires again.

Signed-off-by: Roman Berezkin <[email protected]>
@Glitchy-Sheep
Glitchy-Sheep force-pushed the validateplatform-log-channel branch from 7eeb084 to 3303bd8 Compare July 30, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants