Modify Migrated Orchestrator Runbooks
Updated: May 13, 2016
Applies To: System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator
Opalis Policies and Orchestrator runbooks do not share all settings or features. Migrated runbooks must be modified so that the runbook functions correctly in Orchestrator. For each migrated runbook, you should update the runbook to meet current requirements.
This topic provides information about how to update migrated Orchestrator runbooks.
Opalis Policy Mode setting
Opalis Integration Server 6.3 provides two modes for Policies that defined the behavior of the publish and subscribe data bus. To access this property, right-clicking a Policy tab in the Opalis Integration Server 6.3 Client to select Properties. The Policy Mode setting is located on the Run Behavior tab. If the Run in pipeline mode box is not selected, the workflow is configured for “legacy” mode.
Legacy mode was retained in Opalis Integration Server 6.3 to provide backwards compatibility with older versions of Opalis software. In Opalis Integration Server 6.3, the default policy mode for new workflows is “pipeline.”
Orchestrator does not provide a runbook mode setting. The Policy Mode property of an Opalis Policy is now the Job Concurrency property in Orchestrator. Runbooks in Orchestrator use a data model compatible with Opalis Integration Server 6.3 pipeline mode.
You can import Opalis Integration Server 6.3 Policies that used legacy mode successfully into Orchestrator. However, the legacy mode is not compatible with Orchestrator. You can identify legacy mode runbooks by looking at the toolbar of the imported runbook. If the runbook is Checked In, the runbook was an Opalis Integration Server 6.3 pipeline workflow. If the runbook is Checked Out, the Opalis Integration Server 6.3 workflow was a legacy workflow.
The following table summarizes the Opalis Integration Server 6.3 workflow mode settings and show how these workflows are treated when they are migrated to Orchestrator runbooks.
|Opalis policy mode||Migrated runbook property|
|Legacy||Runbooks show Checked Out after being imported and have to be checked in to update the runbook.|
|Pipeline mode||Runbooks show Checked In after being imported.|
When you check in a runbook that was a legacy Policy in Opalis, the Runbook Designer shows a warning if the runbook contains a structure that is not valid. You must resolve these warnings before the runbook functions correctly.
The check-in succeeds even if a warning is produced. Check out the runbook to correct the structure that is not valid.
Multiple starting points
Runbooks can only contain one activity as a starting point. If the migrated runbook contains multiple starting activities, check-in produces a warning.
Update the runbook to contain a single starting activity.
Runbooks cannot contain smart links that originate with one runbook activity and reference an earlier runbook activity. These runbook structures are called cycles. Cycles are supported in Opalis Integration Server 6.3 legacy mode. Orchestrator does not support runbooks that contain cycles. If you check in a runbook that contains a cycle, you receive a warning.
Update the runbook so it does not contain a cycle.
Opalis ROI setting
Opalis Integration Server 6.3 provided a Policy property to track return on investment (ROI). To can view this runbook property, right-click a Policy tab in the Opalis Integration Server Client to select Properties. The ROI settings for a given runbook are located on the ROI tab.
The ROI is not supported in Orchestrator. Orchestrator ignores these settings if they are present in imported Opalis Integration Server 6.3 workflows.
Opalis legacy objects
Opalis Integration Server 6.3 provides workflow objects known as legacy objects. These objects support older versions of Opalis software for backwards compatibility. Orchestrator does not provide support for legacy objects. In the Runbook Designer, references to these legacy objects in imported runbooks are marked with an activity icon that contains a question mark (?). Orchestrator provides equivalent standard activities for the legacy objects. Update migrated runbooks to remove the legacy object and replace it with an Orchestrator equivalent. The following table lists a suitable replacement for Opalis Integration Server 6.3 legacy objects.
|Opalis legacy object||Orchestrator activity or resource|
|Manage Text File||Orchestrator Text File Management category (Append Line, Delete Line, Find Text, Get Lines, Insert Line, Read Line, and Search and Replace Text activities)|
|Create Folder||Create Folder|
|Delete Folder||Delete Folder|
|Copy File||Copy File|
|Delete File||Delete File|
|Move File||Move File|
|Rename File||Rename File|
|Get File Status||Get File Status|
|Monitor File||Monitor File|
|Monitor Folder||Monitor Folder|
|Filter Email||Run .NET Script or Orchestrator Integration Toolkit|
|Process Email||Run .NET Script or Orchestrator Integration Toolkit|
|Read Email||Run .NET Script or Orchestrator Integration Toolkit|
|Filter Exchange Email||Community Integration Pack|
|Process Exchange Email||Community Integration Pack|
|Read Exchange Email||Community Integration Pack|
Opalis Policy objects not supported in Orchestrator
There are a small number of Opalis Integration Server Policy objects that do not have an equivalent Orchestrator runbook activity. The Runbook Designer marks these references to unsupported objects with a question mark (?). The following table lists the unsupported Policy objects.
|Send Page||Infrequently used and out-of-date.|
|Purge Event Log||Infrequently used and out-of-date.|
|Monitor Event Log Capacity.||Infrequently used and out-of-date. Replaced by functionality found in System Center 2012 – Operations Manager.|
|Monitor Performance||Infrequently used and out-of-date. Replaced by functionality found in Operations Manager.|
|Disconnect Dial-Up||Infrequently used and out-of-date.|
|Get Dial-Up Status||Infrequently used and out-of-date.|
|Wait||Only meaningful in Opalis Integration Server 6.3 legacy mode runbooks. Junction is the closest Orchestrator activity.|
Opalis Policies that use missing objects
Run the following SQL Server query against either the Opalis data store or the Orchestrator database to identify the Opalis Policies that contain objects that are no longer available in Orchestrator. This query returns both the Opalis Policy name and the name of the object in the Policy. Any Policy identified by this query must be updated after it has been imported into Orchestrator to remove the reference to the deprecated object.
Select policies.[Name] as [Policy Name], objects.[Name] as [Object Name] From [Objects] objects join [Policies] policies on objects.[ParentID]=policies.[UniqueID] Where objects.objecttype = '2081B459-88D2-464A-9F3D-27D2B7A64C5E' or objects.objecttype = '6F0FA888-1969-4010-95BC-C0468FA6E8A0' or objects.objecttype = '8740DB49-5EE2-4398-9AD1-21315B8D2536' or objects.objecttype = '19253CC6-2A14-432A-B4D8-5C3F778B69B0' or objects.objecttype = '9AB62470-8541-44BD-BC2A-5C3409C56CAA' or objects.objecttype = '292941F8-6BA7-4EC2-9BC0-3B5F96AB9790' or objects.objecttype = '98AF4CBD-E30E-4890-9D26-404FE24727D7' or objects.objecttype = '2409285A-9F7E-4E04-BFB9-A617C2E5FA61' or objects.objecttype = 'B40FDFBD-6E5F-44F0-9AA6-6469B0A35710' or objects.objecttype = '9DAF8E78-25EB-425F-A5EF-338C2940B409' or objects.objecttype = 'B5381CDD-8498-4603-884D-1800699462AC' or objects.objecttype = 'FCA29108-14F3-429A-ADD4-BE24EA5E4A3E' or objects.objecttype = '7FB85E1D-D3C5-41DA-ACF4-E1A8396A9DA7' or objects.objecttype = '3CCE9C71-51F0-4595-927F-61D84F2F1B5D' or objects.objecttype = '96769C11-11F5-4645-B213-9EC7A3F244DB' or objects.objecttype = '6FED5A55-A652-455B-88E2-9992E7C97E9A' or objects.objecttype = '9C1DF967-5A50-4C4E-9906-C331208A3801' or objects.objecttype = 'B40FDFBD-6E5F-44F0-9AA6-6469B0A35710' or objects.objecttype = '829A951B-AAE9-4FBF-A6FD-92FA697EEA91' or objects.objecttype = '1728D617-ACA9-4C96-ADD1-0E0B61104A9E' or objects.objecttype = 'F3D1E70B-D389-49AD-A002-D332604BE87A' or objects.objecttype = '2D907D60-9C25-4A1C-B950-A31EB9C9DB5F' or objects.objecttype = '6A083024-C7B3-474F-A53F-075CD2F2AC0F' or objects.objecttype = '4E6481A1-6233-4C82-879F-D0A0EDCF2802' or objects.objecttype = 'BC49578F-171B-4776-86E2-664A5377B178'