WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] organizing virtual machines

To: Tom Hibbert <tom@xxxxxxxxx>
Subject: Re: [Xen-devel] organizing virtual machines
From: "Eric S. Johansson" <esj@xxxxxxxxxx>
Date: Mon, 21 Feb 2005 21:45:27 -0500
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 22 Feb 2005 02:46:31 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: <421A867A.6010002@xxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <31F19452BA8B2042A359D849B74B1BF00C0415@xxxxxxxxxxxxxxxxxxx> <421A867A.6010002@xxxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
dead badger bites can be pretty nasty...

I believe I was over thinking the problem.

Given three pieces of data (base line file, diffs, and result) you can derive any one file from the other two. If you have a /etc baseline, /etc diffs you can derive your working /etc. This also means that if you make changes to working /etc, you can regenerate your diffs. If you upgrade and have changes to the baseline, you can regenerate your working /etc.

operationally, this means you really need only two commands. etc_working and etc_diffs to generate even the working file or its difference from the baseline. they are effectively wrappers for patch and diff but hopefully somewhat more user-friendly and infinitely easier to get right much of the time.

If you create a user space file system to mediate all this information, a simple timestamp comparison of three elements would tell you whether or not you need to regenerate data or just hand back the cached copy. Performance shouldn't be too hideous.

in a virtual machine environment, one would obviously need to associate each diff directory with each machine but would only need a single baseline. This would then allow for a single copy for your system binaries and only need to have /var as a start of per virtual machine storage

I don't have a good solution for cases where you really want to overwrite the baseline files instead of creating a diff. The best I can think of it is if a regenerated working /etc file is the same as what is in the /etc directory then there is no baseline change. If on the other hand there is a difference then that's an indication that the baseline changed. It would be a relatively safe bet to pull the potential new baseline back into the baseline hierarchy and regenerate the deltas from there. Obviously, if something breaks, it's time to call the human.

One way this can break is if somebody changes to file without pushing the difference back into the diff hierarchy. But hopefully, people won't be too careless.

anyway, that's the simplest I can make it.  objections?


---eric

--
http://www.salon.com/books/review/2004/12/18/heloise/index.html

The basis of Abelard's philosophy, which he taught to Heloise, was
that logic had to be applied to religion in order to arrive at the
truth.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel