Re: what to do w/ hosts
Will Partain <[email protected]> Mon, 11 Mar 2002 11:19:07 +0000
| Newsgroups | gmane.comp.sysutils.ark.devel |
|---|---|
| Message-ID | <[email protected]> |
Folks, another tiny rumination on the "hosts quandary"... This is an issue of "ARK fundamentals", the "theoretical" side of the Arusha Project. For those of you closer to 'user' than 'developer', it's nothing to worry about :-) I have tried to give enough background so it is understandable to all, though. One of our basic theses is that sysadmin needs some extra thinking machinery. [Analogy: Newtonian mechanics really needed calculus; you do could talk physics without calculus, but life got a lot better with it.] ARK proposes a very simple "object model" based on what some call "value inheritance" as that extra machinery. We call the objects "things", and the idea is that a sysadmin can organize his/her world around the "things" that make most sense -- users, packages, web sites, routers, vendors, .. anything. These "things" can have "methods", i.e. fields that *do* something, i.e. code gets run. Fact: such code must be run on some host or hosts. At present, we have "hosts" as ARK things, but they are a bit of a hack because of their somehow-special role. Jonathan Hogg is leading a charge (ARK TNG) based around the elimination of the special pleading for hosts. I mused upon an alternative, namely to make hosts *entirely* special, i.e. not ARK things at all. Daniel Hagerty hinted at support for the latter view and, when he gets time, he may say more (please do :-). Simply saying hosts can't be ARK things sounds draconian to me. So another as-yet-unmentioned possibility is to draw some distinction between hosts-that-are-ARK-things and hosts-that-are-not. The latter entity/ies run code for ARK things, but are something else (abstractly speaking). The former (hosts-that-are-ARK-things) are "clean" ARK objects, no special pleading whatsoever. Jonathan et al.: I spent a fair bit of time tangling w/ hosts stuff last week, particularly where you mark a bunch of hosts as 'down' (treat as normal but don't run code on them) or 'pending' (um, something similar). It's really pretty horrible. If the horribleness could at least be shifted out of the ARK object world, that would be great. Another thing I find myself doing more and more is writing (e.g. for an ARK user object): user.acct_type(ARK_HOST_CTXT=RUN_HOST) rather than just user.acct_type() Whereas the latter is almost certain to give the same answer as the former, (a) it might not, (b) it might be slower, and (c) I feel paranoid some mornings :-) Again, something smells not quite right... Will