3.2.5.2 Execute

The Execute method executes a management agent run profile. The client MUST pass the name of a run profile. Optionally, the client can pass a Boolean indicating that the profile will be resumed from a previous attempt. For each result, the server MUST perform the following except where noted:

  • The server will not continue to process additional run profile steps as defined in [MS-UPSCDS] section 2.2.32.6.1.

  • The server will not perform the obsoletion process.

  • If the step is of type "full-import" or "delta-import" as defined in [MS-UPSCDS] section 2.2.32.6.1.1, the server MUST NOT complete the process of resolving references to placeholder objects that were converted to disconnector objects during the import process and MUST NOT remove any placeholder objects that are no longer referenced by other objects.

The server MUST return one of the following status messages:

  • If the client is not permitted to perform this operation, the server MUST return access-denied.<3>

  • If the server is unable to communicate to any implementation-specific components, the server SHOULD return connection-failure.<4>

  • If the run profile failed to start because the run profile name specified is not recognized or does not exist, the server MUST return no-start-unknown-profile-name.

  • If the run profile failed to start because a run profile of the management agent is already running, the server MUST return no-start-ma-already-running.

  • If the run profile failed to start because a new management agent is being created or an existing management agent is being modified or deleted, the server MUST return no-start-ma-update-in-progress.

  • If a failure occurs for which there is no other status message specified in this document, the server MUST return call-failure.

  • If a full import run step stopped because of discovery errors between the data source and the connector space, the server MUST return completed-discovery-errors.

  • If the run step completed with export errors, the next step in the run profile will run, data will be obsoleted, and the server MUST return completed-export-errors.

  • If the full import run step found no objects to import, the next step in the run profile will run, data will be obsoleted, and the server MUST return completed-no-objects.

  • If the run step completed with synchronization errors or warnings, the next step in the run profile will run, data will be obsoleted, and the server MUST return completed-sync-errors.

  • If the run step completed with objects in the connector space in a transient state, the next step in the run profile will run, data will be obsoleted, and the server MUST return completed-transient-objects.

  • If the run step completed with synchronization warnings, the next step in the run profile will run, data will be obsoleted, and the server MUST return completed-warnings.

  • If the synchronization engine is in the process of marking objects in the connector space that no longer exist in the data source as obsolete, the server MUST return completing-obsoletion.

  • If the synchronization engine is in the process of completing its referential updates, ensuring that objects that refer to other objects via attribute values are correctly linked, the server MUST return completing-referential-updates.

  • If the synchronization engine is in the process of evaluating further metaverse attribute value changes as the result of changes to metaverse attribute values, the server MUST return completing-recomputation.

  • If the synchronization engine is currently executing a run profile for the management agent, the server MUST return in-progress.

  • If the run step failed to start because the management agent configuration is invalid, the server MUST return no-start-bad-ma-configuration.

  • If the delta import run step failed to start because the change log in the data source was not enabled, the server MUST return no-start-change-log-not-enabled.

  • If the run step failed to start because of connection problems with the data source, the server MUST return no-start-connection.

  • If the run step failed to start the credential were not accepted by the data source, the server MUST return no-start-credentials.

  • If the management agent does not have the permissions needed to access the data source, the server MUST return no-start-database-permission.

  • If the management agent could not read or write the database table, the server MUST return no-start-database-table.

  • If the database schema does not match the schema defined for the management agent, the server MUST return no-start-database-schema-mismatch.

  • If the delta import run step failed to start because the management agent is not configured for a delta import, the next step in the run profile will not run, data will not be obsoleted, the processing of retries and cleanup of placeholder objects will not be performed, and the server MUST return no-start-delta-step-type-not-configured.

  • If the run step failed to start because access to the input file in the management agent configuration was denied, the server MUST return no-start-file-access-denied.

  • If the run step failed to start because the selected code page does not match the code page of the file specified in the management agent properties, the server MUST return no-start-file-code-page.

  • If the run step failed to start because the input file specified the management agent configuration could not be found, the server MUST return no-start-file-not-found.

  • If the run step failed to start because the input file specified in the management agent configuration could not be opened, the server MUST return no-start-file-open.

  • If the run step failed to start because of a sharing violation on the input file specified in the management agent configuration, the server MUST return no-start-file-sharing-violation.

  • If the delta import run step failed to start because a full import step is required prior to running a delta import step, the server MUST return no-start-full-import-required.

  • If he header row in the file does not match the definition specified in the management agent, the server MUST return no-start-header-row-mismatch.

  • If the run step failed to start because of an unknown management agent error, the server MUST return no-start-ma.

  • If the run step failed to start because there is no directory or a directory could not be created for the management agent, the server MUST return no-start-ma-working-directory.

  • If the run step failed to start because the domain controller could not be contacted by the synchronization engine, the server MUST return no-start-no-domain-controller.

  • If the run step failed to start because domain or naming context (NC) specified in the run step has been deleted, the server MUST return no-start-no-partition-delete.

  • If the run step failed to start because the required partition is not selected in the management agent properties, the server MUST return no-start-partition-not-configured.

  • If the run step failed to start because the partition selected in the management agent properties has been renamed in the data source, the server MUST return no-start-partition-rename.

  • If the run step failed to start because of an unknown synchronization engine error, the server MUST return no-start-server.

  • If the run step failed because the run profile contains a step that refers to a partition that has been deleted, the server MUST return no-start-no-steps-in-profile.

  • If the run step stopped because of an invalid management agent configuration, the server MUST return stopped-bad-ma-configuration.

  • If the run step stopped because the data source change log entries are not numbered sequentially, the server MUST return stopped-change-log-out-of-order.

  • If the import run step stopped because of a code page conversion error, the server MUST return stopped-code-page-conversion.

  • If the run step stopped because of connectivity loss with the data source, the server MUST return stopped-connectivity.

  • If the run step stopped because the server is not connected to the database used by the synchronization engine, the server MUST return stopped-database-connection-lost.

  • If the run stopped because the database used by the synchronization engine is full, the server MUST return stopped-database-disk-full.

  • If the run step stopped because of an internal server deadlock between multiple currently executing management agent run profiles, the server MUST return stopped-deadlocked.

  • If the run step stopped because of a full disk, the server MUST return stopped-disk-full.

  • If the run step stopped because the run profile encountered more than the configured maximum number of errors, where the default maximum number of errors is 5000, the server MUST return stopped-error-limit.

  • If the export run step stopped because of an error writing to the data source, the server MUST return stopped-export-write.

  • If the run step stopped because the synchronization engine service account does not have the required permissions to access the Extensions folder, the server MUST return stopped-extension-dll-access.

  • If the run step stopped because the rules extension contains multiple implementations of the script-based synchronization rule interfaces, the server MUST return stopped-extension-dll-ambiguous.

  • If the run step stopped because of an exception was returned during the initialization of a script-based synchronization rule, the server MUST return stopped-extension-dll-exception.

  • If the run step stopped because the assembly of a script-based synchronization rule specified in the management agent properties cannot be found, the server MUST return stopped-extension-dll-file-not-found.

  • If the run step stopped because the constructor of a script-based synchronization rule threw an exception, the server MUST return stopped-extension-dll-instantiation.

  • If the run step stopped because the specified assembly of a script-based synchronization rule is not a valid .NET assembly, the server MUST return stopped-extension-dll-invalid-assembly.

  • If the run step stopped because the specified assembly of a script-based synchronization rule cannot be loaded due to an unknown error, the server MUST return stopped-extension-dll-load.

  • If the run step stopped because the extension object cannot be instantiated because the script-based synchronization rule extension is missing a dependency file, the server MUST return stopped-extension-dll-missing-dependency.

  • If the run step stopped because the class that is implementing the required interface cannot be found in the specified assembly of a script-based synchronization rule, the server MUST return stopped-extension-dll-no-implementation.

  • If the run step stopped because the specified assembly of a script-based synchronization rule is not a management agent rules extension, the server MUST return stopped-extension-dll-not-configured-for-ma.

  • If the run step stopped because the specified assembly of a script-based synchronization rule is not a metaverse rules extension, the server MUST return stopped-extension-dll-not-configured-for-mv.

  • If the run step failed because the Extensions folder was updated when the run step executed, the server MUST return stopped-extension-dll-updated-version.

  • If the import run step stopped because the input file contains embedded null characters, the server MUST return stopped-file-embedded-nulls.

  • If the import run step stopped because of a read error on the data source, the server MUST return stopped-import-read.

  • If the run step stopped because of an unknown error from the management agent, the server MUST return stopped-ma.

  • If the run step stopped because the object limit specified in threshold property of the management agent properties was reached, the server MUST return stopped-object-limit.

  • If the run step stopped because of insufficient server memory, the server MUST return stopped-out-of-memory.

  • If the run step stopped because the program could not parse the input file or Sun ONE Directory Server change log, the server MUST return stopped-parsing-errors.

  • If the run step stopped because of an unknown server error, the server MUST return stopped-server.

  • If the run step stopped because the synchronization engine service stopped, the server MUST return stopped-service-shutdown.

  • If the run step stopped because the rules extension of a script-based synchronization rule terminated the run by signaling that an error occurred, the server MUST return stopped-user-termination-from-extension.

  • If the run step stopped because the user stopped running the run profile using the Stop method, the server MUST return stopped-user-termination-from-wmi-or-ui.

  • If the resume parameter is set to true and the profile cannot be resumed because the most recent attempt to execute the run profile result completed, the server MUST return no-start-resume-already-completed.

  • If the resume parameter is set to true and the profile cannot be resumed because the completion status of the most recent attempt to execute the run profile cannot be determined, the server MUST return no-start-resume-no-history.

  • If the resume parameter is set to true and the profile cannot be resumed because the profile has changed since the most recent attempt to execute the run profile, the server MUST return no-start-resume-profile-modified.

Otherwise, the server MUST return success. The server MUST complete all steps of the run profile, complete the obsoletion process, complete the process of resolving references to placeholder that were converted to disconnector objects during the import process and remove any placeholder object that are no longer referenced by another object.