Skip to main content
NetApp virtualization solutions

Configure advanced settings in the Shift Toolkit

Contributors kevin-hoke netapp-nimo

Configure advanced settings in Shift Toolkit to manage CredSSP authentication, enable logging and debugging, access REST APIs, and set up email notifications for migration jobs.

Access the advanced settings by clicking the Settings icon in the top toolbar.

Settings icon in the Shift Toolkit toolbar

Credential Security Service Provider (CredSSP)

The Shift Toolkit uses Credential Security Service Provider (CredSSP) to manage credential transfers during the conversion process. The Shift server runs scripts on the guest operating system of the VM being converted, passing credentials through a "double-hop" from the Shift server to the guest OS through the Hyper-V server.

CredSSP configuration settings

Configure the Shift server as a CredSSP client

The Advanced Settings wizard automatically configures the Shift server as a CredSSP client, enabling it to delegate credentials to the Hyper-V servers.

Behind the scenes

The Shift Toolkit executes the following commands and policy configurations to set itself up as a client:

Commands executed:

  • Set-Item WSMan:\localhost\Client\TrustedHosts -Value "fqdn-of-hyper-v-host"

  • Enable-WSManCredSSP -Role client -DelegateComputer "fqdn-of-hyper-v-host"

Group policy configured:

  • Computer Configuration > Administrative Templates > System > Credentials Delegation > Allow delegating fresh credentials with NTLM-only server authentication

    Enable this policy and add wsman/fqdn-of-hyper-v-host.

Configure the Hyper-V server as a CredSSP server

Use the Enable-WSManCredSSP cmdlet on the Hyper-V server to configure it as a CredSSP server, enabling it to receive credentials from the Shift server.

Steps
  1. On the Hyper-V host where VMs will be provisioned by the Shift Toolkit server, open a Windows PowerShell session as Administrator.

  2. Run the following commands:

    Enable-PSRemoting
    Enable-WSManCredSSP -Role server

Logging and debugging

The Shift Toolkit includes default logging with a 30-day retention period. Logging can be switched to debug mode upon request from support for troubleshooting purposes.

Logging configuration settings

Swagger

The Swagger page in the advanced settings allows you to interact with the Shift Toolkit REST APIs.

Swagger API documentation interface

The Shift Toolkit REST API provides programmatic access to migration, conversion, and automation capabilities. The APIs are organized by functional workflow to help you quickly find the resources you need for specific tasks.

API resource categories

Authentication and setup APIs

Use these APIs to establish connections, manage users, and configure authentication for the Shift Toolkit server.

Session

Manage user authentication and obtain authorization tokens for API requests:

  • Start a session

  • Validate a session

  • Get all session IDs

  • End a session

User

Manage user accounts and permissions:

  • Add a user

  • Get all users

  • Change user password

  • Accept EULA

CredSSP

Configure Credential Security Service Provider for credential delegation:

  • Enable CredSSP

  • Get CredSSP status

Connector

Manage connections to infrastructure components:

  • Add a connector

  • Get details of all connectors

  • Update connector details by ID

  • Get connector details by ID

Tenant

Manage multi-tenant configurations:

  • Add a tenant

  • Get all tenants

Infrastructure management APIs

Use these APIs to configure and discover your source and target environments.

Site

Manage migration sites and their associated virtual and storage environments:

  • Get count of sites

  • Get all site details

  • Add a site

  • Get site details by ID

  • Delete a site by ID

  • Add virtual environment to a site

  • Add storage environment to a site

  • Get virtual environment details for a site

  • Update virtual environment details for a site

  • Delete virtual environment details for a site

  • Get storage environment details for a site

  • Update storage environment details for a site

  • Delete storage environment details for a site

Discovery

Discover and inventory VMs and resources in source and target sites:

  • Discover source site

  • Get all discovery requests for source site

  • Discover target site

  • Get all discovery requests for target site

  • Get discovery steps for source site by ID

  • Get discovery steps for target site by ID

VM and resource management APIs

Use these APIs to inventory, organize, and manage VMs and resources for migration.

VM

Query and manage virtual machines:

  • Get VMs for a site and virtual environment in source

  • Get unprotected VMs for a site and virtual environment

  • Get VM count

  • Get protected VM count

Resource

View resource utilization and availability:

  • Get resource details for a site and virtual environment

  • Get source site resource count

Resource Group

Organize VMs into protection groups for migration:

  • Get protection group count

  • Get all protection group details

  • Add a protection group

  • Get protection group details by ID

  • Delete a protection group by ID

  • Update protection group details by ID

  • Get VMs of a protection group by ID

  • Get blueprints containing the protection group

Migration and recovery APIs

Use these APIs to execute migrations, monitor compliance, and manage recovery operations.

Blueprint

Define and manage migration blueprints:

  • Get blueprint count

  • Get all blueprint details

  • Add a blueprint

  • Get blueprint details by ID

  • Delete blueprint by ID

  • Update blueprint details for ID

  • Get VMs of a blueprint

  • Get power status of VMs present in the blueprint

