Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Error: no changes made in repo - misleading when image is already deployed, verbose option does not do anything #1395

Closed
tlvu opened this issue Sep 26, 2018 · 10 comments
Labels
UX In pursuit of a delightful user experience wontfix

Comments

@tlvu
Copy link

tlvu commented Sep 26, 2018

fluxctl list-images shows 2 image tags:

$ fluxctl list-images --controller=default:fluxhelmrelease/bc-release-service 
CONTROLLER                                  CONTAINER    IMAGE                                                    CREATED
default:fluxhelmrelease/bc-release-service  chart-image  bcdocker-rnd-artifacts.intelerad.com/bc-release-service  
                                                         |   latest                                               25 Sep 18 18:35 UTC
                                                         '-> 1.0.0  

I want fluxctl release to update to the other image tag but it says "Error: no changes made in repo"

$ fluxctl release --controller=default:fluxhelmrelease/bc-release-service --update-image=bcdocker-rnd-artifacts.intelerad.com/bc-release-service:latest
Submitting release ...
Error: no changes made in repo
Run 'fluxctl release --help' for usage.

So I run again with -vv, no extra helpful verbose or debugging trace

$ fluxctl release --controller=default:fluxhelmrelease/bc-release-service -vv --update-image=bcdocker-rnd-artifacts.intelerad.com/bc-release-service:latest
Submitting release ...
Error: no changes made in repo
Run 'fluxctl release --help' for usage.

--verbose=4 not better

$ fluxctl release --controller=default:fluxhelmrelease/bc-release-service --verbose=4 --update-image=bcdocker-rnd-artifacts.intelerad.com/bc-release-service:latest
Submitting release ...
Error: no changes made in repo
Run 'fluxctl release --help' for usage.

So what are the recommanded ways to troubleshoot fluxctl errors because the verbose option is not helping at all.

We are using flux with helm support.

$ fluxctl version
1.7.0

$ helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}

$ helm ls flux
NAME    REVISION        UPDATED                         STATUS          CHART           APP VERSION     NAMESPACE
flux    5               Tue Sep 25 15:03:31 2018        DEPLOYED        flux-0.3.3      1.7.0           flux  

$ kubectl get nodes
NAME       STATUS    ROLES     AGE       VERSION
minikube   Ready     master    21h       v1.10.0

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.8", GitCommit:"7eab6a49736cc7b01869a15f9f05dc5b49efb9fc", GitTreeState:"clean", BuildDate:"2018-09-14T16:06:30Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
@tlvu
Copy link
Author

tlvu commented Sep 26, 2018

Oh, I pushed a newer tag to that docker repo and fluxctl release is working now !

$ fluxctl list-images --controller=default:fluxhelmrelease/bc-release-service
CONTROLLER                                  CONTAINER    IMAGE                                                            CREATED
default:fluxhelmrelease/bc-release-service  chart-image  bcdocker-staging-rnd-artifacts.intelerad.com/bc-release-service  
                                                         |   1.0.1-lvu-testing                                            26 Sep 18 21:40 UTC
                                                         |   latest                                                       25 Sep 18 18:35 UTC
                                                         '-> 1.0.0                                                        24 Sep 18 13:47 UTC

$ fluxctl release --controller=default:fluxhelmrelease/bc-release-service --update-image=bcdocker-staging-rnd-artifacts.intelerad.com/bc-release-service:1.0.1-lvu-testing -vv
Submitting release ...
CONTROLLER                                  STATUS   UPDATES
default:fluxhelmrelease/bc-release-service  success  chart-image: bcdocker-staging-rnd-artifacts.intelerad.com/bc-release-service:1.0.0 -> 1.0.1-lvu-testing
Commit pushed:  d4f0815
Commit applied: d4f0815

Did fluxctl compare that tag 1.0.0 and latest were pointing to the same image and refused to perform the release? !

So my initial issue is resolved but I still want to know how to troubleshoot fluxctl. Right now it's pretty much trial and error. Leaving this issue open for now.

@squaremo
Copy link
Member

Did fluxctl compare that tag 1.0.0 and latest were pointing to the same image and refused to perform the release? !

