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

Control API receiving deploy intent before build causes dev loop to softlock #4886

Open
nkubala opened this issue Oct 8, 2020 · 1 comment
Assignees
Labels
area/api kind/bug Something isn't working priority/p3 agreed that this would be good to have, but no one is available at the moment.

Comments

@nkubala
Copy link
Contributor

nkubala commented Oct 8, 2020

Expected behavior

When dev loop is running with auto-build and auto-deploy both set to false, if a rebuild is necessary and a deploy intent is issued by the user before the build intent, this intent should be ignored by the server and needsDeploy should still be true.

Actual behavior

When a change is made to an already-deployed application, the intents are reset on the runner. Then, when a deploy intent is received first, skaffold tries to redeploy (which it shouldn't), though nothing changes, but the intent is then set to false. Thus, if a build intent is sent after this, the build will occur, but subsequent deploy intents will do nothing.

Users can escape out of this by making another code change, but it's still a bad UX.

To fix, we should do two things:

  1. reject deploy intents if we have nothing new to deploy (or perhaps if we have autoBuild set to false as well, and haven't received a build intent yet). in the logs I see DEBU[0024] 1 manifests to deploy. 0 are updated or new, so I know we're tracking this
  2. reset needsRedeploy whenever a build is complete

Information

  • Skaffold version: v1.15.0
  • Operating system: OS X

Steps to reproduce the behavior

  1. any example in the project, getting-started works fine
  2. skaffold dev --auto-build=false --auto-deploy=false --rpc-http-port=12345
  3. change main.go
  4. curl http://localhost:12345/v1/execute -X POST -d '{"deploy": true}
  5. watch logs as skaffold "redeploys", but of course it actually doesn't
  6. curl http://localhost:12345/v1/execute -X POST -d '{"build": true}
  7. watch as rebuild is successful
  8. curl http://localhost:12345/v1/execute -X POST -d '{"deploy": true}
  9. watch as nothing happens
@nkubala nkubala added kind/bug Something isn't working priority/p2 May take a couple of releases area/api labels Oct 8, 2020
@nkubala nkubala added this to the v1.16.0 milestone Oct 8, 2020
@nkubala nkubala modified the milestones: v1.16.0, v1.17.0 Oct 27, 2020
@PriyaModali PriyaModali self-assigned this Nov 10, 2020
@briandealwis briandealwis modified the milestones: v1.17.0, v1.18.0 Nov 25, 2020
@briandealwis
Copy link
Member

Keeping priority as it's assigned to a milestone.

@briandealwis briandealwis modified the milestones: v1.18.0, v1.19.0 Jan 25, 2021
@gsquared94 gsquared94 added priority/p3 agreed that this would be good to have, but no one is available at the moment. and removed priority/p2 May take a couple of releases labels Jan 25, 2021
@nkubala nkubala modified the milestones: v1.20.0-candidate, Backlog [P0/P1] Feb 9, 2021
@nkubala nkubala removed this from the Backlog [P0/P1] milestone May 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api kind/bug Something isn't working priority/p3 agreed that this would be good to have, but no one is available at the moment.
Projects
None yet
Development

No branches or pull requests

4 participants