GUMS

Enabling GUMS monitoring

Introduction

It is possible for the Generic Information Provider (GIP) to monitor your GUMS service and publish this information via BDII. As of VDT 1.8.1, fresh installs of GUMS v1.2 and upgrades from v1.1 to v1.2 are automatically configured to accept the monitoring probe distributed via VDT 1.8.1.

These instructions detail the steps taken by the automatic configuration scripts and are provided by Gabriele Garzoglio. They are meant to be used for debugging purposes. They are also useful to manually authorize the GUMS probe in a v1.1 GUMS installation.

Basics

We check the availability of GUMS by running a probe (Information Provider). The probe asks GUMS to perform an identity mapping. The output of the probe is used by the GIP to publish the status information via BDII. The identity of the probe is a generic string ("/GIP-GUMS-Probe-Identity"), which is pre-loaded in the GUMS database by following these instructions. These instructions also configure GUMS to map the identity of the probe to a non-existent pre-defined UID.

Define the probe identity mapping in your GUMS v1.2 configuration

NOTE: You should not need to manually change the GUMS v1.2 configuration to enable GIP monitoring. The GUMS v1.2 installation or upgrade scripts add the following XML in the GUMS configuration, which is normally at $VDT_LOCATION/vdt-app-data/gums/config/gums.config.

If your GUMS configuration has <userGroups>, <accountMappers>, <groupToAccountMappings>, and <hostToGroupMappings> defined already, then the scripts nest the <manualUserGroup>, <groupAccountMapper>, <groupToAccountMapping>, and <hostToGroupMapping> tags inside of them as shown below.

<userGroups>
<manualUserGroup
name='gums-test'
access='write'
description=''
persistenceFactory='mysql'/>

</userGroups>

<accountMappers>
<groupAccountMapper
name='GumsTestUserMappingSuccessful'
description=''
accountName='GumsTestUserMappingSuccessful'/>
</accountMappers>

<groupToAccountMappings>
<groupToAccountMapping
name='gums-test'
description=''
accountingVoSubgroup=''
accountingVo=''
userGroups='gums-test'
accountMappers='GumsTestUserMappingSuccessful'/>
</groupToAccountMappings>

<hostToGroupMappings>
<hostToGroupMapping
groupToAccountMappings='gums-test'
description=''
cn='*/?*.my.site'/>
</hostToGroupMappings>

Define the probe identity mapping in your GUMS v1.1 configuration

If you run GUMS v1.1, you need to change the configuration of the GUMS manually, in order to enable GIP monitoring.

Add the following XML within your GUMS configuration, which is normally at $VDT_LOCATION/gums-service/var/war/WEB-INF/classes/gums.config.
If your GUMS has <groupMappings> defined already, add the <groupMapping> tag below within your <groupMappings> tag.
If your GUMS has <hostGroup> tags defined already, add the 'gums-test' group at the end of your groups attributes and change the value of the cn attributes to the regular expression '*/?*.my.site', as shown below. This allows rule-matching for service certificates of the form 'host/machine.my.site', 'http/machine.my.site', and 'machine.my.site'.
Note that you don't need to stop GUMS when editing its configuration.

<groupMappings>
  <groupMapping name='gums-test'>
    <userGroup className='gov.bnl.gums.ManualUserGroup'
               persistenceFactory='mysql'
               name='gums-test'/>
    <accountMapping className='gov.bnl.gums.GroupAccountMapper'
                    groupName='GumsTestUserMappingSuccessful' />
  </groupMapping>
</groupMappings>
<hostGroups>
  <hostGroup className='gov.bnl.gums.CertificateHostGroup'
             cn='*/?*.my.site'
             groups='gums-test' />
</hostGroups>

Add the identity of the probe to the GUMS database

Check that the test configuration is working.