--On Wednesday, March 19, 2008 10:55:26 AM -0500 Nicolas Williams <Nicolas.Williams at sun.com> wrote:
> On Wed, Mar 19, 2008 at 08:24:12AM -0800, Gary Winiger wrote: >> > Nicolas Williams wrote: >> > > But one thing is clear: the architectural direction for Solaris is >> > > and long has been to move away from configuration files whose admin >> > > interface is $EDITOR. >> > > >> > > >> > Just curious. What is/was the reasoning/logic behind this change? >> > What was seen as being so valuable that would overcome the negatives >> > of being so different from other Unix platforms? >> >> Separation of duties and accountability to name two. Data >> validation and format could be two more. > > Allow me to add some more: > > - Simpler upgrades. Rather than have pkg scripts that edit config > files to upgrade them to the latest format/whatever, we can instead > have code in the services that notices old property values and fixes > those. Less brittle upgrade scripting -> better for me and better > for you. I don't know what other people do. We handle upgrades by having the system configuration be reproducible to begin with, and then sinply wipe, reinstall, and subscribe to whatever services/features that machine is supposed to have. Vendor-provided update mechanisms tend to have little respect for our integration (especially when we have to change things that the OS vendor assumed would be the same for everyone). They also tend to be fragile, where as install-from-scratch is usually pretty reliable and can be done almost completely noninteractively. This problem is not specific to Solaris; every OS we've ever supported has had this problem to one extent or another. > - The alternative is to alway suck in textual config data if you need > it to be in a database, and you have to detect changes to the text > file and suck all of it in when it changes, with no idea if the delta > is tiny or huge. Yup; that's basically what we want. I'm fine with you only sucking in the text file when I tell you it has changed. But yes, you have no idea whether the delta is tiny or huge, because when we make the change, _we_ can't know that -- the answer may be different on different machines. -- Jeff