User Guide: SCSM Lifecycle Management.

Application Overview

The Cireson Lifecycle Management App allows you to transfer most settings and data from one Service Manager environment to another Service Manager environment.

Please note. It is highly recommended to engage Cireson Consulting Services to help perform SCSM 2012 – 2016 migrations to ensure optimal success and best practice.

Compatibility

The following types of environment transfers are supported:

Service Manager 2012

  • Service Manager 2012 (any) to Service Manager 2012 (any)
  • Service Manager 2012 (any) to Service Manager 2016 (any)
  • Service Manager 2012 (any) to Service Manager 2019 (any)
  • Service Manager 2012 (any) to Service Manager 2022 (any)

Service Manager 2016

  • Service Manager 2016 (any) to Service Manager 2016 (any)
  • Service Manager 2016 (any) to Service Manager 2019 (any)
  • Service Manager 2016 (any) to Service Manager 2022 (any)

Service Manager 2019

  • Service Manager 2019 (any) to Service Manager 2019 (any)
  • Service Manager 2019 (any) to Service Manager 2022 (any)

Service Manager 2022

  • Service Manager 2022 (any) to Service Manager 2022 (any)

Please note that some transfers involving Service Manager 2010 may work, but are generally untested and unsupported. Also, note that the target server should be on an Update Rollup that is equal to or greater than the source server. Otherwise, some items will fail to copy due to invalid dependencies.

Prerequisites

For app functionality, the app requires the SCSM console to be installed. This will ensure the property DLLs are installed and accessible.

For licensing, the app requires access to the file LicenseManagement.Client.dll , in order to use licensing. If this DLL is not present in either the same directory as the app, or in your system’s PATH directory, then the app will run with reduced functionality.

Configuration types

The Lifecycle Management app can copy the following items from one server to another server.

  • Management Packs, both sealed and unsealed.
  • DLL files from the source server’s SCSM Program Files directory
  • SCSM Settings, from the Administration > Settings tab in the SCSM console
  • Service Level Objectives
  • Work items of all types
  • Configuration items of all types

App Licensing mode

The free, locked version of the app has limited functionality. If a license does not exist or cannot be verified, then you will only be able to copy up to 100 work items and 100 configuration items.  You will not be able to copy any management packs, DLL files, or settings without a valid Cireson License Key.

The app can verify your license in one of two methods:

  1. Online mode: The app will read in your Cireson License key from the source or target server’s Cireson Console Licensing Settings section, and then reach out to licensing.cireson.com for the specific app key pertaining to the Cireson lifecycle Management app.
  2. Air-gapped mode: The app will read the “SCSM Lifecycle Management.exe.config” file located in the same directory as the app. There is an “appkey” setting which stores your key. This key can be manually copied and pasted from https://licensing.cireson.com .

Server Access

The application uses the credentials of the user that launches it. This user must have access to connect to both the source server and the target server. The app itself can be run on any machine that uses an account that can connect to both servers, and has network access to both servers.

It is recommended to have Administrator access on both the source server and the target server, as well as be a member of the SCSM Administrators user role. However, the app will respect granular access for any specific function. For example, if your user role only has access to an Incident Resolver User Role, then you can run the app to properly copy over incidents.

Lastly, when you are ready to launch SCSM Lifecycle Management, you will want to launch the application as an Administrator. You will want to accomplish this by right-clicking on the Executable, and selecting Run as Administrator.


Figure 1.1 - Launching SCSM Lifecycle Management as Administrator

Applications Settings

Page 1:  Migration options

Server Connections

              Source Server: The source SCSM server to connect to. This source server name will work if the source server can be contacted by the machine that the app is running on, and the user account can successfully open the Service manager console pointing to this server name. This can be any server in the source environment. For example, you can use the SCSM primary workflow server, secondary SCSM server, or Cireson Portal server, all of which will result in the exact same result.

              Target Server: The target SCSM server to connect to. This target server name will work if the target server can be contacted by the machine that the app is running on, and the user account can successfully open the Service manager console pointing to this server name.

Migration Content

              Work Items: Allows work items to be copied over from the source environment to the target environment. Work items include incidents, serve requests, change requests, problems, and release records, and child activities. This also includes extended and/or inherited work item classes.

              Configuration items: Allows configuration items to be copied over from the source environment to the target environment.  Configuration items include any out-of-box config items class like users and computers, as well as custom classes based on the System.ConfigItem class.

Migration Behavior

              Create error if extended class field doesn’t exist on target: When copying a work item (WI) or configuration item (CI), some fields may not exist if a source server class has been extended, but a target server class has not, and so the source server class contains extended field data that the target server field cannot copy over to. This option controls if the app will ignore the field, or error, warning the user that the field is missing. This can be used to verify that all management packs have been properly imported before copying any data over.

              Multi-threaded; Allow the app to consume significantly more resources when running, in exchange for a significantly faster copy experience. This setting is not recommended for weak machines, as it will impact overall server performance in favor of the app. On extremely weak machines, such as those with only 4gb memory, it will overwhelm them and severely cripple machine performance, even after the app finishes copying data. Please multi-thread responsibly.

              Use Smart Type Projections to find related objects: Attempts to use the largest type projection (combination class) when touching every work item and config item. This will result in faster performance at the cost of more memory. The largest type projection must exist in both environments in order for this option to be used.

