tazjin / nixery

Container registry which transparently builds images using the Nix package manager. Canonical repository is https://cs.tvl.fyi/depot/-/tree/tools/nixery
https://nixery.dev/
Apache License 2.0
1.8k stars 67 forks source link

Error 500 : internal error (ansible-core) #159

Closed rivoalrivoal closed 1 year ago

rivoalrivoal commented 1 year ago

Hello,

For the past few hours (14:00 UTC), when I try to pull the image using ansible-core, I'm getting a 500 error:

docker pull nixery.dev/shell/python311/python311packages.ansible-core
Using default tag: latest
Error response from daemon: received unexpected HTTP status: 500 Internal Server Error

Around 9:00 UTC, we were able to use this image without any issues.

Do you have any insights into this issue?

Thank you!

tazjin commented 1 year ago

Hey! A nixpkgs update rolled out earlier today, I'm checking if that is related now.

tazjin commented 1 year ago

It seems like that is the case, there's some dependency of ansible-core called rednose that was updated and is failing to build: https://gist.github.com/tazjin/7d837775e2ecf870b04e54e15c7abf65

It seems like it's a plugin only for tests that is adding colour to test outputs, which seems like a pretty silly thing to fail an entire build on. I don't think we can do much about it right now other than roll-forward and hope it gets fixed soon upstream.

The other alternative is disabling tests, but that will cause the whole package to rebuild (Nix won't cache it without the tests), which will probably hit time limits (as nixery.dev is a free service it doesn't have unlimited resources available).

I've kicked off a CI build with a nixpkgs bump, if it succeeds we'll merge it and roll it out - maybe there's a fix in it already.

tazjin commented 1 year ago

Also want to add about the error message you're seeing: The Docker registry protocol unfortunately doesn't let us feed back a better error message :(

rivoalrivoal commented 1 year ago

I would like to thank you for your prompt response.

For now, i use "python3/python3packages.ansible-core", which corresponds to version 3.10 of python (WTF?) and it works ! 👍

tazjin commented 1 year ago

@rivoalrivoal Interesting! So the bug in that package is probably just with a specific Python version. I'll see if I can pin Nixery to the stable channel (it's following our unstable channel atm), that might make things better.

rivoalrivoal commented 1 year ago

Yes, i think it's only for Python 3.11.

tazjin commented 1 year ago

Nixery is now using the stable channel, and this package works there.