diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-02-03 17:40:29 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2015-04-22 10:06:51 +0000 |
commit | e258076f555ef5e66aa5888cbfc23bb40e50e72b (patch) | |
tree | e9ccd0f282993c86a69627214e33e87dc898b7f5 /ostree-repo-server | |
parent | aa6dfcbb70c03dfeb3f9af02283aa1ab83667162 (diff) | |
download | morph-baserock/richardmaw/ostree-squash.tar.gz |
Use OSTree for hardlink and artifact cache and a CoW unionfs to make system artifacts fasterbaserock/richardmaw/ostree-squash
This replaces the artifact cache and the hardlink cache with an OSTree
repository, which is a great performance improvement when the cache
directory and temporary directory are on the same filesystem.
Additionally it can de-duplicate file contents.
When we construct system artifacts deploy them, the staging area needs
to be writable, so OSTree on its own is insufficient, as its hardlinks
require the root to be kept read-only.
To handle this we use either the in-kernel overlayfs or unionfs-fuse,
though there is no automatic fall-back and it needs to be specified
manually.
To support distributed building, the artifact cache is extended to
support an OSTree repository.
Unfortunately cross-bootstrap is not expected to work with these changes
at this point in time.
IMPORTANT NOTE: We are well aware that this patch is too large to be
comprehensible. We intend to revert and apply a cleaned up series when
it is ready.
Change-Id: I693bb752500dab3c6db3b97393689239ae7071a8
Diffstat (limited to 'ostree-repo-server')
-rwxr-xr-x | ostree-repo-server | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ostree-repo-server b/ostree-repo-server new file mode 100755 index 00000000..e6dc4a56 --- /dev/null +++ b/ostree-repo-server @@ -0,0 +1,15 @@ +#!/usr/bin/python + +from BaseHTTPServer import HTTPServer +from SimpleHTTPServer import SimpleHTTPRequestHandler +from SocketServer import ThreadingMixIn + +class ThreadedHTTPServer(ThreadingMixIn, HTTPServer): + """Handle requests in a separate thread""" + +handler = SimpleHTTPRequestHandler +handler.protocol_version="HTTP/1.0" +server_address = ('', 12324) + +httpd = ThreadedHTTPServer(server_address, handler) +httpd.serve_forever() |