Enumeration Value Options

Enumeration Values are stored in the console > Library > Lists section. They are used on various objects, including SCSM Settings, work items, and configuration items. This option will determine what happens when an object is copied, but the enumeration value does not exist on the target server.

Ignore values that do not exist on the target server. If an enumeration option does not exist on the target server, then ignore it. Leave the property blank, and do not create the enumeration value.

Create error if value does not exist on target: Stop the app from running if it tries to copy an object that contains an enumeration value that does not exist on the target server. This option is used when you are expected all values to already be imported in the target server from a management pack,

Save new values to a custom class management Pack on target: When an object is being copied over to the target server, and the object has a property with an enumeration value that does exist, then create the value in a new/exist management pack on the target server. If a new Management Pack is created, then its name will follow the naming scheme “Custom.ClassName.FieldName.EnumerationValues. For example, “Custom.Incident.IncidentTierQueue.EnumerationValues”.

Log file directory: The directory where the SCSM Lifecycle Management logs will be created and stored. This directory will also store temp files, such as management packs that are exported from the source server.


Figure 2.1 - Migration Options

Page 2: Content options – Management Packs, Files, and Settings

Management Packs

Both sealed and unsealed management packs can be copied. However, Microsoft management packs cannot be copied. This is to prevent an issue that can occur when the target environment attempts to install an Update Rollup with a Microsoft Management Pack newer than those contained in the Update Rollup.

Import sealed non-Microsoft Management Packs to target: Enables the copying of all sealed management packs to the target server. Management packs are not copied if at least one of the following is true: The target server’s management pack has the same or newer version number, or the Management Pack is sealed by with Microsoft’s key, or the management pack is from Provance.

Import unsealed non-Microsoft Management Packs to target: Enables the copying of all unsealed management packs to the target server. Management Packs are not copied if at least one of the following is true: The target server’s management pack has the same or newer version number, or the Management Pack is one of several specifically-named out-of-box management packs installed with Service Manager.

Overwrite same-version unsealed management packs on the target server if source is newer: Enables unsealed management packs to ignore the version number when copying to the target server. Normally, modifying a list value, template, or request offering will update a management pack’s LastModified date, but not the version. This allows such changes to be copied to the target server when the Management Pack already exists.

Continue Copying Management Packs even if one fails to import: Allows Management Packs to continue to import, even when one fails to import. Normally, if a management pack fails to import, the app will stop. This allows the process to continue importing Management Packs, and then stop the process after the Management Pack phase has completed.

File Settings:

Copy DLL files from source’s Program Files\SCSM directory to target server if they don’t exist: Most server manager workflow require DLL files to be placed in the Program Files\SCSM directory. This setting will copy the files from the source directory to the target directory. This setting requires access to connect to the remote registry on the source server and target server, in order to determine what the exact installation directory is.

Request Offerings and Service Offerings

              Relate Request Offerings to Service Offerings on target: Copies the relationships between request offerings and service offerings from the source server to the target server, if the offering exist on the target server.

Templates and Runbooks

              Match Runbook Activity templates with new runbook IDs (includes runbook parameters): Normally, Runbook Activity templates internally save their SCORCH runbook targets as GUID. This varies per SCSM instance, and is unique to that instance.  This setting edits the Management Packs on the target server to use the target server’s GUIDs, instead of the source machine’s GUIDs. Without this setting, runbook activities will not work.

              Match non-Runbook Activity templates with new runbook IDs (includes runbook parameters): Similar to the above setting, but affects all other templates that contain a runbook activity template, such as a Service Request template.

Service Level Objectives

              Copy Service Level Objectives: Normally, importing a Management Pack that contains a Service Level Objective will not actually create a Service Level Objective. It would instead create a ghost workflow with no valid action, running invisibly. This option will copy over the Service Level Objective, as well as any Metrics and Calendars, syncing them all up to an existing SLA workflow brought in from a management pack.

SCSM Settings

              Copy SCSM Setting Items: Copies matching settings located in the Service Manager Console > Administration > Settings. This includes items such as the number of incident attachments allowed, or Cireson Portal Group mapping settings.


Figure 2.2 - Content Options - Management Packs, Files, and Settings

Page 3: Content Options – Work items

Migration Scope

Copy active items only: Each work item has one or more statuses that are considered active or inactive. This setting will only copy over work items that have a status of one of the active values. This setting does respect nested statuses.

Copy items that were created between _ and _ days ago: Work items that meet the time frame specified in this option will only be copied to your target server.

Copy all items: Copies all work items, regardless of status.

Copy from source

