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