|
Tools Owned by the ON
Gatekeepers
|
|
ID
|
Name/Description
|
User(s)
|
Use Frequency
|
Source Location
|
Implementation Language
|
UI Employed
|
SCM Hooks Used by Tool
|
Run Type
|
Dependencies
|
Access Needs
|
Input Data
|
Produced Data
|
Output Archived
|
|
OG1
|
add-gateling: adds a
person to the gatelings and notify lists when they do a bringover from
the gate or the clone
** It would be great to have a real email address for the
person bringing over, rather than a username which might be unique to
someone's laptop. We have to prune the lists wenever someone with
a non-global userid brings over. There's a bunch of hackery in
there right now that almost completely reduces that to zero, but that
won't scale outside Sun.
|
Everyone who brings over from ON (~700);
ON gatekeeping staff is primary user
|
every few minutes
|
/ws/onnv-gate/public/gate/bin/add-gateling
also in the IHV gate
|
ksh
|
CLI
|
bringover
|
On demand
|
TeamWare
|
None
|
None
|
Creates a mailing list
|
Yes
|
|
OG2
|
backout: aids in
creating an anti-delta in order to back out a bug
|
ON gatekeeping staff
|
1x-2x per build
|
/ws/onnv-gate/public/gk/bin/backout
|
ksh
|
CLI
|
Uses putback mail logs to find files associated
with a bugid;
parses SCCS history to discover what deltas are associated with a bugid.
|
On demand
|
SCCS
|
History
|
Putback Logs
|
Anti-deltas. Applies them
to files in a workspace which can then be checked in and putback.
|
No
|
|
OG3
|
buglist: extracts the list
of bugs that went into a build
|
ON gatekeeping staff
|
1x-2x per build
|
/w/onnv-gate/public/gk/bin/buglist
|
ksh
|
CLI
|
None
|
Automatic/
sometimes on demand
|
Putback logs
|
History
|
Yes
|
List of bugs. List used by
the RTC and to mark fix delivered.
|
Yes
|
|
OG4
|
clone_update: does the
nightly clone "snapshot"
** It would be nice for the clone to be a ZFS snapshot of
the gate which would require (other than actually having the gate on
ZFS) a productized version of zbringover.
|
ON gatekeeping staff
|
nightly
|
/ws/onnv-gate/public/gate/bin/clone_update
|
ksh
|
CLI
|
None
|
On demand
|
TeamWare
|
None
|
Works with TeamWare's lock file, breaking all
locks before doing the bringover (and notifying people that it's done
so)
|
None (except bringover itself)
|
No
|
|
OG5
|
daily_snapshot: creates a
daily snapshot of the gate sources
** ZFS integration would be fantastic. Danek is
currently running a parallel clone that does take a snapshot every
night, but those snapshots need to be available as separate workspaces.
|
ON gatekeeping staff
|
nightly
|
/ws/onnv-gate/public/gate/bin/daily_snapshot
|
ksh
|
CLI
|
None
|
Automatic
|
Mostly doesn't depend on TeamWare: uses cpio to
transfer the files, though it isn't clear why this is the case.
|
None
|
None
|
Email (informative)
|
No (other than the snapshots themselves)
|
|
OG6
|
daily_update: maintains a
shadow gate to allow for diffs generation
** This tool shouldn't exist. If the SCM we choose
requires something like this, we've picked the wrong SCM.
|
ON gatekeeping staff
|
nightly, after the clone, to make sure that the
"daily" workspace isn't out of date
|
/ws/onnv-gate/public/gate/bin/daily_update
|
ksh
|
CLI
|
None
|
Automatic
|
TeamWare, for bringover
|
None
|
None, other than the locking mechanism
|
Email
(almost always uninteresting)
|
|
|
OG7
|
lock-check: warns if the
gate is locked for too long
|
ON gatekeeping staff
|
every 5 minutes
|
/ws/onnv-gate/public/gk/bin/lock-check
|
ksh
|
CLI
|
TeamWare's lock file
|
Automatic (via cron)
|
TeamWare
|
None
|
None
|
Email
|
No
|
|
OG8
|
lock-gate/unlock-gate: lock
the gate from all putbacks/bringovers in case of emergency
|
ON gatekeeping staff
|
1x per build
|
/ws/onnv-gate/public/gk/bin/lock-gate
|
ksh
|
CLI
|
None/All:
Modifies the SCM's access control file
|
On demand
|
TeamWare
|
None
|
Manipulates repository-wide metadata
|
None
|
No
|
|
OG9
|
pbcheck: not to be
confused with "wx pbcheck": does a subset of "wx pbchk" checking on the
gate after each putback, including cstyle, jstyle, hdrchk, as well as
some permissions checking, sending an email if something needs to be
fixed
++ Enforces development standards.
** It should perform its check before the putback
happens. It should also do the full "wx pbchk", plus a few other
things, but wx doesn't have the ability to check an arbitrary workspace
based on a putback that's already happened (it's possible, but hacky,
and hasn't been high enough priority).
|
ON gatekeeping staff/
ON community
|
on every putback
|
/ws/onnv-gate/public/gate/bin/pbcheck
|
ksh
|
CLI
|
putback-to
|
Automatic
|
SCCS/TeamWare
|
History (immediately preceding delta)
|
None
|
Email (when finds problems)
|
No
|
|
OG10
|
pbconfirm: sends a message
to the engineer preforming a putback that the putback happened, what
build it went into, and what the next steps are
|
ON gatekeeping staff/
ON community
|
on every putback
|
/ws/onnv-gate/public/gate/bin/pbconfirm
also in the IHV gate
|
ksh
|
CLI
|
putback-to
|
Automatic
|
TeamWare
|
None
|
Build Schedule
|
Email
|
No
|
|
OG11
|
pre-mkdelivery: takes the
snapshot, does all the biweekly-build bookkeeping, kicks off the builds
|
ON gatekeeping staff
|
bi-weekly
|
/ws/onnv-gate/public/gk/bin/pre-mkdelivery
|
ksh
|
CLI
|
None
|
Automatic (can be on demand)
|
SCCS: minor: updates the onnv web page which is
under SCCS control.
TeamWare: uses bringover to create the snapshots and pre-populate the
build workspaces, as well as doing the equivalent of lock-gate (#4) on
the snapshot. Intimately familiar with the structure of the ON
workspace under TeamWare to shware the snapshot properly.
|
None
|
Not directly (some of the tools it runs look in
the logs)
|
|
|
|
OG12
|
putback_diffs: backend
workhorse - creates diffs/webrev, pings doc writes, checks to make sure
RTIs are approved
** RTI should be checked before putback. There
should be no need for the daily workspace - indeed, diffs generation
should be a trivial operation with any modern SCM.
|
ON gatekeeping staff/
few other who have expressed interest in these diffs
|
on every putback
|
/ws/onnv-gate/public/gate/bin/putback_diffs
|
ksh
|
CLI
|
putback-to
|
Automatic
|
SCCS: to produce the delta tree diffs
TeamWare
|
History
|
RTI database, daily workspace
|
Email/
creates web pages/
maintains another workspace
|
Yes
|
|
OG13
|
update_SUNWonbld: maintains
the copies of SUNWonbld on the gate machines
|
ON gatekeeping staff
|
run nightly (doesn't necessarily do something
every night)
|
/ws/onnv-gate/public/gate/bin/update_SUNWonbld
|
ksh
|
CLI
|
None
|
Automatic
|
TeamWare: to maintain the tools build workspace
|
None
|
None
|
Email (for human to verify that everything
worked)
|
No
|
|
OG14
|
update_flagdays: maintains
the ON flagday web page
** NLP to merge updates to flag-day/heads-up messages.
|
ON gatekeeping staff
|
after many putbacks
|
/ws/onnv-gate/public/gate/bin/update_flagdays
|
ksh
|
CLI
|
putback-to
|
Automatic
|
TeamWare: parses TeamWare putback messages
|
None
|
None
|
Maintains a web page
|
Yes
|