Fatal on app ls -S if recipe commit doesn't exist #795

Open
opened 2026-03-05 10:18:49 +00:00 by iexos · 6 comments
Member

On our test server is an app with

TYPE=collabora:45129710+U

This commit doesn't exist in the collabora recipe history, probably never pushed.

Log:

$ abra app ls -S -s <server> --debug
[...]
DEBU <recipe/git.go:162> attempting to checkout '45129710' as chaos commit
FATA <recipe/git.go:166> unable to resolve '45129710': reference not found

Instead of failing, abra should catch this and mark it somehow in the output list.

On our test server is an app with ``` TYPE=collabora:45129710+U ``` This commit doesn't exist in the collabora recipe history, probably never pushed. Log: ``` $ abra app ls -S -s <server> --debug [...] DEBU <recipe/git.go:162> attempting to checkout '45129710' as chaos commit FATA <recipe/git.go:166> unable to resolve '45129710': reference not found ``` Instead of failing, `abra` should catch this and mark it somehow in the output list.
iexos added the
bug
label 2026-03-05 10:18:49 +00:00
Author
Member

Same error message when trying app ps. Don't know if that cannot work without checking out the commit, but at least the error msg could be more helpful

Same error message when trying `app ps`. Don't know if that cannot work without checking out the commit, but at least the error msg could be more helpful
Owner

Yes, <hash>+U, specifically the +U means that the operator/maintainer was hacking, deployed something and then didn't "clean up" after (committing it, releasing it, etc.). We should certainly improve the error message. Maybe there is more documentation we can write about +U being the result of "own risk" 🙃 Not sure if abra can do more but open to proposals!

Yes, `<hash>+U`, specifically the `+U` means that the operator/maintainer was hacking, deployed something and then didn't "clean up" after (committing it, releasing it, etc.). We should certainly improve the error message. Maybe there is more documentation we can write about `+U` being the result of "own risk" 🙃 Not sure if `abra` can do more but open to proposals!
Author
Member

I am wondering about expectations here. We share a development server, it would be great if I could just do all the common abra operations on it without needing to be aware about experiments by other admins. It seems that currently all guarantees are off if someone starts hacking on an app.

I am wondering about expectations here. We share a development server, it would be great if I could just do all the common `abra` operations on it without needing to be aware about experiments by other admins. It seems that currently all guarantees are off if someone starts hacking on an app.
Owner

It seems that currently all guarantees are off if someone starts hacking on an app.

It's called --chaos for a reason 😛

> It seems that currently all guarantees are off if someone starts hacking on an app. It's called `--chaos` for a reason 😛
decentral1se added this to the Abra "next" project 2026-03-05 14:12:33 +00:00
Owner

We did improve the error message for the deploy scenario, so this style of error message could be followed for this code path?

cli/app/deploy.go Lines 388 to 390 in 227d37dc26
return "", errors.New(i18n.G(`cannot redeploy previous chaos version (%s), did you mean to use "--chaos"?
to return to a regular release, specify a release tag, commit SHA or use "--latest"`,
formatter.BoldDirtyDefault(app.Recipe.EnvVersionRaw)))

We did improve the error message for the deploy scenario, so this style of error message could be followed for this code path? https://git.coopcloud.tech/toolshed/abra/src/commit/227d37dc2692cf72e1f6c2a1c04568fee633582c/cli/app/deploy.go#L388-L390
Author
Member

Yes I think its fine to just point to --chaos.

On a bigger picture though I don't understand why we distinguish between chaos/non-chaos on a non-modifying command?

Yes I think its fine to just point to `--chaos`. On a bigger picture though I don't understand why we distinguish between chaos/non-chaos on a non-modifying command?
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: toolshed/abra#795
No description provided.