UCD IAM --> KIM Database Sync Process

Cron job run under the "Tomcat" user on these rice servers:

  • rice1.ucdavis.edu   – 0700, 1100, 1400, 1800
  • rice-qa-b1.ucdavis.edu  – 0400
  • rice-qa-a1.ucdavis.edu – 0400
  • rice-testint1.ucdavis.edu – 0400

Contains the following steps (each runs a CloverETL graph);

  1. IAM Extract Process
  2. Match KIM to IAM people
  3. Load KIM Entities
  4. Match KIM for Update Process
  5. Match KIM External Id Process
  6. KIM Technical Admin. role Deactivation Process


Here is the actual cron job for the names and locations of the CloverETL graphs.

#!/bin/sh

cd /ucd/opt/cloverETL/graphs/KimDataLoad
echo "Starting Graph setup" > DailyDBUpdate.out
echo $PWD >> DailyDBUpdate.out

#declare a JARSPATH variable and CLOVER_LIB variable
CLOVER_LIB="CloverEngine/CloverETL-4.1/lib"
echo "CLOVER_LIB == " $CLOVER_LIB >> DaliyDBUpdate.out
for i in $CLOVER_LIB/*.jar; do
        JARSPATH="$JARSPATH:$i"
done;
echo "JARSPATH == " $JARSPATH >> DailyDBUpdate.out

#create a PLUGINS variable
PLUGINS="CloverEngine/CloverETL-4.1/plugins"
echo "PLUGINS == " $PLUGINS >> DailyDBUpdate.out

#set JAVA_HOME  (java library is in /ucd/pkgs/ but we created a sym link to /ucd/opt/cloverETL/java for the (at the time) current java version)
JAVA_HOME="/ucd/opt/cloverETL/java" 
echo "JAVA_HOME == " $JAVA_HOME >> DailyDBUpdate.out

#add the right jdk to the PATH
PATH="/ucd/opt/cloverETL/java/bin":$PATH
echo "PATH == " $PATH >> DailyDBUpdate.out

echo "Running the IAM extract graph" >> DailyDBUpdate.out
#execute the Clover IAM extract graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/extractIAMtoFile.grf >> DailyDBUpdate.out
echo "Extract Graph Completed" >> DailyDBUpdate.out

echo "... Starting the Match IAM to Kim People graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/MatchIAMextractToKimPeople.grf >> DailyDBUpdate.out
echo "... Completed the IAM to Kim Match graph" >> DailyDBUpdate.out

echo "... Starting the Remove Duplicate Principals graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/RemoveKimDuplicatePrincipal.grf >> DailyDBUpdate.out
echo "... Completed removing duplicate principals graph" >> DailyDBUpdate.out

echo "... Starting the No Principal Inofrmation - Match IAM to Kim People graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/MatchNoPrncplIAMToKimPeople.grf >> DailyDBUpdate.out
echo "... Completed the No Principal Information - IAM to Kim Match graph" >> DailyDBUpdate.out

echo "... Starting the Entity Load graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimLoadEntity.grf >> DailyDBUpdate.out
echo "... Completed the Kim Entity Load graph" >> DailyDBUpdate.out

echo "... Starting the No Principal - Entity Load graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimLoadEntityNoPrncpl.grf >> DailyDBUpdate.out
echo "... Completed the No Principal - Kim Entity Load graph" >> DailyDBUpdate.out
 
echo "... Starting the Additional Principal Load graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimLoadAdditionalPrincipal.grf >> DailyDBUpdate.out
echo "... Completed the Additional Principal Load graph" >> DailyDBUpdate.out 
 
echo ".. Starting the Kim Update graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimUpdate.grf >> DailyDBUpdate.out
echo ".. Completed the Kim Update graph" >> DailyDBUpdate.out

echo ".. Starting the Kim External Ids Update graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimUpdateExtIds.grf >> DailyDBUpdate.out
echo ".. Completed the Kim External Ids Update graph" >> DailyDBUpdate.out

echo ".. Starting the IAM Ids Update graph" >> DailyDBUpdate.out
#execute the Clover graph
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimUpdateIAMids.grf >> DailyDBUpdate.out
echo ".. Completed the IAM Ids Update graph" >> DailyDBUpdate.out

#echo ".... Starting the Entity Deactivate graph" >> DailyDBUpdate.out
echo "temporarily removed execution of Deactivate graph" >> DailyDBUpdate.out
#execute the Clover graph
#java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimDeactivate.grf >> DailyDBUpdate.out
#echo "..... Completed the Entity Deactivate graph" >> DailyDBUpdate.out

echo "... Starting the Entity Reactivate graph" >> DailyDBUpdate.out
#execute the Clover graph KimReActivate.grf
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimReActivate.grf >> DailyDBUpdate.out
echo "... Completed the Entity Reactivate graph" >> DailyDBUpdate.out

echo "... Starting the Kim Duplicates deletion graph" >> DailyDBUpdate.out
#execute the Clover graph DeleteKimDuplicates.grf
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/DeleteKimDuplicates.grf >> DailyDBUpdate.out
echo "... Completed the Duplicate Deletion graph" >> DailyDBUpdate.out

echo "... Starting the Kim "dup" Principal deletion graph" >> DailyDBUpdate.out
#execute the Clover graph DeleteDupPrincipalRecords.grf
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/DeleteDupPrincipalRecords.grf >> DailyDBUpdate.out
echo "... Completed the "dup" Principal Deletion graph" >> DailyDBUpdate.out

echo "... Starting the Kim Separate Employees graph" >> DailyDBUpdate.out
#execute the Clover graph KimSeparateEmployees.grf
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/KimSeparateEmployees.grf >> DailyDBUpdate.out
echo "... Completed the Separate Employees graph" >> DailyDBUpdate.out

echo "... Starting the Kim Admin Role deactivate graph" >> DailyDBUpdate.out
#execute the Clover DeactivateRoles.grf
java -cp "$JARSPATH" org.jetel.main.runGraph -plugins "$PLUGINS" -loglevel INFO graph/DeactivateRoles.grf >> DailyDBUpdate.out
echo "... Completed the Kim Role deactivation graph" >> DailyDBUpdate.out

echo ".......... That's all folks ... " >> DailyDBUpdate.out