flux treats :latest as a special case. Off the top of my head, I think it's probably discarding that change as invalid, without telling you -- which I agree is a bug. Let's keep this one open.

@squaremo squaremo added the bug label Sep 27, 2018
@nabadger
Copy link

This causes me a lot of time frequently - at least during the workflow testing phase.

It would be great to know what flux is doing under the hood by printing more details.

fluxctl version
1.13.3
fluxctl -vvvv release --workload=sandbox:deployment/test-app --update-image=my-registry/pipeline-example:v0.0.3
Submitting release ...
Error: no changes made in repo
Run 'fluxctl release --help' for usage.

In this example, it was a new image and tag.

@Jeinhaus
Copy link

I'm running into the same issue at the moment.

$ fluxctl version
1.14.2

I can see, that the image has updated tags, but fluxctl release ... returns

Submitting release ...
Error: no changes made in repo
Run 'fluxctl release --help' for usage.

@Jeinhaus
Copy link

The mistake was on my side. I had a wrong semver filter on the image tag.
Maybe an improved error message would've helped me to resolve my issue sooner (e.g. "Could not find a release matching ...").

@squaremo squaremo added UX In pursuit of a delightful user experience and removed bug labels Oct 17, 2019
@adrientardieu
Copy link

I support the idea of giving clearer explanations in addition or in place of Error: no changes made in repo.

I got this error when I tried releasing again the same version (releasing the currently running version).

A better message could be Error: this version is already running. No changes made in repo

Screenshot from 2020-01-24 11-42-23

@kingdonb
Copy link
Member

Please let me know if you still need help with this. I apologize for the staleness of this reply, we are in the process of cleaning up stale issues from the Flux v1 repo now, this should be over soon.

I will close the issue for now as it is stale. Flux v1 remains in maintenance mode. Although I can still review and accept some pull requests, there is little labor effort available to develop the Flux v1 codebase and are no new features being added to Flux v1 daemon and this is generally critical fixes only situation at this point.

We can provide support to Flux v1 users especially with respect to migrating to the new Flux version, Flux v2, which has some breaking changes but is also a total rewrite and also brings many improvements. I'm closing the issue but you are most welcome to write back on this issue, or open another issue. Thanks for using Flux.

@BloodyIron
Copy link

This issue still exists, and I agree with @adrientardieu adding "this version is already running" would be immediately more helpful than the current "Error: no changes made in repo". I spent many hours yesterday digging elsewhere not realising the image was already running (and throwing errors), thinking that instead the new image simply was not being deployed. This error message is not helpful, and what's the point of an error message that's not helpful?

Please re-open.

@kingdonb kingdonb reopened this Jul 8, 2022
@kingdonb
Copy link
Member

kingdonb commented Jul 8, 2022

The problem with changing the text, is that people have written automated pipelines around their flux v1 deployments, and the pipelines will in many cases have accounted for a specific way that flux reports on everything (string pattern matching).

We've had discussions before about issues that would require a change in the output of an existing workflow in order to fix them, and ruled these changes out for this reason - Flux v1 cannot have breaking changes, according to SemVer, without an increment in the major version number.

If you'd like to change the text and compile a version that says something different, nothing should stop you, however in the Flux v1 project which has been in maintenance mode since #3320 we cannot merge such a change as the logging messages are considered as part of the public API which is governed by semver for stability.

@kingdonb kingdonb changed the title How to diagnose fluxctl error no changes made in repo? verbose option does not do anything Error: no changes made in repo - misleading when image is already deployed, verbose option does not do anything Jul 21, 2022
@pjbgf pjbgf added the wontfix label Jul 26, 2022
@pjbgf
Copy link
Member

pjbgf commented Jul 26, 2022

This project is in Migration and security support only, so unfortunately this issue won't be fixed. We recommend users to migrate to Flux 2 at their earliest convenience.

More information about the Flux 2 transition timetable can be found at: https://fluxcd.io/docs/migration/timetable/.

@pjbgf pjbgf closed this as completed Jul 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
UX In pursuit of a delightful user experience wontfix
Projects
None yet
Development

No branches or pull requests

8 participants