abra app ls -S
: FATA: [hash] is not supported
#554
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?
I recently undeployed an app which I had running a non-tagged version of the recipe (originally deployed using the --chaos argument). I then re-deployed using the current latest tag. i.e.:
It deployed correctly but afterward, I get this error when running:
abra version 0.10.1-beta-2fbef41
Hmmm, seems related: #549
I'm not exactly sure what is going on here. It seems like the deployed version didn't get its
coop-cloud.${STACK_NAME}.version=...
updated on theabra app deploy
? That seems strange. I think I have an idea for a fix but I'm not sure on the exact issue that led to this problem...@marlon is the app still deployed? Can you send output from
abra app labels baserow.domain.org
?when running abra app ls -S: FATA: [revision hash] is not supportedto `abra app ls -S`: FATA: [hash] is not supportedHere's the output.
fwiw I checked the recipe repo in ~/.abra/recipes/baserow and it's on tag
1.0.0+1.31.1
@marlon I am gonna look into this but I think if you have a chaos deploy which successfully runs, it will be commited to your
.env
. Then, when you runabra app deploy
, it will select that chaos commit version? I need to check this. I think #549 created a bug that I can fix but maybe there is another bug here that chaos commits are being carried into regularabra app deploy
invocations?Oh, you're right that the deployment in question has
TYPE=baserow:a8ae8285
in its.env
Perhaps this is ranging from the original bug now, but if I
undeploy
and then useconfig
to change the.env
to justTYPE=baserow
, then when Ideploy
again the correct version tag is used. After thatabra app ls -S
works fine.So I was able to fix the problem manually this way, at least!
@marlon yeh I was really wondering what people would make of that workflow. I kinda just realised it was necessary some time after a change by #493 I believe? @p4u1 @3wordchant are you also doing this workflow by editing the
.env
with config? I think this change was implemented after a discussion you had. I still didn't get time to investigate but more input is very much appreciated while we figure this one out.I've had to do that a couple of times to escape from abra trying to deploy the wrong version, but I don't think I've had to do that as standard to switch from chaos to non-chaos deployments, if that's what you're asking.
Indeed I can reproduce this:
In summary:
deploy
undeploy
deploy
(without chaos)abra app ls -S
The problem appears to be that
coop-cloud.ghost-demo.chaos=false
on the re-deploy in step 3.@decentral1se (or anyone), what do you think of this solution? We could alternatively set the
chaos
label totrue
ifapp.Recipe.EnsureVersion
returns that the version is chaos-y – but only setting that flag for manual chaos deployments seems a little cleaner to me.OK, I think I'm following and this seems like a very solid fix indeed. Is it the case that the
app deploy
(no chaos) is carrying the previously chaotic version into the new deployment based on the env version? That seems actually like quite a serious bug? Maybe people are relying on this behaviour now tho.... this would then be a breaking change! I think it's a good one tho. It would be great to have an integration test for this to avoid regressions in the future.Also, I think with #626 you can still get from undeployed chaos to latest version (or specific version) by just passing some flags/args and not always having to edit the version in the
.env
file. This tests covers it:Yep, exactly. I think this is arguably "expected", because operator-sync-wise, if I deploy a chaos version, then you pull the repo with the env file and redeploy, it shouldn't silently go back to a released version either.
But yes, seems risky and I think bailing on non-chaos deploy is the least-wrong thing to do here.
I will make it so.
Alternative solution (see #646 ) – make sure we set
chaos
label if we're redeploying a hash version.