diff --git a/Jenkinsfile b/Jenkinsfile index 05ec6b8..2d37599 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,7 +12,7 @@ * EXERCISE_FOLDERS has the image name and corresponding build folder **/ -TARGET_BRANCH = '202202' +TARGET_BRANCH = '202205' EXERCISE_FOLDERS = [ "base": "base", diff --git a/TODO.md b/TODO.md index 7d7af12..e56f17a 100644 --- a/TODO.md +++ b/TODO.md @@ -2,6 +2,11 @@ TODO ===== +202205 +------- +- Once upgrading to 2.6.9, can remove gsh code marked "Temporary fix for GRP-4024" from bootstrap.gsh files + + 202202 ------- diff --git a/base/Dockerfile b/base/Dockerfile index 22cd95f..b2920bf 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,7 +1,8 @@ FROM tier/shib-idp:3.4.3_20190201 as idp +# latest 3.x is tier/shib-idp:3.4.7_20200702 # Grouper version for the entire GTE -FROM i2incommon/grouper:2.6.5.3 +FROM i2incommon/grouper:2.6.8 # Disable docker HEALTHCHECK inherited from tier/shib-sp HEALTHCHECK NONE diff --git a/base/container_files/conf/log4j.properties b/base/container_files/conf/log4j.properties new file mode 100644 index 0000000..e69de29 diff --git a/ex101/run.sh b/ex101/run.sh index e226cd0..d5d4e64 100755 --- a/ex101/run.sh +++ b/ex101/run.sh @@ -1 +1 @@ -docker run -d -p 389:389 -p 8443:443 -p 3306:3306 --name grouper-demo tier/gte:101.1.1-202202 +docker run -d -p 389:389 -p 8443:443 -p 3306:3306 --name grouper-demo tier/gte:101.1.1-202205 diff --git a/ex201/ex201.end/container_files/seed-data/bootstrap.gsh b/ex201/ex201.end/container_files/seed-data/bootstrap.gsh index 7e6748b..bc272ed 100644 --- a/ex201/ex201.end/container_files/seed-data/bootstrap.gsh +++ b/ex201/ex201.end/container_files/seed-data/bootstrap.gsh @@ -1,7 +1,7 @@ import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperNewServiceTemplateLogic import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperTemplatePolicyGroupLogic import edu.internet2.middleware.grouper.grouperUi.beans.ui.ServiceAction -import edu.internet2.middleware.grouper.grouperUi.beans.ui.StemTemplateContainer +import edu.internet2.middleware.grouper.grouperUi.beans.ui.GroupStemTemplateContainer import edu.internet2.middleware.grouper.app.grouperTypes.* import edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningAttributeNames import edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningSettings @@ -20,6 +20,11 @@ java.util.Date RECENT_GRAD_END_DATE = cal.time /***** END Defaults that may need to be changed for each class *****/ + +/***** Temporary fix for GRP-4024 *****/ +import edu.internet2.middleware.grouper.cfg.text.GrouperTextContainer + +/***** Start of script *****/ GrouperSession gs = GrouperSession.start(SubjectFinder.findByIdentifierAndSource("banderson", "eduLDAP", true)) /* Creating a class for methods helps with gsh from the command line, which can't do functions called from other functions */ @@ -58,7 +63,7 @@ class HelperMethods { } static void newApplicationTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List myServiceActionIds = []) { - def stemTemplateContainer = new StemTemplateContainer() + def stemTemplateContainer = new GroupStemTemplateContainer() stemTemplateContainer.templateKey = templateKey stemTemplateContainer.templateFriendlyName = templateFriendlyName stemTemplateContainer.templateDescription = templateDescription @@ -67,6 +72,9 @@ class HelperMethods { templateLogic.stemId = parentStem.uuid templateLogic.stemTemplateContainer = stemTemplateContainer + /***** Temporary fix for GRP-4024 *****/ + GrouperTextContainer.assignThreadLocalVariable("groupStemTemplateContainer", stemTemplateContainer) + List selectedServiceActions = [] if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { selectedServiceActions = templateLogic.getServiceActions() @@ -87,7 +95,7 @@ class HelperMethods { static void newPolicyTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List myServiceActionIds = []) { // note that this doesn't work < 2.5.56 due to dependence on the UI - def policyStemTemplateContainer = new StemTemplateContainer() + def policyStemTemplateContainer = new GroupStemTemplateContainer() policyStemTemplateContainer.templateKey = templateKey policyStemTemplateContainer.templateFriendlyName = templateFriendlyName policyStemTemplateContainer.templateDescription = templateDescription @@ -96,6 +104,9 @@ class HelperMethods { policyTemplateLogic.stemId = parentStem.uuid policyTemplateLogic.stemTemplateContainer = policyStemTemplateContainer + /***** Temporary fix for GRP-4024 *****/ + GrouperTextContainer.assignThreadLocalVariable("groupStemTemplateContainer", policyStemTemplateContainer) + // simulate checking certain boxes in the ui List selectedServiceActions = [] if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { diff --git a/ex401/ex401.end/container_files/seed-data/bootstrap.gsh b/ex401/ex401.end/container_files/seed-data/bootstrap.gsh index 22e1624..9490f70 100644 --- a/ex401/ex401.end/container_files/seed-data/bootstrap.gsh +++ b/ex401/ex401.end/container_files/seed-data/bootstrap.gsh @@ -7,12 +7,17 @@ import edu.internet2.middleware.grouper.app.reports.GrouperReportSettings import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperNewServiceTemplateLogic import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperTemplatePolicyGroupLogic import edu.internet2.middleware.grouper.grouperUi.beans.ui.ServiceAction -import edu.internet2.middleware.grouper.grouperUi.beans.ui.StemTemplateContainer +import edu.internet2.middleware.grouper.grouperUi.beans.ui.GroupStemTemplateContainer import java.text.SimpleDateFormat; GrouperSession gs = GrouperSession.start(SubjectFinder.findByIdentifierAndSource("banderson", "eduLDAP", true)) + +/***** Temporary fix for GRP-4024 *****/ +import edu.internet2.middleware.grouper.cfg.text.GrouperTextContainer + + /* Creating a class for methods helps with gsh from the command line, which can't do functions called from other functions */ class HelperMethods { static void assignObjectTypeForGroup(Group g, String type, String owner=null, String description=null) { @@ -49,7 +54,7 @@ class HelperMethods { } static void newApplicationTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List myServiceActionIds = []) { - def stemTemplateContainer = new StemTemplateContainer() + def stemTemplateContainer = new GroupStemTemplateContainer() stemTemplateContainer.templateKey = templateKey stemTemplateContainer.templateFriendlyName = templateFriendlyName stemTemplateContainer.templateDescription = templateDescription @@ -58,6 +63,9 @@ class HelperMethods { templateLogic.stemId = parentStem.uuid templateLogic.stemTemplateContainer = stemTemplateContainer + /***** Temporary fix for GRP-4024 *****/ + GrouperTextContainer.assignThreadLocalVariable("groupStemTemplateContainer", stemTemplateContainer) + List selectedServiceActions = [] if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { selectedServiceActions = templateLogic.getServiceActions() @@ -78,7 +86,7 @@ class HelperMethods { static void newPolicyTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List myServiceActionIds = []) { // note that this doesn't work < 2.5.56 due to dependence on the UI - def policyStemTemplateContainer = new StemTemplateContainer() + def policyStemTemplateContainer = new GroupStemTemplateContainer() policyStemTemplateContainer.templateKey = templateKey policyStemTemplateContainer.templateFriendlyName = templateFriendlyName policyStemTemplateContainer.templateDescription = templateDescription @@ -87,6 +95,9 @@ class HelperMethods { policyTemplateLogic.stemId = parentStem.uuid policyTemplateLogic.stemTemplateContainer = policyStemTemplateContainer + /***** Temporary fix for GRP-4024 *****/ + GrouperTextContainer.assignThreadLocalVariable("groupStemTemplateContainer", policyStemTemplateContainer) + // simulate checking certain boxes in the ui List selectedServiceActions = [] if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { diff --git a/gte b/gte index 68ccd0c..e3a74bd 100755 --- a/gte +++ b/gte @@ -1,7 +1,7 @@ #! /bin/bash REPOSITORY=tier/gte -VERSION_TAG=202202 +VERSION_TAG=202205 EXTRA_ARGS= @@ -62,6 +62,6 @@ fi #docker stop "$1" 2> /dev/null #docker rm "$1" 2> /dev/null -#docker run -d -p 8443:443 --name $1 tier/gte:"$1"-202202 +#docker run -d -p 8443:443 --name $1 tier/gte:"$1"-202205 echo "Starting container tier/gte:"$LESSON_ID"-$VERSION_TAG" docker run -p 8443:443 $EXTRA_ARGS --name $LESSON_ID tier/gte:"$LESSON_ID"-$VERSION_TAG $* diff --git a/internal/createNew.txt b/internal/createNew.txt index 4f93b7e..af03d3b 100644 --- a/internal/createNew.txt +++ b/internal/createNew.txt @@ -7,7 +7,7 @@ storage 30gig security group: gte-training tag env training -user data script from https://github.internet2.edu/docker/grouper_training/raw/202202/internal/userdata.sh +user data script from https://github.internet2.edu/docker/grouper_training/raw/202205/internal/userdata.sh ssh -i gte-training-master.pem ec2-user@3.136.154.33 diff --git a/internal/mkstudent.sh b/internal/mkstudent.sh index d500f8f..0f7500b 100644 --- a/internal/mkstudent.sh +++ b/internal/mkstudent.sh @@ -2,7 +2,7 @@ export GROUPER_GTE_BRANCH=GROUPER_BUILD_CLOUD_FORMATION #export GROUPER_GTE_DOCKER_BRANCH=GROUPER_BUILD_CLOUD_FORMATION -export GROUPER_GTE_DOCKER_BRANCH=202202 +export GROUPER_GTE_DOCKER_BRANCH=202205 echo "$GROUPER_GTE_BRANCH" > /root/grouperGteBranch.txt chmod a+r /root/grouperGteBranch.txt