werf / nelm

Nelm is a Helm 3 alternative and werf deployment engine
Apache License 2.0
243 stars 1 forks source link

werf-helm-test does not track pods and breaks successfully deployed release #76

Open distorhead opened 1 year ago

distorhead commented 1 year ago

Before proceeding

Version

1.2.175+fix1

How to reproduce

  1. Successfully deploy base application release with converge.
  2. Run release tests with werf helm test ....

Result

werf helm test successfuly exists immediately, while tests pods are failing. Next werf converge will fail with KIND "NAME" already exists error. And it is impossible to fix this error without removing this deployed release.

Expected result

werf helm test command should work the same as helm test — track test pods. werf helm test should not break previously deployed release with KIND "NAME" already exists error.

Additional information

No response

warmanton commented 1 year ago

Got the same issue with werf v1.2.199. werf helm test... breakes the release and werf converge... cannot deploy the release one more.

warmanton commented 1 year ago

Just tested multiple werf versions and found that v1.2.109 works fine and v1.2.110 does not work.

Testing commands:

werf converge --repo=localhost:5000/${MY_REPO}
werf helm test --filter name=${MY_TESTNAME}
werf converge --repo=localhost:5000/${MY_REPO} # second converge failed starting from v1.2.110 and higher
warmanton commented 1 year ago

B.t.w. this code works:

        werf converge --repo=localhost:5000/${MY_PROJECT} --values .helm/run-test.yaml
        werf helm test --filter name=${WERF_RELEASE}-my-test --timeout 20m --status-progress-period=-1 --hooks-status-progress-period=-1 ${WERF_RELEASE} || true
        helm uninstall ${WERF_RELEASE}

Note: the last command uses system helm but not werf helm because werf helm uninstal does not uninstall subchart's stuff (for example postgres pod, secret, configmap).

Probably werf needs helm version update. Now werf uses helm-3.8 but helm-3.10 already exists.