Brock Pytlik wrote:
I'm sure you've thought of this, but why not leverage ZFS for all this? You could have the depot always serving from a read-only zfs snapshot (clone?). When you're publishing, you publish to the current/live/writable file system, when you're done with the staged publishing (including generating the search indexes and feed cache if necessary), a zfs snap shot is taken (and a clone if necessary). The depot then repoints itself to serve out of the new snapshot/clone.

This is what our release engineering group does when doing the OpenSolaris imports internally. We clone the "live" repository and restart the repo daemon with the same port but as a read-only clone. This lets people continue to pull the previous build as the new one take some time to complete it's import to a private port. Then (after some validation) we restart the public repo daemon with the updated packages.

There is still a window during which someone might get an image-update failure as the repositories are swapped over and back, but the window is much smaller.

What's the exact behavior when pkg.depotd is stopped in the middle of an image-update, and then restarted with a newer catalog?

-- Alan
Sorry if I'm rehashing something you've already thought of and dismissed, it just seems strange to be reinventing a snap shotting mechanism, especially since I don't think we'll be able to duplicate the ondisk space savings of snapshots, which if you want to serve from arbitrary past snapshots, seem significant.

Shawn Walker wrote:
Brock Pytlik wrote:
Shawn Walker wrote:
There is a major flaw here that just came to mind; notably, that the catalog, index, and updatelog directory all have to be included as part of this. In other words, if I'm serving a particular version of a catalog, then I also have to serve a corresponding version of the search index and updatelog.
Because the search index is already being built in an alternate location then moved into place when it's able to, it would be a fairly simple change to alter this behavior to not replace the current search index until actually told to.
Since I need the ability to serve any previous snapshot, I'd also need to snapshot the search data, etc. One copy of the search data alone wouldn't suffice, unless I'm misunderstanding you.
Oh, didn't know you wanted to be able to do any previous snapshot.
Brock
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to