Skip to content

helmfile with kubedog release tracking has exit code 0 even when release failed #2507

Description

@ggillies

Operating system

Fedora 42

Helmfile Version

1.4.2

Helm Version

v4.1.1

Bug description

When attempting to use the new kubedog tracking for release rollout, and an error occurs (e.g. pods crashlooped, image pull errors), helmfile exits with a return code of 0 instead of an return code greater than 0

Example helmfile.yaml

  • name: myapp
    namespace: myapp
    createNamespace: true
    chart: ./charts/myapp
    values:
    • myapp-values.yaml.gotmpl
      disableValidationOnInstall: true
      trackMode: kubedog
      trackTimeout: 300 # seconds
      trackLogs: true

Error message you've seen (if any)

┌ Failed resource deploy/myapp-rails service messages
│ added
│ rs/myapp-rails-798589d469 added
│ event: po/myapp-rails-798589d469-v2cqp FailedScheduling: 0/8 nodes are available: 2 node(s) had untolerated taint {karpenter.sh/disrupted: }, 4 Insufficient memory, 6 Insufficient cpu.   ↵
│ preemption: 0/8 nodes are available: 2 Preemption is not helpful for scheduling, 6 No preemption victims found for incoming pod.
│ event: po/myapp-rails-798589d469-v2cqp Scheduled: Successfully assigned myapp/myapp-rails-798589d469-v2cqp to i-05e1b47fad3151b97
│ event: po/myapp-rails-798589d469-v2cqp Pulling: Pulling image "myregistry.com/myapp/rails:asdf"
│ event: po/myapp-rails-798589d469-v2cqp Failed: Failed to pull image "myregistry.com/myapp/rails:asdf": rpc error: code = NotFound desc =   ↵
│ failed to pull and unpack image "myregistry.com/myapp/rails:asdf": failed to resolve reference                                                   ↵
│ "myregistry.com/myapp/rails:asdf": myregistry.com/myapp/rails:asdf: not found
│ event: po/myapp-rails-798589d469-v2cqp Failed: Error: ErrImagePull
│ event: po/myapp-rails-798589d469-v2cqp BackOff: Back-off pulling image "myregistry.com/myapp/rails:asdf"
│ event: po/myapp-rails-798589d469-v2cqp Failed: Error: ImagePullBackOff
│ event: po/myapp-rails-798589d469-v2cqp FailedScheduling: Failed to schedule pod, would schedule against uninitialized nodeclaim/general-purpose-5bmv6
│ event: po/myapp-rails-798589d469-v2cqp Pulling: Pulling image "myregistry.com/myapp/rails:asdf"
└ Failed resource deploy/myapp-rails service messages
kubedog tracking failed for release myapp: kubedog tracking failed for release myapp: tracking failed: deploy/myapp-rails failed: po/myapp-rails-798589d469-v2cqp container/db-migrate: ImagePullBackOff: Back-off pulling image "myregistry.com/myapp/rails:asdf": ErrImagePull: rpc error: code = NotFound desc = failed to pull and unpack image "myregistry.com/myapp/rails:asdf": failed to resolve reference "myregistry.com/myapp/rails:asdf": myregistry.com/myapp/rails:asdf: not found

$ echo $?
0

Steps to reproduce

  1. Create a helmfile.yaml that uses kubedog release monitoring
  2. do a deploy that is known to fail
  3. Run echo $? and notice it's 0

Working Helmfile Version

none

Relevant discussion

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions