UCD IAM --> KIM Database Sync Process

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