Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

History and Rollback with Helm Charts #3082

Closed
3 tasks done
alexismaior opened this issue Feb 4, 2020 · 3 comments
Closed
3 tasks done

History and Rollback with Helm Charts #3082

alexismaior opened this issue Feb 4, 2020 · 3 comments
Assignees
Labels
bug Something isn't working verify Solution needs verification

Comments

@alexismaior
Copy link

Checklist:

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

The history page doesn't show the correct values for params (such as image.tag) after sync using the same Helm Chart version from a helm repo. All entries in the page display the same chart params. Consequently, the rollback function doesn't seems to work. I don't know if it has a relation to #2848.
As I could understand, Argo doesn't keep the 'n' different versions of the same Chart, right? Only if I update the Chart version number... Is it possible to have multiples charts cached for the same application under the same Chart Version?

A list of the steps required to reproduce the issue. Best of all, give us the URL to a repository that exhibits this issue.

  1. Update a parameter in values.yaml in a Helm Chart (image.tag, i.e.) without updating the Chart Version.
  2. Package and Push the Helm Chart to a Chart Repo (Harbor, in my case), overwriting the existing one with the same version (0.1.0, i.e.)
  3. Select an app which is pointing to that Helm Chart repo and "hard refresh" so Argo downloads the new chart (.tgz).
  4. Manually sync the app (the diff shows that there is a new image.tag)
  5. Verify that all the entries in history page display the same old version of the chart. (All history params is updated to the last version of the applied chart after the cache expires)
    6 (optional). If I decide to rollback to any version, it applies the same chart that is already deployed (and ignore the values shown on history).

A clear and concise description of what you expected to happen.

That the history page shows all changes and that Argo could keep track of Charts changes, even with the same Chart version.

If applicable, add screenshots to help explain your problem.

image

image

image

Paste the output from argocd version here.

argocd: v1.4.2+48cced9
BuildDate: 2020-01-24T01:04:04Z
GitCommit: 48cced9
GitTreeState: clean
GoVersion: go1.12.6
Compiler: gc
Platform: linux/amd64
argocd-server: v1.4.2+48cced9
BuildDate: 2020-01-24T01:07:03Z
GitCommit: 48cced9
GitTreeState: clean
GoVersion: go1.12.6
Compiler: gc
Platform: linux/amd64
Ksonnet Version: v0.13.1
Kustomize Version: Version: {Version:kustomize/v3.2.1 GitCommit:d89b448c745937f0cf1936162f26a5aac688f840 BuildDate:2019-09-27T00:10:52Z GoOs:linux GoArch:amd64}
Helm Version: v2.15.2
Kubectl Version: v1.14.0

Logs

time="2020-02-04T22:31:14Z" level=info msg="helm init --client-only --skip-refresh" dir="/tmp/https:__harbor.xxxx_chartrepo_siop" execID=rXNvt
time="2020-02-04T22:31:14Z" level=info msg="helm repo update" dir="/tmp/https:__xxxxx_chartrepo_siop" execID=1LgJX
time="2020-02-04T22:31:15Z" level=info msg="app details cache hit: 0.1.0/"
time="2020-02-04T22:31:15Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.request.deadline="2020-02-04T22:32:15Z" grpc.service=repository.RepoServerService grpc.start_time="2020-02-04T22:31:15Z" grpc.time_ms=0.962 span.kind=server system=grpc
time="2020-02-04T22:31:17Z" level=info msg="helm fetch --destination /tmp/helm683437630 --version 0.1.0 --username ****** --password ****** --repo https://harbor.xxxx/chartrepo/siop agregador-servico" dir="/tmp/https:__harbor.xxxxx_chartrepo_siop" execID=AQs9c
time="2020-02-04T22:31:18Z" level=info msg="app details cache hit: 0.1.0/"
time="2020-02-04T22:31:18Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.request.deadline="2020-02-04T22:32:18Z" grpc.service=repository.RepoServerService grpc.start_time="2020-02-04T22:31:18Z" grpc.time_ms=0.748 span.kind=server system=grpc
time="2020-02-04T22:31:18Z" level=info msg="tar -zxvf /tmp/https:__harbor.xxxx_chartrepo_siop/agregador-servico-0.1.0.tgz" dir=/tmp/helm471723653 execID=fy54H
time="2020-02-04T22:31:18Z" level=info msg="helm init --client-only --skip-refresh" dir=/tmp/helm471723653/agregador-servico execID=cTWSh
time="2020-02-04T22:31:18Z" level=info msg="helm template . --name staging-agregador-servico --namespace staging --kube-version 1.15" dir=/tmp/helm471723653/agregador-servico execID=qv99I
@alexismaior alexismaior added the bug Something isn't working label Feb 4, 2020
@mayzhang2000 mayzhang2000 self-assigned this Apr 21, 2020
@mayzhang2000
Copy link
Contributor

Based on current implementation, history page shows updated information only when the chart version is updated.

@mayzhang2000 mayzhang2000 added the verify Solution needs verification label Apr 22, 2020
@alexmt alexmt closed this as completed Apr 30, 2020
@kazysgurskas
Copy link
Contributor

Based on https://argoproj.github.io/argo-cd/user-guide/parameters/ if I override image tag helm parameter only and raising chart version is an overkill, how do I go about rollbacking? I think this is a valid use case for those who do not want to go fully GitOps and pollute commit history with version bumps.

@dhirajsittu781
Copy link

@mayzhang2000 @alexmt Is this issue already resolved? I'm still facing this in v2.6.3 even without chart version update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working verify Solution needs verification
Projects
None yet
Development

No branches or pull requests

5 participants