-
Notifications
You must be signed in to change notification settings - Fork 263
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
dont create new revision if image is unchanged #398
Comments
This doesn't look like built from latest master on 2019-08-28. You can grab the nightly kn binary here https://github.com/knative/client/blob/master/docs/README.md#installing-kn.
|
Better but not perfect
There no container update in gcr
for information:
|
As per the code Does the proposal here is for As per I see it flag |
+1
I'd say this is something we should probably discuss with Serving WG, IMO this check belongs Serving side. |
Opened serving issue |
I believe the current client behavior on master is that:
I think this does exactly what you want. If you don't generate the revision name locally, you can end up with a noop change on the server, which will not force a new revision, and thus not re-resolve your tag. |
While switching from client side revision-name generation to server side revision-name generation, there is one revision created though client-side revision-name generation
switching to server-side revision-name generation + no-change in image, new revision generated
sub-sequent update + server-side revision-name generation + no-image-change, no new revision generated
|
This issue is stale because it has been open for 90 days with no |
/reopen |
@navidshaikh: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This issue is stale because it has been open for 90 days with no |
To reiterate on this issue, I see really two possible desired behaviours here, when
When using BYO revision as we do now, then for every update we change the name locally which triggers the image-digest resolving algorithm on the server-side. However, even when the digest is the same a new revision is created as the client is in the driver seat and decided to create a new revision because it provided a new revision name. Using this with BYO revision names can fix this only if the client has a way to detect whether an image has been changed, by contacting the registry directly. This, however, is not possible for multiple reasons (network topology, authentication mismatch). When using server-side generated names then it looks like that no new revision is created if the same image name is provided during an update. I'm not sure if this is still the case, we should verify that. However, I believe if this issue should be resolved, then it should be done on the server-side. Not via BYO name (which we really should move into a niche and not use it as default as outlined in #1144 ) |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale This issue is still important and connected to these issues: |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
In what area(s)?
Classifications:
/kind bug
What version of Knative Client?
Version: v20190828-local-f53ebd8
Build Date: 2019-08-28 09:06:01
Git Revision: f53ebd8-dirty
Dependencies:
What version of Knative Serving running on your cluster?
0.6.x
Expected Behavior
When I run the command
kn service update XXX --image gcr.io/project/XXX
I would like that the latest version of my container is deployed. The latest version must be automatically checked against the GCR full checksum and not with the short name in the command.Actual Behavior
Nothing is performed because the kn tool check only the name of the image and not the tag of the latest version in the GCR.
Steps to Reproduce the Problem
kn service create XXX --image gcr.io/project/XXX
kn service update XXX --image gcr.io/project/XXX
-> No new revision created. But the container are really different.
Workaround
I alternate the command
kn service update XXX --image gcr.io/project/XXX
kn service update XXX --image gcr.io/project/XXX:latest
The text was updated successfully, but these errors were encountered: