Skip to main content
NetApp virtualization solutions

Configure advanced settings in the Shift Toolkit

Contributors kevin-hoke

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.