Helm-operator: A new release is created in every cycle when using semver chart versions

Created on 24 Jun 2020  路  2Comments  路  Source: fluxcd/helm-operator

Describe the bug
We set our chart versions to something like ^1.0.0 so that if a new chart version, for example, 1.1.0 comes up, it is automatically installed on the next cycle. Updating works fine, but even when there are no new charts in the repository, a new Helm revision is created.

We have around 75 HelmReleases I believe this is making our update cycles slower and consume way more resources than it normally should (that is, when just performing dry-run checks).

Can this behaviour be fixed?

To Reproduce
Steps to reproduce the behaviour:

  1. Create a HelmRelease with the chart version set to a semver, such as ^1.0.0.
  2. Wait for it to correctly install and get the revision number with helm list.
  3. Wait for a few minutes and don't change anything.
  4. Check the new revision number with helm list.
  5. It should increment every update cycle.

Expected behavior
I would expect to only have new releases whenever there is actually a new chart version or any values changed. When nothing changed, the dry-run should just detect that there is nothing to do.

Logs

This is a normal dry-run without the semver chart version, with release diff logging on:

ts=2020-06-24T09:49:15.031213929Z caller=release.go:75 component=release release=my-release targetNamespace=default resource=default:helmrelease/my-release helmVersion=v3 info="starting sync run"
ts=2020-06-24T09:49:15.620748196Z caller=release.go:251 component=release release=my-release targetNamespace=default resource=default:helmrelease/my-release helmVersion=v3 info="running dry-run upgrade to compare with release version '2422'" action=dry-run-compare
ts=2020-06-24T09:49:15.623202838Z caller=helm.go:69 component=helm version=v3 info="preparing upgrade for my-release" targetNamespace=default release=my-release
ts=2020-06-24T09:49:15.65476709Z caller=helm.go:69 component=helm version=v3 info="resetting values to the chart's original version" targetNamespace=default release=my-releaser
ts=2020-06-24T09:49:16.618472957Z caller=helm.go:69 component=helm version=v3 info="performing update for my-release" targetNamespace=default release=my-release
ts=2020-06-24T09:49:16.624978865Z caller=helm.go:69 component=helm version=v3 info="dry run for my-release" targetNamespace=default release=my-release
ts=2020-06-24T09:49:16.839329676Z caller=release.go:273 component=release release=my-release targetNamespace=default resource=default:helmrelease/my-release helmVersion=v3 info="no changes" phase=dry-run-compare

This is a release being updated with a semver chart version:

ts=2020-06-24T09:49:20.731573772Z caller=release.go:75 component=release release=other-release targetNamespace=default resource=default:helmrelease/other-release helmVersion=v3 info="starting sync run"
ts=2020-06-24T09:49:21.811046896Z caller=release.go:289 component=release release=other-release targetNamespace=default resource=default:helmrelease/other-release helmVersion=v3 info="running upgrade" action=upgrade
ts=2020-06-24T09:49:22.416884415Z caller=helm.go:69 component=helm version=v3 info="preparing upgrade for other-release" targetNamespace=default release=other-release
ts=2020-06-24T09:49:22.510734597Z caller=helm.go:69 component=helm version=v3 info="resetting values to the chart's original version" targetNamespace=default release=other-release
ts=2020-06-24T09:49:23.624070522Z caller=helm.go:69 component=helm version=v3 info="performing update for other-release" targetNamespace=default release=other-release
ts=2020-06-24T09:49:23.720720938Z caller=helm.go:69 component=helm version=v3 info="creating upgraded release for other-release" targetNamespace=default release=other-release
ts=2020-06-24T09:49:23.953028437Z caller=helm.go:69 component=helm version=v3 info="checking 3 resources for changes" targetNamespace=default release=other-release
ts=2020-06-24T09:49:23.957636049Z caller=helm.go:69 component=helm version=v3 info="Looks like there are no changes for ServiceAccount \"other-release\"" targetNamespace=default release=other-release
ts=2020-06-24T09:49:23.965091594Z caller=helm.go:69 component=helm version=v3 info="Looks like there are no changes for Service \"other-release\"" targetNamespace=default release=other-release
ts=2020-06-24T09:49:24.031669703Z caller=helm.go:69 component=helm version=v3 info="updating status for upgraded release for other-release" targetNamespace=default release=other-release
ts=2020-06-24T09:49:24.239864219Z caller=release.go:309 component=release release=other-release targetNamespace=default resource=default:helmrelease/other-release helmVersion=v3 info="upgrade succeeded" revision=^0.4.0 phase=upgrade

Additional context
Add any other context about the problem here, e.g

  • Helm Operator version: 1.1.0
  • Targeted Helm version: v3
  • Kubernetes version: v1.16.8-eks-e16311
  • Git provider: Github (although I guess it's not applicable here)
  • Container registry provider: Harbor
blocked needs validation bug

Most helpful comment

same thing here.
helm operator 1.1.0
eks 1.16
Container registry provider: artifactory

@gmaiztegi downgrade helm operator to 1.0.2 for now seems to solve the issue

All 2 comments

same thing here.
helm operator 1.1.0
eks 1.16
Container registry provider: artifactory

@gmaiztegi downgrade helm operator to 1.0.2 for now seems to solve the issue

@avielb downgrading did the trick, thanks!

Was this page helpful?
0 / 5 - 0 ratings