[midPoint-git] [Evolveum/midpoint] e13bef: Add skeleton of cluster-wide thresholds

mederly noreply at github.com
Sat Jul 3 00:19:28 CEST 2021


  Branch: refs/heads/feature/thresholds
  Home:   https://github.com/Evolveum/midpoint
  Commit: e13beffc88cfa03df81cbc8bf3ac0e2661f350aa
      https://github.com/Evolveum/midpoint/commit/e13beffc88cfa03df81cbc8bf3ac0e2661f350aa
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-07-03 (Sat, 03 Jul 2021)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/InternalsCountersPanel.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/PolicyRuleTypeUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
    M model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationHook.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ModelInteractionService.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/AssignmentPathSegment.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedCollectionStatsTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedCompositeTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedExclusionTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedHasAssignmentTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedModificationTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedMultiplicityTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedPolicyRule.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedPolicyRuleTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedSituationTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedStateTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedTimeValidityTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/EvaluatedTransitionTrigger.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/ModelElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/CollectionProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelInteractionServiceImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/EvaluatedPolicyRuleImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ItemValueWithOrigin.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensFocusContext.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/PolicyRulesContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/AssignmentPathSegmentImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/assignments/PayloadEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/FocusChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/Components.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentHolderProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/InboundMappingsEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/MappingSetEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/MappingSetEvaluationBuilder.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/TemplateMappingsEvaluation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/consolidation/DeltaSetTripleMapConsolidation.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleCounterUpdater.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleEnforcer.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyRuleSuspendTaskExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/PolicyStateRecorder.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/RulesEvaluationContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/evaluators/PolicySituationConstraintEvaluator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/policy/scriptExecutor/PolicyRuleScriptExecutor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/ReconciliationActivityHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ModelActivityHandler.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScanPartialExecution.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestPolicyRules.java
    M model/notifications-impl/src/main/java/com/evolveum/midpoint/notifications/impl/NotificationHook.java
    M model/workflow-impl/src/main/java/com/evolveum/midpoint/wf/impl/processors/primary/policy/ApprovalSchemaBuilder.java
    M model/workflow-impl/src/main/java/com/evolveum/midpoint/wf/impl/processors/primary/policy/ObjectPolicyAspectPart.java
    M model/workflow-impl/src/main/java/com/evolveum/midpoint/wf/impl/processors/primary/policy/PolicyRuleBasedAspect.java
    M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/objects/TestObjectLifecycleAdvanced.java
    A repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/Countable.java
    R repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/CounterManager.java
    R repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/CounterSpecification.java
    R repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/counters/CounterManagerImpl.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/CounterManager.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/CounterManagerImpl.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/CounterSpecification.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/execution/AbstractActivityExecution.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/execution/ActivityCountersGroup.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/execution/ActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/ActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/CurrentActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/OtherActivityState.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/counters/CountersIncrementOperation.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/AbstractIterativeActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingGatekeeper.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/composite/CompositeMockActivityHandler.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    A repo/task-api/src/main/java/com/evolveum/midpoint/task/api/ExecutionContext.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/RunningTask.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/RunningTaskQuartzImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskBeans.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/run/TaskCycleExecutor.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholds.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncFull.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulate.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulateMultithreaded.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsReconFull.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsReconSimulate.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsReconSimulateMultithreaded.java
    M testing/story/src/test/resources/thresholds/resource-opendj.xml
    R testing/story/src/test/resources/thresholds/role-policy-rule-change-activation.xml
    R testing/story/src/test/resources/thresholds/role-policy-rule-create.xml
    R testing/story/src/test/resources/thresholds/role-policy-rule-delete.xml
    A testing/story/src/test/resources/thresholds/role-stop-on-3rd-status-change.xml
    A testing/story/src/test/resources/thresholds/role-stop-on-5th-user-creation.xml
    A testing/story/src/test/resources/thresholds/role-stop-on-6th-user-deletion.xml
    M testing/story/src/test/resources/thresholds/task-opendj-import-base-users.xml
    M testing/story/src/test/resources/thresholds/task-opendj-livesync-full.xml
    R testing/story/src/test/resources/thresholds/task-opendj-livesync-simulate-multithreaded.xml
    M testing/story/src/test/resources/thresholds/task-opendj-livesync-simulate.xml
    M testing/story/src/test/resources/thresholds/task-opendj-reconcile-full.xml
    R testing/story/src/test/resources/thresholds/users-activation.ldif
    A testing/story/src/test/resources/thresholds/users-change-activation.ldif
    A testing/story/src/test/resources/thresholds/users-first-import.ldif
    R testing/story/src/test/resources/thresholds/users-next.ldif
    A testing/story/src/test/resources/thresholds/users-second-import.ldif
    R testing/story/src/test/resources/thresholds/users.ldif
    M testing/story/testng-integration.xml

  Log Message:
  -----------
  Add skeleton of cluster-wide thresholds

Here we introduce cluster-wide, persistent, activity-level counters.
They can be used for various things, but here are used to count
how many times individual policy rules have been triggered.

Other changes:

1) Worker task now carries information about current activity execution
(ExecutionContext interface). It is to access the execution mode
and to update the counters stored in activity state.

2) Introduced separate projector step: policy rules counters (after
focus iteration) that updates counters for thresholded policy rules.

3) Moved SuspendTaskExecutor execution to the first clockwork run,
just after Enforcer execution. They could be eventually merged into one
component.

4) Fixed policy rule id generation. Now it contains defining object
OID plus rule or assignment ID (for global/assigned policy rules).

5) Other minor fixes/improvements, like pulling everything related to
policy rules into separate PolicyRulesContext in LensElementContext.

Work in progress. Only live sync thresholds tests pass. Recon tests
are not migrated. Multi-node scenarios are not fully implemented.




More information about the midPoint-svn mailing list