Create an SVM migration operation
POST /svm/migrations
Introduced In: 9.10
Creates an SVM migration operation. This API must be executed on the destination cluster. This API creates an SVM on the destination cluster and preserves the SVM's identity specified in the source cluster. Optionally, you can specify the aggregate list for creating the volumes, and IPspace. You can perform pre-checks to verify if SVM migration is possible, by setting the "check-only" option to "true". By default the values for auto-source-cleanup and auto-cutover is true.
Required properties
-
source.svm.name
orsource.svm.uuid
- Source SVM name or source SVM UUID. -
source.cluster.name
orsource.cluster.uuid
- Source cluster name or source cluster UUID
Optional properties
-
destination.ipspace.name
ordestination.ipspace.uuid
- Destination IP Space name or UUID where the vserver will be migrated to. -
destination.volume_placement.aggregates
- List of aggregates where the migrating volumes should go on the destination. -
auto_cutover
- Option to specify whether to perform cutover automatically. Default is true. -
auto_source_cleanup
- Option to specify whether to perform souce cleanup automatically. Default is true. -
check_only
- Option to perform all the prechecks for migrate without actually starting the migrate. Default is false.
Related ONTAP commands
-
vserver migrate start
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
auto_cutover |
boolean |
Optional property that when set to true automatically performs cutover when the migration state reaches "ready for cutover". |
auto_source_cleanup |
boolean |
Optional property that when set to true automatically cleans up the SVM on the source cluster after the migration cutover. |
check_only |
boolean |
Optional property that when set to true performs only migration pre-checks not the actual migration. |
current_operation |
string |
|
destination |
Destination cluster details for the SVM migration. |
|
ip_interface_placement |
Optional property used to specify the list of source SVM's IP interface and network port pairs in the destination for migrating the source SVM IP interfaces. Note that the SVM migration does not perform any reachability checks on the IP interfaces provided. |
|
last_failed_state |
string |
Indicates the state of the migration. |
last_operation |
string |
|
messages |
array[messages] |
Errors and warnings returned/displayed during migration. |
point_of_no_return |
boolean |
Indicates if the migration has progressed beyond the point of no return. When true, the migration cannot be aborted or paused. When false, the migration can be paused or aborted. |
restart_count |
integer |
Number of times SVM migration was restarted since initially started. |
source |
Source cluster details for the SVM migration. |
|
state |
string |
Indicates the state of the migration. |
time_metrics |
Various time metrics details |
|
uuid |
string |
SVM migration UUID |
Example request
{
"current_operation": "string",
"destination": {
"ipspace": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "exchange",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"volume_placement": {
"aggregates": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"volume_aggregate_pairs": [
{
"aggregate": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"volume": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
}
]
}
},
"ip_interface_placement": {
"ip_interfaces": [
{
"interface": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ip": {
"address": "10.10.10.7"
},
"name": "lif1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "e1b",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
]
},
"last_failed_state": "string",
"last_operation": "string",
"messages": [
{
"message": "string"
}
],
"restart_count": 0,
"source": {
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
},
"state": "string",
"time_metrics": {
"cutover_complete_time": "2020-12-02T19:30:19-08:00",
"cutover_start_time": "2020-12-02T18:20:19-08:00",
"cutover_trigger_time": "2020-12-02T19:15:19-08:00",
"end_time": "2020-12-02T19:36:19-08:00",
"last_pause_time": "2020-12-02T18:50:19-08:00",
"last_resume_time": "2020-12-02T18:54:19-08:00",
"start_time": "2020-12-02T18:36:19-08:00"
},
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
262245 |
The value provided is invalid. |
13172746 |
SVM migration cannot be started. This is a generic code, see the response message for details. |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
ipspace
Optional property used to specify which IPspace to use for the SVM. By default, the "default" ipspace is used.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
IPspace name |
uuid |
string |
IPspace UUID |
aggregates
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
aggregate
Aggregate to use for volume creation.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
volume
Property indicating the source volume.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
volume_aggregate_pairs
Volume-aggregate pair information.
Name | Type | Description |
---|---|---|
aggregate |
Aggregate to use for volume creation. |
|
volume |
Property indicating the source volume. |
volume_placement
Optional property to specify the source volume placement in the destination. It is input only and won't be returned by a subsequent GET.
Name | Type | Description |
---|---|---|
aggregates |
array[aggregates] |
Optional property used to specify the list of desired aggregates to use for volume creation in the destination. |
volume_aggregate_pairs |
array[volume_aggregate_pairs] |
Optional property used to specify the list of desired volume-aggregate pairs in the destination. |
destination
Destination cluster details for the SVM migration.
Name | Type | Description |
---|---|---|
ipspace |
Optional property used to specify which IPspace to use for the SVM. By default, the "default" ipspace is used. |
|
volume_placement |
Optional property to specify the source volume placement in the destination. It is input only and won't be returned by a subsequent GET. |
ip
IP information
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
interface
Network interface on the source SVM.
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
name |
string |
The name of the interface. If only the name is provided, the SVM scope must be provided by the object this object is embedded in. |
uuid |
string |
The UUID that uniquely identifies the interface. |
node
Name | Type | Description |
---|---|---|
name |
string |
Name of node on which the port is located. |
port
Port to use for IP interface placement on the destination SVM.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
node |
||
uuid |
string |
ip_interfaces
IP interface and network port pair information.
Name | Type | Description |
---|---|---|
interface |
Network interface on the source SVM. |
|
port |
Port to use for IP interface placement on the destination SVM. |
svm_migration_ip_interface_placement
Optional property used to specify the list of source SVM's IP interface and network port pairs in the destination for migrating the source SVM IP interfaces. Note that the SVM migration does not perform any reachability checks on the IP interfaces provided.
Name | Type | Description |
---|---|---|
ip_interfaces |
array[ip_interfaces] |
List of source SVM's IP interface and port pairs on the destination for migrating the source SVM's IP interfaces. |
messages
Specifies failure codes and messages.
Name | Type | Description |
---|---|---|
code |
integer |
Message code |
message |
string |
Detailed message of warning or error. |
cluster
Source cluster for the SVM migration.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
svm
Source SVM
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
source
Source cluster details for the SVM migration.
Name | Type | Description |
---|---|---|
cluster |
Source cluster for the SVM migration. |
|
svm |
Source SVM |
time_metrics
Various time metrics details
Name | Type | Description |
---|---|---|
cutover_complete_time |
string |
Cutover end time |
cutover_start_time |
string |
Cutover start time |
cutover_trigger_time |
string |
Cutover trigger time |
end_time |
string |
Migration end time |
last_pause_time |
string |
Last migration pause time |
last_resume_time |
string |
Last migration resume time |
start_time |
string |
Migration start time |
svm_migration
Provides information on SVM migration, default and user specified configurations, the state of the migration, and volume transfer metrics.
Name | Type | Description |
---|---|---|
auto_cutover |
boolean |
Optional property that when set to true automatically performs cutover when the migration state reaches "ready for cutover". |
auto_source_cleanup |
boolean |
Optional property that when set to true automatically cleans up the SVM on the source cluster after the migration cutover. |
check_only |
boolean |
Optional property that when set to true performs only migration pre-checks not the actual migration. |
current_operation |
string |
|
destination |
Destination cluster details for the SVM migration. |
|
ip_interface_placement |
Optional property used to specify the list of source SVM's IP interface and network port pairs in the destination for migrating the source SVM IP interfaces. Note that the SVM migration does not perform any reachability checks on the IP interfaces provided. |
|
last_failed_state |
string |
Indicates the state of the migration. |
last_operation |
string |
|
messages |
array[messages] |
Errors and warnings returned/displayed during migration. |
point_of_no_return |
boolean |
Indicates if the migration has progressed beyond the point of no return. When true, the migration cannot be aborted or paused. When false, the migration can be paused or aborted. |
restart_count |
integer |
Number of times SVM migration was restarted since initially started. |
source |
Source cluster details for the SVM migration. |
|
state |
string |
Indicates the state of the migration. |
time_metrics |
Various time metrics details |
|
uuid |
string |
SVM migration UUID |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |