This wiki shows various conditions and the expected behavior of the provisioner to handle situations
See these other wikis for more context:
Definitions
Full sync or Incremental | Event | Group or Entity in sync table | Membership in sync table | Membership type | Supported behavior by target | Error | Expected outcome regarding recalc | Status |
---|---|---|---|---|---|---|---|---|
Full sync | N/A | Retrieve all groups and entities regardless of sync table values | Retrieve all memberships regardless of sync table values | CRUD supported | N/A | Everything is a recalc. | Done | |
Full sync | N/A | Retrieve all groups but not all entities ( configuration to not retrieve all entities in full sync) if the entity is in the sync table | Retrieve all memberships regardless of sync table values | CRUD supported | False | Use the sync entity. groups and memberships are recalcs and entities are not. | To be done | |
Full sync | N/A | Retrieve all groups and entities | Retrieve all memberships regardless of sync table values | CRUD supported | True for a membership change | Recalc the error group, error entity, and error memberships. | ||
Full sync | N/A | Retrieve all groups but not all entities ( configuration to not retrieve all entities in full sync) if the entity is not in the sync table | Retrieve all memberships regardless of sync table values | CRUD supported | N/A | Recalc missing entities | To be done | |
Full sync | N/A | Retrieve all groups and entities regardless of sync table values | Retrieve all memberships regardless of sync table values | Doesn't select from target | N/A | Throw an exception if no object types select. If an object type does select from the target, sync only the object types that can select. e.g. group is selected, entity and membership are not. Only sync group with target and ignore entity and membership during full sync run. | To be done | |
Incremental sync | Membership add/remove | Group and entity are in the sync table | A membership add corresponds to a missing sync table entry, or a remove corresponds to an existing sync table entry | N/A | False | Nothing is a recalc | ||
Incremental sync | Membership add/remove | Group and entity are in the sync table | A membership add corresponds to an existing sync table entry, or a remove corresponds to a missing sync table entry | Does select from target | False | Convert to a recalc membership | ||
Incremental sync | Membership add/remove | Group and entity are in the sync table | A membership add corresponds to an existing sync table entry, or a remove corresponds to a missing sync table entry | Doesn't select from target | False | Don't convert to a recalc membership | ||
Incremental sync | Membership add/remove | Group and entity are in the sync table | A membership add corresponds to a missing sync table entry, or a remove corresponds to an existing sync table entry | Does select from target | True | Send a message to recalc the group only and recalc the entity only (if there are groups and entities in the target), update the sync table with an error message | ||
Incremental sync | Membership add/remove | Group and entity are in the sync table | A membership add corresponds to a missing sync table entry, or a remove corresponds to an existing sync table entry | Doesn't select from target | True | Put the error in the sync row (every error whether it sends a message or not, should still update the sync table). A subsequent incremental provisioner will retry the actions. | ||
Incremental sync | Membership add/remove | Group is not in the sync table | N/A | Does select from target | False | Group recalc with memberships (group attribute membership type or membership object type) - e.g. ldap has attributes on a group that represent memberships Group recalc only (if entity attribute membership type ) - only sync group like name, description, etc. No memberships are synced with the target. | ||
Incremental sync | Membership add/remove | Group is not in the sync table | N/A | Doesn't select from target | False | Proceed with the membership add or remove. Can't recalc because can't select from the target. The sync group row will be added to the table. | ||
Incremental sync | Membership add/remove | Group is not in the sync table | N/A | True | Put the error in the sync group row (every error whether it sends a message or not, should still update the sync table) | |||
Incremental sync | Membership add/remove | Entity is not in the sync table | N/A | False | Entity recalc with memberships (if entity attribute type ) Entity recalc only (if group attribute type ) | |||
Incremental sync | Membership add/remove | Entity is not in the sync table | N/A | True | Put the error in the sync member row (every error whether it sends a message or not, should still update the sync table) | |||
Incremental sync | Group add/remove | N/A | N/A | group attribute membership type or membership objects | Does select groups and memberships for a group from target | False | Group recalc with memberships (if group attribute membership type or membership objects) Each entity in the group should not be recalc if in the sync table. This is applicable only for group attribute membership type or membership objects | |
Incremental sync | Group add/remove | N/A | N/A | entity attribute membership type | Does select groups from target | False | Group recalc only (if entity attribute type ) | |
Incremental sync | Group add/remove | N/A | N/A | group attribute membership type or membership objects | If either group or group memberships or both can't be selected from the target, the logic of this row is applied. | False | Proceed with the group add or remove without Recalc. | |
Incremental sync | Group add/remove | N/A | N/A | entity attribute membership type | Doesn't select groups from the target | False | Proceed with the group add or remove without Recalc. | |
Incremental sync | Group add/remove | N/A | N/A | N/A | True | Put the error in the sync group row | ||
Incremental sync | Entity add/remove | N/A | N/A | entity attribute membership type or membership objects | Does select entities and memberships for an entity from the target | False | Entity recalc with memberships (if entity attribute membership type or membership objects) Each group associated with the entity should not be recalc if in the sync table. This is applicable only for entity attribute membership type or membership objects | |
Incremental sync | Entity add/remove | N/A | N/A | group attribute membership type | Does select entities from the target | False | Entity recalc only | |
Incremental sync | Entity add/remove | N/A | N/A | entity attribute membership type or membership objects | If either entity or entity memberships or both can't be selected from the target, the logic of this row is applied. | False | Proceed with the entity add or remove without Recalc. | |
Incremental sync | Entity add/remove | N/A | N/A | group attribute membership type | Doesn't select entities from the target | False | Proceed with the entity add or remove without Recalc. | |
Incremental sync | Entity add/remove | N/A | N/A | N/A | True | Put the error in the sync entity row |