<!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>