Determines which of the five primary work item types to copy over. This includes Incidents, Service Requests, Change Requests, Problems, and Release Records. This also includes any extended version and/or inherited version of these classes. For example, selecting the Incident class will copy over all incidents, all extended incidents, and all inherited work items based on the Incident class.

Creation and Update Behavior

Create new Work Items using the same ID numbers but ignore target server items that already exist: All source work items will be checked against the target server to see if it already exists. If the work item does exist on the target server, it will be skipped. If it does exist, then the work item will be copied over, using the same work item ID.

Create and update Work Items using the same ID numbers: The work item on the source server will overwrite the work item on the target server if the ID number is the same.

Create new Work Item ID numbers and ignore target server work items that already exist: The work item on the source server will be copied over to the target server, regardless if a work item of the same ID exists on the target server, and regardless of if the work item was previously transferred over. .

Relationship Options

Copy Activities that are related to other copied work items: The app will not allow activities to be copied by themselves. This prevents orphaned activities from existing. This setting will copy over all activities that are related in some way to any work item that is also being copied.

Copy Relationships to other Work Items and Configuration Items: Allows relationships to be copied over, such as the affected user on an incident, the affected CI on a change request, or the related incidents on a problem.

If a related object does not exist, create it: If the source server work item has a related item that does not exist on the target server, then create that related item on the target server. For example, if the source server has an incident with an affected Business Service, and that Business Service does not exist on the target server, then create it when copying over the incident. This only copies one level of relationships. For example, it will create an incident's related business service, but it will not create any related items of that business service.

Configuration Options

Use my custom inherited WI classes plus the default classes: Allows the use of inherited classes based on a work item. If this option is disabled, then all inherited work item classes will be copied over as their base work item class, and their extra fields or relationships will not be copied over. Note that any work item relationships to Service Level Objectives will be ignored, and the workflow engine on the target server will automatically apply Service Level rules against all work items that can be copied over.

Copy file attachments to target: Copies all files attachments from any source server work item and creates them on the target server, relating them to their respective work items.


Figure 2.3 - Content Options - Work Items

Page 4: Content Options – Configuration Items

Migration Scope

Copy all Cireson asset items: Copies all Configuration items based on a Cireson AssetManagement class.

Copy items with the following Class GUID: Copies Configuration items with the provided class GUID

Copy items with the following Class Name: Copies Configuration Items with the provided class name. This is the internal name, not the display name. For example, “Microsoft.SystemCenter.BusinessService” is correct, while “Business Service” is incorrect. This can also be used to copy certain Library CI objects, including the System.Knowledge.Article class.

Relationship Options

Copy Relationships to other work items and config items: Copies Relationships to other work items and config items:

Suppress and log invalid relationships: Ignores relationships to objects that either do not exist, or will not be copied over.

If a related object does not exist, create it recursively: If the source server’s Configuration Item has a related item that does not exist on the target server, then create that related item on the target server. For example, if the source server has a Windows Computer with a Primary User, and that Primary user does not exist on the target server, then create it when copying over the Windows Computer.

Configuration options

Halt when copying an item that already exists on the target server: When attempting to copy an item that already exists on the target server, stop app execution.

Update any items that already exist on the target server: When attempting to copy an item that already exists on the target server, update its properties and relationships as necessary, if they differ from the source server.

Copy file attachments to target: Copies all files attachments from any source server Configuration item and creates them on the target server, relating them to their respective work items.


Figure 2.4 - Content Options - Configuration Items

Copy Process

During the migration process, the app will gather a large amount of information from the source server and copy it to the target server. During this process, it will create new instance of objects in memory, but will not commit any objects until the end of the process. The app has the following phases, if enabled.

  1. Connecting to servers
  2. Verifying Management Packs
  3. Verifying Cireson License
  4. Copying Management Packs
  5. Copying DLL files
  6. Instancing and committing Service Level Objectives
  7. Instancing Work items
  8. Instancing Configuration Items
  9. Resolving internal relationship issues
  10. Committing Work Items and Configuration items
  11. Committing any additional relationships


Figure 2.5 - Reviewing Selected Options

The process can be cancelled at any time. Any items that have been instanced but not committed will be removed from memory, and will not be created on the target server. Any items that have been committed on the target server will remain on the target server. 


Figure 2.6 - Migration in progress

Migration Completion

When the migration of items is complete, you will be met with a "Complete!" message, following by the closing of the server connection. You can at this point view the migration log by clicking View Full Migration Log, you can complete another migration by clicking Perform Another Migration, or click the X at the top right of the window to close SCSM Lifecycle Management.


Figure 2.7 - Migration is complete

Further Questions/Issues

Should you run into an error message or notice an issue with Cireson Lifecycle Management, or an error message during the migration process, you can refer to the migration log designated in the Migration Options section of the application (the default location is C:\temp\log). Should further assistance be required, you may contact Cireson Support. Please include the migration log file as part of your submission to Support.

More Reading

KB1392 - User Guide: SCSM Lifecycle Management Best Practices