Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Upgrade provisioners for 2.6.9+
credman committed Aug 23, 2022
1 parent 5718429 commit 4d7b4ac
Showing 3 changed files with 150 additions and 144 deletions.
5 changes: 3 additions & 2 deletions TODO.md
@@ -2,8 +2,9 @@ TODO
=====


20220X
- look for both 202205-POST (./gte) and 202205 (Jenkinsfile etc) when changing image versions
202209
-------
- EduPersonEntitlement full sync is not logging

202205
-------
2 changes: 1 addition & 1 deletion base/Dockerfile
@@ -2,7 +2,7 @@ FROM tier/shib-idp:3.4.7_20200702 as idp
# latest 3.x is tier/shib-idp:3.4.7_20200702

# Grouper version for the entire GTE
FROM i2incommon/grouper:2.6.16
FROM i2incommon/grouper:2.6.15.1

# Disable docker HEALTHCHECK inherited from tier/shib-sp
HEALTHCHECK NONE
287 changes: 146 additions & 141 deletions ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh
@@ -26,6 +26,25 @@ static void assignObjectTypeForStem(Stem s, String type, String owner=null, Stri
save()
}

// MySQL sometimes fails due to deadlock. Try a few times before aborting
// (java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction)
static boolean runJobUntilSucceeds(GrouperSession gs, Group group, String jobName, int panic = 3) {
boolean ranOK = false
while (!ranOK && panic-- > 0) {
try {
GrouperLoader.runJobOnceForGroup(gs, group)
ranOK = true
} catch (Exception e) {
println "GSH ERROR in ${jobName} (will try ${panic} more times): ${e.message}"
Thread.sleep(5000)
}
}

if (!ranOK) {
throw new RuntimeException("Failed to run job ${jobName} after ${panic} tries")
}
}

