Failed update silently rolls back #478
Labels
No Label
bug
build
ci/cd
contributing
critical
design
documentation
duplicate
enhancement
help wanted
invalid
meta
question
release
release-candidate
security
test
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: toolshed/abra#478
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Steps to reproduce:
3.0.1+1.22.3-rootless
using an old version of abra that doesn't interact with versions in the.env
fileabra app upgrade git.foo.bar
Expected result:
App upgraded
Actual result:
The correct new version is written to the
.env
file:But the old version is still deployed 🤔
Hmmmm, it would seem that there is some confusion between a missing
.env
version and the parsing of the live deployment labels? A wild new edge case, great find! I will try to reproduce shortly.@3wordchant had a play with this. I found a bonus side bug which I'm gonna try fix up: #479
However, for the Gitea release latest release, I think it's failing to come up some time after depoloyment? Can you check that? I suspect the runtime is then rolling back to
3.0.1+1.22.3-rootless
based on the deploy config andabra
can't really do much since the deployment technically succeeded aka "silently rolling back because StAbiLiTy".I could be wrong but I wasn't able to reproduce this with several integration tests. But I also wasn't able to get a succesful Gitea upgrade from
3.0.1.x
to3.0.2.x
🤔 I was seeing this error: https://github.com/go-gitea/gitea/issues/28388 (the "solution" is a bit of a mystery for me)In the case I'm right, I'm not sure what we can do to make this obvious to people. Currently, you can
docker ps -f name=<stack> -a
to see exited containers? Are there better ways? How can this be incorporated into theabra
output?Related: toolshed/organising#615
Holy shit, I've just realised that we've been throwing away the output of the runtime deployment status all this time 😱 What the absolute hell 😂
With this diff:
I get:
Chaotic log output
Where we can clearly see:
So, it's now just a question of how to show this. I might try to copy/pasta over the presentation logic of Docker itself. But that wouldn't help with #473. I might try some fancy layout 🤔
Tips welcome!
`abra app upgrade` deploys the old versionto failed update silently rolls backfailed update silently rolls backto Failed update silently rolls backOh woah, yeh, the output has several issues with it, also the implementation! I don't think we can just bring in the output as-is, it will be confusing (also it includes a bunch of Docker jargon in it 😬 maybe that is why I naively silenced it ages ago, I can't remember 🤔)
https://github.com/docker/cli/issues/4907
(Just posting my notes as I go...)
Ah so sorry @decentral1se , I missed all these incredible updates because of The (latest) Great SMTP Breakage. Very stoked about your idea, let me know if you want help testing.