bug#26201: hydra.gnu.org uses ‘guix publish’ for nars and narinfos

2017-03-26 Thread Tobias Geerinckx-Rice
Mark,

On 24/03/17 09:12, Mark H Weaver wrote:
> IIUC, with "proxy_cache_lock on", we have two choices of how other
> client requests will be treated:
> 
>   [badly, ed.]

Eh. You're probably (and disappointingly) right.

When configuring my little cache, I had a clear idea of how such a cache
 should work (basically, your last scenario below), then looked at the
nginx documentation to find what I had in mind. ‘proxy_cache_lock’ matched.

I should have been more pessimistic and done more testing.
Shame on me, &c. Too much other things on my mind. :-/

> Or at least that's what I'd expect based on my reading of the nginx docs
> linked above.  I haven't tried it.

I can try to do some simple tests tomorrow.

> IMO, the best solution is to *never* generate nars on Hydra in response
> to client requests, but rather to have the build slaves pack and
> compress the nars, copy them to Hydra, and then serve them as static
> files using nginx.

A true mirror at last! Do we have the disc space for that?

And could Hydra actually handle compressing *everything*, without an
infinitely growing back-log? I don't have access to any statistics, but
I'm guessing that a fair number of package+versions are never actually
requested, and hence never compressed. This would change that.

> A far inferior solution, but possibly acceptable and closer to the
> current approach, would be to arrange for all concurrent responses for
> the same nar to be sent incrementally from a single nar-packing process.
> More concretely, while packing and sending a nar response to the first
> client, the data would also be written to a file.  Subsequent requests
> for the same nar would be serviced using the equivalent of:
> 
>   tail --bytes=+0 --follow FILENAME
> 
> This way, no one would have to wait an hour to receive the first byte.

^ This is so obviously the right solution, that it would be
disappointing if nginx really couldn't be made to do it. It already
buffers proxy responses to a temporary file anyway...

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


bug#26271: 'guix system' does not support common build option '--root'

2017-03-26 Thread Chris Marusich
Hi,

The manual says ((guix) Invoking guix system) that the options to 'guix
system' "can contain any of the common build options".  Although some
common build options (e.g. '--fallback') do seem to work, I have noticed
that the '--root' option does not.  Consider the following:

--8<---cut here---start->8---
[0] marusich@garuda:/tmp
$ GUIX_BUILD_OPTIONS=--root=foo guix system disk-image --image-size=1G 
~/guix/gnu/system/install.scm
guix system: error: root=foo: unrecognized option
[1] marusich@garuda:/tmp
$ guix system disk-image --root=foo --image-size=1G 
~/guix/gnu/system/install.scm
guix system: error: root=foo: unrecognized option
[1] marusich@garuda:/tmp
$ guix system disk-image -r foo --image-size=1G ~/guix/gnu/system/install.scm
guix system: error: r: unrecognized option
[1] marusich@garuda:/tmp
$ 
--8<---cut here---end--->8---

I expected the 'guix system' command to run normally and produce an
indirect GC root at path /tmp/foo.  Instead, the command failed.  The
'--root' option does work with 'guix build'.  Is the documentation
incorrect, or is this a bug?

-- 
Chris


signature.asc
Description: PGP signature