Chapter 2 HPSS Planning
90 September 2002 HPSS Installation Guide
Release 4.5, Revision 2
2.8.7 Gatekeeping
Every Gatekeeper Server has the ability to supply the Gatekeeping Service. The Gatekeeping
Service provides a mechanism for HPSS to communicate information through a well-defined
interface to a policy software module to be completely written by the site. The site policy code is
placed in a well-defined site shared library for the gatekeeping policy (/opt/hpss/lib/
libgksite.[a|so]) which is linked to the Gatekeeper Server. The default gatekeeping policy shared
library does NO gatekeeping. Sites will need to enhance this library to implement local policy rules
if they wish to monitor and/or load balance requests.
The gatekeepingsite policy code will need to determine which types of requests it wants to monitor
(authorized caller, create, open, and stage). Upon initialization, each BFS will look for a Gatekeeper
Server configured into the same storage subsystem. If one is found, then the BFS will query the
Gatekeeper Server asking for the monitor types by calling a particular Gatekeeping Service API
(gk_GetMonitorTypes) which will in turn call the appropriate site implemented Site Interface
(gk_site_GetMonitorTypes) which will determine which types of requests it wishes to monitor.
This query by the BFS will occur each time the BFS (re)connects to the Gatekeeper Server. The BFS
will need to(re)connectto the Gatekeeperwhenever the BFSor Gatekeeper Server is restarted. Thus
if a site wants to change the types of requests it is monitoring, then it will need to restart the
Gatekeeper Server and BFS.
For each type of request being monitored, the BFSwill call theappropriate Gatekeeping Service API
(gk_Create, gk_Open, gk_Stage) passing along information pertaining to the request. This
information includes:
Each Gatekeeping Service API will then call the appropriate Site Interface passing along the
information pertaining to the request. If the request had AuthorizedCaller set to TRUE, then the
Table 2-2 Gatekeeping Call Parameters
Name Description create open stage
AuthorizedCaller Whether or not the request is from
an authorized caller. These
requests cannot be delayed or
denied by the site policy.
YYY
BitFileID The unique BFS identifier for the
file.
N/A Y Y
ClientConnectId The end client’s connection uuid. Y Y Y
DCECellId The HPSS DCE cell identifier for
the user.
YYY
GroupId The user’s group identifier Y Y Y
HostAddr Socket information for originating
host.
YYY
OpenInfo Open file status flag (Oflag). N/A Y N/A
StageInfo Information specific to stage (flags,
length, offset, and storage level).
N/A N/A Y
UserId The user’s identifier. Y Y Y