fozzilinymoo.org

the home of Doran Barton (& family)
 
 
Home ::> Events ::> Minnesota ::> Work ::> Doran
 

Doran at Work

Working at Cray was a pretty cool experience. I had never worked for a company so big before. Some of my fears were eased while many of my suspicions were confirmed.

Responsibilities

I worked on several projects at Cray. Some were on-going, some drifted into the ether and were never heard of again. All were learning experiences in one form or another.

Asset Webification

When I began my internship, I was given a short, vague list of tasks to pursue. One of those items was to, as my supervisor put it, "webify asset data." Essentially, he wanted me to create a system for tracking down what computer systems were being used throughout the Cray Research Park campus and store the information in a database which could be viewed from a WWW browser.

Tracking down the various Unix workstations wasn't going to be a problem because there are several methods you can use to determine if a computer is running Unix. In addition, writing a daemon for a Unix workstation so that it would report its configuration to a querying program would be easy.

A program called NetOctopus was installed on the Macintosh network which let the Mac admins keep track of those computers. That could easily be used to gather information about the Macs.

However, to our knowledge, nothing existed for the PCs. I did some research and finally concluded that I would need a copy of MS Visual C++ so I could write my own daemon for the Windows 95 PCs that would look at the Windows Registry and report the system configuration when queried on a TCP port number.

However, before my supervisor could obtain a copy of Visual C++ for me, we discovered that the makers of NetOctopus had a PC version of their client software. Problem solved.

Unfortunately, talk of this webification project died off along with some of my other projects. I was looking forward to doing it.

Novell Server Decommission

I was also told I would be doing some work on Windows NT as there were big plans to convert all PC and Mac users from Novell NetWare to Windows NT that summer. There were plans to get several Compaq ProLiant servers which would run Windows NT with WinDD ICA server software. This would let many PC users move over to using Unix workstations and run an ICA client to do tasks they would normally use their PC for.

Unfortunately, budget constraints prevented the purchase of more than one Compaq server. This server arrived and was used to test the planned configuration. While I was told I would probably get some exposure to using and configuring an NT server while I was at Cray, it never happened.

However, as part of that project, users of the existing Novell NetWare network had to be moved off to facilitate its decommissioning. To do this, I began creating a simple database of the users, when their last login times were (to find out how actively they used the servers), and whether or not they had files stored on the servers.

Once I had established who the "active" users were, I contacted each of them via e-mail and explained what was happening and that as a precursor to the conversion, we needed to know what they used the NetWare servers for so we could accomodate their needs in other ways.

It was determined that Mac users would be the best people to move off the Novell servers first.

Backup Monitor

A couple of weeks after I started working at Cray, I was approached by Brenda and Dan about developing a set of scripts which would process output generated by the backup systems and notify individual system administrators about backup failures and the like.

This would be accomplished in Perl-- a language I had experience with, but not much. My experience with Perl was due to taking other people's Perl code and modifying it to do what I needed to do. I had never written a Perl program from scratch.

So, I ran to Barnes & Noble and bought the Camel Book: O'Reilly's Programming Perl and started teaching myself Perl. Before long I was writing my own Perl code like I had known it for years.

The network system consists of two SGI Challenge servers connected to their own tape jukebox system. Backups are made every night varying from full backups to various levels of incremental backups. After each backup, a report is generated which describes which host filesystems were backed up. The report looks like this.

My task was to write a Perl script which would read through the daily reports generated by the backup systems and populate a database with its information.

Initially, we were going to arrange so I would have access to the company's Oracle database. However, to avoid having to involve database admins and other system administrators, we decided to install a Postgres DBMS on a four-processor SGI machine our group was testing IRIX v6.4 on. Postgres was my suggestion because I had already done quite a bit of work with it.

I designed a small database system which would store data about each filesystem backed up, the names of client computers and backup servers, and information about system administrators responsible for client computers.

My Perl script, sift.pl, identified failed backups and then sent e-mail to the system administrators responsible for the system which failed. This e-mail looked like this.

After each report was processed, a summary report was generated and sent to Dan and Brenda giving them computed information about how much data was backed up, the average backup rates, etc. That summary report looks like this.

With the data from each backup stored in the database, a facility was needed to access the data. In addition, a method for analyzing the data had to be created. We decided to create a WWW-based facility.

In addition to data analysis, backup administrators needed to be able to modify information like which system adminstrators were responsible for which individual systems.

On the data analysis side, I decided to write a set of Perl scripts which would dynamically generate line graphs showing backup durations, amounts, and transfer rates over time. To do this, I downloaded Lincoln D. Stein's GD.pm Perl module which is a Perl port of Thomas Boutell's GD graphics library.

Below are examples of the charts generated:






PGP

I have always had an interest in data encryption and computer security, so when I noticed there was a need to have PGP installed on Cray's network, I volunteered.

This gave me the opportunity to learn all about PGP, how it works, and how to integrate it into popular shell e-mail programs like Pine and Elm.

Netscape Calendar Server

Cray was looking at various scheduling applications to find one which allowed for easy room scheduling (i.e. conference rooms). I downloaded the 60-day trial of Netscape Calendar Server v1.1 and installed it, configured it, and documented it.