// GDG structure
["basis", "ref", "app", "org", "test"].each {
new StemSave(gs).assignName(it).save()
@@ -95,7 +114,10 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT DISTINCT
//group.setAttribute(GrouperLoader.GROUPER_LOADER_PRIORITY, priority)

GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:hr:employeeDeptLoader")



Stem stem = StemFinder.findByName(gs, "basis:hr:employee:dept", true)
assignObjectTypeForStem(stem, "basis", "HRIS", "Employees grouped by department and role")

@@ -124,7 +146,8 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT DISTINCT


GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:sis:courseLoader")

Stem stem = StemFinder.findByName(gs, "basis:sis:course", true)
assignObjectTypeForStem(stem, "basis", "SIS", "Students and instructor groups for each course")

@@ -149,7 +172,8 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct


GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:sis:studentCareerLoader")

Stem stem = StemFinder.findByName(gs, "basis:sis:career", true)
assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by academic program and expected graduation year")

@@ -174,7 +198,8 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct


GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:sis:studentCareerByGradYearLoader")

Stem stem = StemFinder.findByName(gs, "basis:sis:exp_grad_year", true)
assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by expected graduation year")

@@ -200,7 +225,8 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT concat('b


GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:sis:overallProgStatusLoader")

Stem stem = StemFinder.findByName(gs, "basis:sis:prog_status:all", true)
assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by program status, regardless of year")

@@ -227,7 +253,8 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct


GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:sis:yearAndProgStatusLoader")

Stem stem = StemFinder.findByName(gs, "basis:sis:prog_status:year", true)
assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by program status and expected grad year")

@@ -255,7 +282,8 @@ FROM grouper_groups
WHERE name LIKE 'basis:hr:employee:dept:%' ''')

GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false)
GrouperLoader.runJobOnceForGroup(gs, group)
runJobUntilSucceeds(gs, group, "etc:loader:ref:refEmployeeRoleLoader")

Stem stem = StemFinder.findByName(gs, "ref:role:emp", true)
assignObjectTypeForStem(stem, "ref", "HR, IAM", "All employees by role")

@@ -282,109 +310,108 @@ def adhocStem = new StemSave(gs).assignName("basis:adhoc").

/***** Provisioners *****/

GrouperSession.startRootSessionIfNotStarted() // 2.6.15.1 not sure why the session keeps going away

GrouperDbConfig config = new GrouperDbConfig().configFileName("grouper-loader.properties")

GrouperDbConfig textConfig = new GrouperDbConfig().configFileName("grouper.text.en.us.properties")
/* eduPersonAffiliation provisioner -- exercise 201.3 */

config.propertyName("provisioner.eduPersonAffiliation.canFullSync").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store()
config.propertyName("provisioner.eduPersonAffiliation.debugLog").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.deleteMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.deleteMembershipsIfGrouperDeleted").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.deleteMembershipsIfNotExistInGrouper").value('''false''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0entityAttribute").value('''ldap_dn''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0has").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0source").value('''target''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCache0type").value('''entityAttribute''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityAttributeValueCacheHas").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityMatchingAttribute0name").value('''uid''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityMatchingAttributeCount").value('''1''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityMembershipAttributeName").value('''eduPersonAffiliation''').store()
config.propertyName("provisioner.eduPersonAffiliation.entityMembershipAttributeValue").value('''extension''').store()
config.propertyName("provisioner.eduPersonAffiliation.hasTargetEntityLink").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.insertMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.ldapExternalSystemConfigId").value('''demo''').store()
config.propertyName("provisioner.eduPersonAffiliation.logAllObjectsVerbose").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.numberOfEntityAttributes").value('''3''').store()
config.propertyName("provisioner.eduPersonAffiliation.numberOfEntityAttributes").value('''4''').store()
config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.provisioningType").value('''entityAttributes''').store()
config.propertyName("provisioner.eduPersonAffiliation.selectEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.selectMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.showAdvanced").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.showProvisioningDiagnostics").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.selectAllEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.startWith").value('''this is start with read only''').store()
config.propertyName("provisioner.eduPersonAffiliation.subjectSourcesToProvision").value('''eduLDAP''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.fieldName").value('''name''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.isFieldElseAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.select").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateExpression").value('''${'uid=' + grouperProvisioningEntity.retrieveAttributeValueString('subjectIdentifier0') + ',ou=people,dc=internet2,dc=edu'}''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateExpressionType").value('''translationScript''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateToMemberSyncField").value('''memberToId2''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.matchingId").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.name").value('''uid''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.searchAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.select").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.translateExpressionType").value('''grouperProvisioningEntityField''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''attribute__subjectIdentifier0''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.membershipAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.multiValued").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.name").value('''eduPersonAffiliation''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.translateFromGroupSyncField").value('''groupExtension''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonAffiliation.userSearchAllFilter").value('''(objectClass=eduPerson)''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.name").value('''ldap_dn''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.multiValued").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.name").value('''eduPersonAffiliation''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.name").value('''uid''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.translateExpressionType").value('''grouperProvisioningEntityField''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.translateFromGrouperProvisioningEntityField").value('''subjectIdentifier0''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.multiValued").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.name").value('''objectClass''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.translateExpressionType").value('''staticValues''').store()
config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.3.translateFromStaticValues").value('''eduPerson''').store()
config.propertyName("provisioner.eduPersonAffiliation.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store()

config.propertyName("otherJob.ePA_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store()
config.propertyName("otherJob.ePA_full_sync.provisionerConfigId").value('''eduPersonAffiliation''').store()
config.propertyName("otherJob.ePA_full_sync.quartzCron").value('''0 0 4 * * ?''').store()

//GrouperLoader.scheduleJobs()

/* eduPersonEntitlement provisioner -- exercise 201.4 */

GrouperSession.startRootSessionIfNotStarted() // 2.6.15.1 not sure why the session keeps going away

config.propertyName("provisioner.eduPersonEntitlement.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store()
config.propertyName("provisioner.eduPersonEntitlement.configureMetadata").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.deleteMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.deleteMembershipsIfNotExistInGrouper").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.insertMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.customizeGroupCrud").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.deleteGroups").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityAttributeValueCache0entityAttribute").value('''ldap_dn''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityAttributeValueCache0has").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityAttributeValueCache0source").value('''target''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityAttributeValueCache0type").value('''entityAttribute''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityAttributeValueCacheHas").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityMatchingAttribute0name").value('''uid''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityMatchingAttributeCount").value('''1''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityMembershipAttributeName").value('''eduPersonEntitlement''').store()
config.propertyName("provisioner.eduPersonEntitlement.entityMembershipAttributeValue").value('''groupAttributeValueCache0''').store()
config.propertyName("provisioner.eduPersonEntitlement.groupAttributeValueCache0groupAttribute").value('''entitlement_string''').store()
config.propertyName("provisioner.eduPersonEntitlement.groupAttributeValueCache0has").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.groupAttributeValueCache0source").value('''grouper''').store()
config.propertyName("provisioner.eduPersonEntitlement.groupAttributeValueCache0type").value('''groupAttribute''').store()
config.propertyName("provisioner.eduPersonEntitlement.groupAttributeValueCacheHas").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.hasTargetEntityLink").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.insertGroups").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.ldapExternalSystemConfigId").value('''demo''').store()
config.propertyName("provisioner.eduPersonEntitlement.metadata.0.formElementType").value('''text''').store()
config.propertyName("provisioner.eduPersonEntitlement.metadata.0.name").value('''md_entitlementValue''').store()
config.propertyName("provisioner.eduPersonEntitlement.metadata.0.showForGroup").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.metadata.0.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonEntitlement.numberOfEntityAttributes").value('''3''').store()
config.propertyName("provisioner.eduPersonEntitlement.numberOfEntityAttributes").value('''4''').store()
config.propertyName("provisioner.eduPersonEntitlement.numberOfGroupAttributes").value('''1''').store()
config.propertyName("provisioner.eduPersonEntitlement.numberOfMetadata").value('''1''').store()
config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperGroups").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.provisioningType").value('''entityAttributes''').store()
config.propertyName("provisioner.eduPersonEntitlement.selectEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.selectMemberships").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.showAdvanced").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.selectAllEntities").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.selectGroups").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.startWith").value('''this is start with read only''').store()
config.propertyName("provisioner.eduPersonEntitlement.subjectSourcesToProvision").value('''eduLDAP''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.fieldName").value('''name''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.isFieldElseAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.select").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.translateExpression").value('''${'uid=' + grouperProvisioningEntity.retrieveAttributeValueString('subjectIdentifier0') + ',ou=people,dc=internet2,dc=edu'}''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.translateExpressionType").value('''translationScript''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.matchingId").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.name").value('''uid''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.searchAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.select").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.translateExpressionType").value('''grouperProvisioningEntityField''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''attribute__subjectIdentifier0''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.membershipAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.multiValued").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.name").value('''eduPersonEntitlement''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.translateFromGroupSyncField").value('''groupFromId2''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.name").value('''entitlement''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.name").value('''ldap_dn''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.name").value('''eduPersonEntitlement''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.name").value('''uid''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.translateExpressionType").value('''grouperProvisioningEntityField''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.translateFromGrouperProvisioningEntityField").value('''subjectIdentifier0''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.multiValued").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.name").value('''objectClass''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.translateExpressionType").value('''staticValues''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.3.translateFromStaticValues").value('''eduPerson''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.name").value('''entitlement_string''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateExpression").value('''${grouperUtil.defaultIfBlank(grouperProvisioningGroup.retrieveAttributeValueString('md_entitlementValue') , grouperProvisioningGroup.name )}''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateExpressionType").value('''translationScript''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateGrouperToGroupSyncField").value('''groupFromId2''').store()
config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.valueType").value('''string''').store()
config.propertyName("provisioner.eduPersonEntitlement.userSearchAllFilter").value('''(uid=*)''').store()
config.propertyName("provisioner.eduPersonEntitlement.updateGroups").value('''false''').store()
config.propertyName("provisioner.eduPersonEntitlement.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store()

textConfig.propertyName("md_entitlementValue_eduPersonEntitlement_label").value('''Entitlement String''').store()
@@ -396,96 +423,74 @@ textConfig.propertyName("md_entitlementValue_eduPersonEntitlement_description").

/* groupOfNames provisioner -- exercise 40x */

config.propertyName("provisioner.groupOfNames.canFullSync").value('''true''').store()
GrouperSession.startRootSessionIfNotStarted() // 2.6.15.1 not sure why the session keeps going away

config.propertyName("provisioner.groupOfNames.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store()
config.propertyName("provisioner.groupOfNames.debugLog").value('''true''').store()
config.propertyName("provisioner.groupOfNames.deleteGroups").value('''true''').store()
config.propertyName("provisioner.groupOfNames.deleteGroupsIfGrouperDeleted").value('''true''').store()
config.propertyName("provisioner.groupOfNames.deleteGroupsIfNotExistInGrouper").value('''false''').store()
config.propertyName("provisioner.groupOfNames.deleteMemberships").value('''true''').store()
config.propertyName("provisioner.groupOfNames.deleteMembershipsIfNotExistInGrouper").value('''true''').store()
config.propertyName("provisioner.groupOfNames.entityAttributeValueCache0entityAttribute").value('''ldap_dn''').store()
config.propertyName("provisioner.groupOfNames.entityAttributeValueCache0has").value('''true''').store()
config.propertyName("provisioner.groupOfNames.entityAttributeValueCache0source").value('''target''').store()
config.propertyName("provisioner.groupOfNames.entityAttributeValueCache0type").value('''entityAttribute''').store()
config.propertyName("provisioner.groupOfNames.entityAttributeValueCacheHas").value('''true''').store()
config.propertyName("provisioner.groupOfNames.entityMatchingAttribute0name").value('''uid''').store()
config.propertyName("provisioner.groupOfNames.entityMatchingAttributeCount").value('''1''').store()
config.propertyName("provisioner.groupOfNames.groupAttributeValueCache0groupAttribute").value('''ldap_dn''').store()
config.propertyName("provisioner.groupOfNames.groupAttributeValueCache0has").value('''true''').store()
config.propertyName("provisioner.groupOfNames.groupAttributeValueCache0source").value('''target''').store()
config.propertyName("provisioner.groupOfNames.groupAttributeValueCache0type").value('''groupAttribute''').store()
config.propertyName("provisioner.groupOfNames.groupAttributeValueCacheHas").value('''true''').store()
config.propertyName("provisioner.groupOfNames.groupDnType").value('''flat''').store()
config.propertyName("provisioner.groupOfNames.groupSearchAllFilter").value('''objectClass=groupOfNames''').store()
config.propertyName("provisioner.groupOfNames.groupMatchingAttribute0name").value('''cn''').store()
config.propertyName("provisioner.groupOfNames.groupMatchingAttributeCount").value('''1''').store()
config.propertyName("provisioner.groupOfNames.groupMembershipAttributeName").value('''member''').store()
config.propertyName("provisioner.groupOfNames.groupMembershipAttributeValue").value('''entityAttributeValueCache0''').store()
config.propertyName("provisioner.groupOfNames.groupRdnAttribute").value('''cn''').store()
config.propertyName("provisioner.groupOfNames.groupSearchBaseDn").value('''ou=groups,dc=internet2,dc=edu''').store()
config.propertyName("provisioner.groupOfNames.groupSearchFilter").value('''(&(objectClass=groupOfNames)(cn=${targetGroup.retrieveAttributeValue('cn')}))''').store()
config.propertyName("provisioner.groupOfNames.hasTargetEntityLink").value('''true''').store()
config.propertyName("provisioner.groupOfNames.hasTargetGroupLink").value('''true''').store()
config.propertyName("provisioner.groupOfNames.insertGroups").value('''true''').store()
config.propertyName("provisioner.groupOfNames.insertMemberships").value('''true''').store()
config.propertyName("provisioner.groupOfNames.ldapExternalSystemConfigId").value('''demo''').store()
config.propertyName("provisioner.groupOfNames.numberOfEntityAttributes").value('''2''').store()
config.propertyName("provisioner.groupOfNames.numberOfEntityAttributes").value('''3''').store()
config.propertyName("provisioner.groupOfNames.numberOfGroupAttributes").value('''5''').store()
config.propertyName("provisioner.groupOfNames.operateOnGrouperEntities").value('''true''').store()
config.propertyName("provisioner.groupOfNames.operateOnGrouperGroups").value('''true''').store()
config.propertyName("provisioner.groupOfNames.operateOnGrouperMemberships").value('''true''').store()
config.propertyName("provisioner.groupOfNames.provisioningType").value('''groupAttributes''').store()
config.propertyName("provisioner.groupOfNames.selectEntities").value('''true''').store()
config.propertyName("provisioner.groupOfNames.selectGroups").value('''true''').store()
config.propertyName("provisioner.groupOfNames.selectMemberships").value('''true''').store()
config.propertyName("provisioner.groupOfNames.showAdvanced").value('''true''').store()
config.propertyName("provisioner.groupOfNames.selectAllEntities").value('''false''').store()
config.propertyName("provisioner.groupOfNames.startWith").value('''this is start with read only''').store()
config.propertyName("provisioner.groupOfNames.subjectSourcesToProvision").value('''eduLDAP''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.fieldName").value('''name''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.isFieldElseAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.translateToMemberSyncField").value('''memberToId2''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.matchingId").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.0.name").value('''ldap_dn''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.name").value('''uid''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.searchAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.translateExpressionType").value('''grouperProvisioningEntityField''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''attribute__subjectIdentifier0''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.fieldName").value('''name''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.insert").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.isFieldElseAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.translateExpressionType").value('''grouperProvisioningGroupField''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.translateFromGrouperProvisioningGroupField").value('''name''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.translateToGroupSyncField").value('''groupToId2''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.update").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.insert").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.matchingId").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''subjectIdentifier0''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.multiValued").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.name").value('''objectClass''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.translateExpressionType").value('''staticValues''').store()
config.propertyName("provisioner.groupOfNames.targetEntityAttribute.2.translateFromStaticValues").value('''eduPerson''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.0.name").value('''ldap_dn''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.name").value('''cn''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.searchAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.translateExpressionType").value('''grouperProvisioningGroupField''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.translateFromGrouperProvisioningGroupField").value('''name''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.1.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.insert").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.defaultValue").value('''<emptyString>''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.multiValued").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.name").value('''objectClass''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.translateExpression").value('''${grouperUtil.toSet('top', 'groupOfNames')}''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.translateExpressionType").value('''translationScript''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.insert").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.name").value('''description''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.select").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.translateExpressionType").value('''grouperProvisioningGroupField''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.translateFromGrouperProvisioningGroupField").value('''attribute__description''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.update").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.defaultValue").value('''cn=root,dc=internet2,dc=edu''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.isFieldElseAttribute").value('''false''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.membershipAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.multiValued").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.name").value('''member''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.translateFromMemberSyncField").value('''memberToId2''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.valueType").value('''string''').store()
config.propertyName("provisioner.groupOfNames.updateGroups").value('''true''').store()
config.propertyName("provisioner.groupOfNames.userSearchAllFilter").value('''(&(objectClass=person)(uid=*))''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.name").value('''member''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.2.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.multiValued").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.name").value('''objectClass''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.showAdvancedAttribute").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.showAttributeValueSettings").value('''true''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.translateExpressionType").value('''staticValues''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.3.translateFromStaticValues").value('''top,groupOfNames''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.name").value('''description''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.translateExpressionType").value('''grouperProvisioningGroupField''').store()
config.propertyName("provisioner.groupOfNames.targetGroupAttribute.4.translateFromGrouperProvisioningGroupField").value('''description''').store()
config.propertyName("provisioner.groupOfNames.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store()
config.propertyName("provisioner.groupOfNames.userSearchFilter").value('''(&(objectClass=person)(uid=${targetEntity.retrieveAttributeValue('uid')}))''').store()

config.propertyName("otherJob.groupOfNames_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store()
config.propertyName("otherJob.groupOfNames_full_sync.provisionerConfigId").value('''groupOfNames''').store()
config.propertyName("otherJob.groupOfNames_full_sync.quartzCron").value('''0 0 4 * * ?''').store()
//GrouperLoader.scheduleJobs()

/* TODO

0 comments on commit 4d7b4ac

Please sign in to comment.