--On Thursday, August 15, 2002 1:28 PM -0700 Jim Trocki 
<[EMAIL PROTECTED]> wrote:

>
> if you'd like to write some applications (and perhaps an alert for mon)
> which implement rotating "on call" schedules, have a go at this code
> that i've written:
>

Jim,

Interesting...  I've been starting to tackle the same problem here, and I 
think maybe we should share some ideas.

You've got a interesting start, but I think you're missing some things I've 
been working on.

In particular, for my needs I need multiple oncall schedules, for multiple 
groups (for internal organization purposes), all specified in the same 
config files.

I also want:
Automated generation of the schedules, I don't want to have to write a 
one-off perl script to populate the oncall schedule.

Different schedule intervals for different groups.  i.e. group X rotates 
responsibility weekly, group Y does it daily, group Z does it hourly...

And multiple responsibility listings for each group (i.e. a primary oncall 
person, and a fallback/secondary for escalation purposes)



My current base config file format was looking something like:


group=orggroup1
rotation=primary
rotation=secondary
user=user1
user=user2
user=user3
user=user4
period=weekly


And then I read in all the files from an Overrides directory, which look 
like:
group=orggroup1
when=08/11/2002
until=08/15/2002
primary=user3
secondary=user4
overriddenby=user1


I still need a way to specify a starting point in the rotation (start with 
user1 as primary and user2 as secondary in week X) and a way to specify the 
rotation order (follow user1 with user3 then user... etc.  Can probably 
just use the order of the users in the config file for this) and a way to 
specify the pattern of the rotations (users are by default secondary the 
week before they are primary, or 3 weeks apart, or whatever)

My primary purpose in writing this had been to do some automated rotation 
of pager aliases for Qpage.  So every day at a particular time a script 
would run and generate Qpage config file fragment (which would be reference 
from the main config file via an include statement).  The script would 
generate aliases of the form 'groupname-rotation', so orggroup1-primary and 
orggroup1-secondary would exist as qpage aliases which would look like:

group=orggroup1-primary
   member=user3

group=orggroup1-secondary
   member=user4


I am also intending to write a simple web front end which can both display 
the oncall schedule, and provide a way to insert overrides.

If we could incorporate some of the added oncall functionality into your 
module, I'd be happy to write the qpage.cf updater and web interface to use 
your module, and they could be distributed in your tools collection.


-David Nolan
 Network Software Developer
 Computing Services
 Carnegie Mellon University

Reply via email to