<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: Wild-eyed thinking aloud: Python System Management Infrastructure</TITLE>
</HEAD>
<BODY>
<BR>
<BR>
<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: William Annis [<A HREF="mailto:annis@biostat.wisc.edu">mailto:annis@biostat.wisc.edu</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Friday, August 03, 2001 11:56 PM</FONT>
<BR><FONT SIZE=2>> To: python-list@python.org</FONT>
<BR><FONT SIZE=2>> Subject: Wild-eyed thinking aloud: Python System Management</FONT>
<BR><FONT SIZE=2>> Infrastructure</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I've been a Unix system adminstrator for about 7 years now,</FONT>
<BR><FONT SIZE=2>> longer if you count my student admin jobs. With a few, brief</FONT>
<BR><FONT SIZE=2>> exceptions, I have always worked places with small computing budgets.</FONT>
<BR><FONT SIZE=2>> We can't afford sexy system management packages which can sometimes</FONT>
<BR><FONT SIZE=2>> cost in the US$100,000s. I mean things like Tivoli, CA Unicenter,</FONT>
<BR><FONT SIZE=2>> Bull's OpenMaster, etc.</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>
<P><FONT SIZE=2>I think, during CA Unicenter 2.2 ver, CA released the "framework" FREE.</FONT>
<BR><FONT SIZE=2>You can search arround and may find someone with the 2 cd set. The </FONT>
<BR><FONT SIZE=2>framework is quite good. With 2.4, it's still there.</FONT>
</P>
<P><FONT SIZE=2>> About once a year I run into some situation where I *want*</FONT>
<BR><FONT SIZE=2>> something like one of these tools. Like many academic sites, we</FONT>
<BR><FONT SIZE=2>> started small with a handful of Unix machines and a few dozon users.</FONT>
<BR><FONT SIZE=2>> Now we have 100s of users and about 70 Unix machines all doing</FONT>
<BR><FONT SIZE=2>> different jobs. Now I regularly have to rewrite or at least try to</FONT>
<BR><FONT SIZE=2>> fix the tools that worked with 15 machines but now fall down: a mass</FONT>
<BR><FONT SIZE=2>> of shell scripts, C and perl glommed together with duct tape, caffeine</FONT>
<BR><FONT SIZE=2>> and cheap, grad-student labor.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> It may all just make me crazy. Our old user management system</FONT>
<BR><FONT SIZE=2>> (perl and some C) had a unique and beautiful problem. It generated</FONT>
<BR><FONT SIZE=2>> /etc/passwd and /etc/group from a single data file. An extra space at</FONT>
<BR><FONT SIZE=2>> the end of a line could cause some confusion in the parsing, and what</FONT>
<BR><FONT SIZE=2>> you sometimes got was a recreated /etc/passwd with the names and UIDs</FONT>
<BR><FONT SIZE=2>> slightly out of alignment. It was a wonder to behold, a nightmare to</FONT>
<BR><FONT SIZE=2>> fix. That system is gone now.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> As the years go by I keep reimplementing these things (if</FONT>
<BR><FONT SIZE=2>> we're lucky, we buy something) and I can't help but wonder if there</FONT>
<BR><FONT SIZE=2>> isn't some Better Way. I keep writing these tools, but they can't</FONT>
<BR><FONT SIZE=2>> chat with each other.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Recently I have found myself designing a database-driven</FONT>
<BR><FONT SIZE=2>> system to keep track of our machines, what they do, where they sit,</FONT>
<BR><FONT SIZE=2>> etc., and I keep thinking "William, you should write an</FONT>
<BR><FONT SIZE=2>> *infrastructure* for all this system junk you do." I've been working</FONT>
<BR><FONT SIZE=2>> on a system monitoring tool for several years now, so I have some</FONT>
<BR><FONT SIZE=2>> experience in writing distributed systems that, so I already have some</FONT>
<BR><FONT SIZE=2>> ideas. My thoughts right now lean toward a central communications</FONT>
<BR><FONT SIZE=2>> daemon/dispatcher attached to a database with various other daemons</FONT>
<BR><FONT SIZE=2>> devoted to specfic tasks:</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> * keep track of machine data (my current worry)</FONT>
<BR><FONT SIZE=2>> * user data (including fiscal data if necessary)</FONT>
<BR><FONT SIZE=2>> * system monitoring, event and problem notification</FONT>
<BR><FONT SIZE=2>> * for the adventurous, things like printer and job control, etc...</FONT>
<BR><FONT SIZE=2>> (this should be a infrastructure, and it should be easy</FONT>
<BR><FONT SIZE=2>> to plug in whatever you can think up)</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Of course there are free various tools that do these sorts of things</FONT>
<BR><FONT SIZE=2>> out there, but they don't exactly play well together, if at all. I</FONT>
<BR><FONT SIZE=2>> have ideas on how communication should work, and though I have avoided</FONT>
<BR><FONT SIZE=2>> the XML kool-aid up to now, I'm willing to concede XML-RPC might be</FONT>
<BR><FONT SIZE=2>> useful here.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I'd rather not do this alone. So, if there are other Unix</FONT>
<BR><FONT SIZE=2>> admins, or NT admins, for that matter, who want to see their favorite</FONT>
<BR><FONT SIZE=2>> language used to develop something like this and are willing to do</FONT>
<BR><FONT SIZE=2>> some actual work, please contact me. If there's no interest, I'll</FONT>
<BR><FONT SIZE=2>> just crawl back into my office and hush up. :)</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>
<P><FONT SIZE=2>If decide to write, check RMON and especially "WBEM". And I guess there must</FONT>
<BR><FONT SIZE=2>be some existing effort that does something similar using above standards.</FONT>
</P>
<P><FONT SIZE=2>Incedently, I thaught I want to have some test project to learn python , </FONT>
<BR><FONT SIZE=2>and was thinking of something like NOCOL, a OO Framework, rewritten in python</FONT>
<BR><FONT SIZE=2>so that I just have to convert system oriented C code to OO python code :).</FONT>
</P>
<P><FONT SIZE=2>> -- </FONT>
<BR><FONT SIZE=2>> William Annis - System Administrator - Biomedical Computing Group</FONT>
<BR><FONT SIZE=2>> annis@biostat.wisc.edu PGP ID:1024/FBF64031</FONT>
<BR><FONT SIZE=2>> Mi parolas Esperanton - La Internacian Lingvon www.esperanto.org</FONT>
<BR><FONT SIZE=2>> -- </FONT>
<BR><FONT SIZE=2>> <A HREF="http://mail.python.org/mailman/listinfo/python-list" TARGET="_blank">http://mail.python.org/mailman/listinfo/python-list</A></FONT>
<BR><FONT SIZE=2>> </FONT>
</P>
<P><FONT SIZE=2>/prasad</FONT>
</P>
<BR>
<P><B><FONT SIZE=2>.. </FONT></B>
</P>
</BODY>
</HTML>