Compliance

Verify readiness and compatibility before migration:

  • Get compliance check result for a blueprint

  • Get compliance check final status for a blueprint

  • Add on-demand compliance check for a blueprint

Execution

Monitor migration and conversion job execution:

  • Get all execution details

  • Get details of execution in progress

  • Get execution count

  • Get count of executions in progress

  • Get steps for execution ID

Recovery

Execute and manage migration and recovery operations:

  • Add new execution request for a blueprint

  • Add retry request of execution for a blueprint

  • Get execution statuses of all blueprints

  • Get execution status for blueprint ID

Automation APIs

Use these APIs to extend and automate Shift Toolkit functionality.

Script Block

Access and execute automation scripts:

  • Get all scripts metadata

  • Get script metadata by ID

  • Get all refresh metadata

  • Execute script

Script block and automation

The script block within the Shift Toolkit provides sample code to help you automate, integrate, and develop features using internal and external APIs. Browse and download samples in the Code Samples section, written by the Shift Toolkit automation team and community members. Use these samples to get started with automation, management, or integration tasks.

Script block interface
Available code samples

The following example shows a PowerShell script that deletes a specific job within the Shift Toolkit UI. While this capability is not exposed through the standard workflow, it can be accomplished using the script block. The script is also available as a batch script that can be easily downloaded and executed.

Example PowerShell script for job deletion

The objective of the script block is to provide sample scripts for day 0 and ongoing operations on specific hypervisors using the Shift Toolkit APIs and the respective hypervisor published APIs.

The objective of the script block is to provide sample scripts for day 0 and ongoing operations on specific hypervisors using the Shift Toolkit APIs and the respective hypervisor published APIs.

Email notifications and alerts

Configure email notifications to send alerts about discovery, conversion, or migration jobs to specified recipients. UI notifications (alerts within the interface) are also available and stored for 7 days.

Access the email notification settings from Settings > Platform Settings > Email configuration.

Steps
  1. Log in to the Shift Toolkit UI.

  2. Navigate to Settings > Platform Settings.

  3. Select Email notifications and update SMTP details:

    • SMTP server address

    • Port

    • Username

    • Password

  4. Update the recipient field and select the events from the available categories.

  5. Click Apply.

Email notification configuration settings

The screenshot shows the breakdown for each notification category and event.

Note The email notification uses basic SMTP authentication and SendGrid in this release. A future release will support modern authentication.
Note The email notification uses basic SMTP authentication and SendGrid in this release. A future release will support modern authentication.

Abort and revert capabilities

The Shift Toolkit provides the option to cancel a running job at any step within the workflow. When a job is cancelled, all orphaned components are automatically cleaned up, including:

  • Powering off VMs on the hypervisor if they were powered on

  • Removing disk entries from the appropriate qtree

  • Deleting persistent volume claims (PVCs)

Since the Shift Toolkit does not modify the source VM in any way, rollback is straightforward, simply power on the source VM. No other rollback actions are required.

Verify Migration

Shift toolkit now provides a verify option against the blueprint level which is enabled after the migration status is marked as "Success" or "Partial Failure". Once succeeded, the verify option will start a new job and check the VM settings as specified in the blueprint mappings. The status of the verify migration job will be listed in the Job Monitoring and the details can be viewed by clicking on the job and selecting "view logs".

Note The verify option can also be selected while creating the blueprint, in which case the verify job will be triggered after 5 mins once the migration job is complete.
Note If the verify is selected after the migration job, then a verification job is triggered on the fly and the wizard will list the job.
Verify Migration job details
Verify Migration job list

Split Workflow

The split workflow (applicable only to OpenShift migration blueprints using the ONTAP NAS driver) automatically discovers the volumes associated with the VMs, as well as their corresponding FlexClone volumes.

Based on the ONTAP version, the appropriate split strategy is selected automatically. The general guideline is as follows:

  • Split Clone for volumes on ONTAP 9.17.1 and later, with 20 parallel execution

  • Volume Move for ONTAP versions earlier than 9.17.1, using up to four parallel threads

The split clone process continually monitors progress and manages job queueing accordingly. Once the split or volume move operation is complete, the associated snapshot is deleted.

The status of the split steps job will appear in Job Monitoring. To view further details, click on the split job and select “View Logs.”

Note The Shift Toolkit currently does not resize volumes after snapshot deletion. This capability is planned for a future release.
Split Workflow strategy selection
Split Workflow job progress

Advanced Hypervisor Settings

The Shift Toolkit includes advanced hypervisor settings for migration jobs to target hypervisors. These settings let migration administrators enable features for each VM migration wave as required. Shift Toolkit reads the settings at runtime, so each job applies the selected options when it starts.

Advanced Hypervisor Settings overview
Advanced Hypervisor Settings options
Advanced Hypervisor Settings configuration
Advanced Hypervisor Settings job details