Update actions performed during an SVM migration
PATCH /svm/migrations/{uuid}
Introduced In: 9.10
Actions that can be performed during an SVM migration.
Related ONTAP commands
-
vserver migrate pause
-
vserver migrate resume
-
vserver migrate cutover
-
vserver migrate source-cleanup
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
SVM migration UUID |
action |
string |
query |
False |
The pause action pauses the SVM migration. This action stops data transfer and configuration replication. This operation must be performed on the destination cluster. The resume action resumes an SVM migration from a paused or failed state. If the SVM migration is in a cleanup_failed state, volume placement is ignored. This operation must be performed on the destination cluster. The cutover action triggers the cutover of an SVM from the source cluster to the destination cluster. The source_clean up action performs a clean up of the SVM on the source cluster.
|
auto_cutover |
boolean |
query |
False |
Optional property that when set to true automatically performs cutover when the migration state reaches "ready for cutover".
|
auto_source_cleanup |
boolean |
query |
False |
Optional property that when set to true automatically cleans up the SVM on the source cluster after the migration cutover.
|
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.
|
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 migrate restarted the transfer, for example, rollback to transfer after starting the cutover. |
source |
Source cluster details for the SVM migration. |
|
state |
string |
Indicates the state of the migration. |
throttle |
integer |
Optional property to specify a throttle value in KB/s for each individual volume transfer. Defaults to 0 if not set, which is interpreted as unlimited. The minimum throttle value is 4 KB/s, so if you specify a throttle value between 1 and 4, it will be treated as if you specified 4. |
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": [
{
"code": "string",
"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",
"throttle": 0,
"time_metrics": {
"cutover_complete_time": "2020-12-03 03:30:19 +0000",
"cutover_start_time": "2020-12-03 02:20:19 +0000",
"cutover_trigger_time": "2020-12-03 03:15:19 +0000",
"end_time": "2020-12-03 03:36:19 +0000",
"last_pause_time": "2020-12-03 02:50:19 +0000",
"last_resume_time": "2020-12-03 02:54:19 +0000",
"start_time": "2020-12-03 02:36:19 +0000"
},
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 200, Ok
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Response
Status: 202, Accepted
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
13172783 |
Migrate RDB lookup failed |
13173737 |
REST API PATCH method \"/api/svm/migrations\" is only supported on the destination cluster. Issue the REST API PATCH request to the destination cluster. |
13173746 |
Migrate resume operation failed. Cannot specify volume granular placement during resume if aggregate placement was specified during start operation. |
13173747 |
Migrate operation failed. Volume placement can only be specified on PATCH with an action of \"resume\". |
13173748 |
Migrate request cannot contain both \"aggregates\" and \"volume_aggregate_pairs\" within the \"volume_placement\" object. |
13173763 |
Migrate operation failed. LIF placement is not supported in PATCH operations. |
Also see the table of common errors in the Response body overview section of this documentation.
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
Aggregate
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. This field cannot be specified in a POST or PATCH method. |
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. Volume placement is ignored if the migration resumes from the cleanup_failed state.
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. Volume placement is ignored if the migration resumes from the cleanup_failed state. |
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
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
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. This field cannot be specified in a PATCH method. |
uuid |
string |
The unique identifier of the SVM. This field cannot be specified in a PATCH method. |
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 migrate restarted the transfer, for example, rollback to transfer after starting the cutover. |
source |
Source cluster details for the SVM migration. |
|
state |
string |
Indicates the state of the migration. |
throttle |
integer |
Optional property to specify a throttle value in KB/s for each individual volume transfer. Defaults to 0 if not set, which is interpreted as unlimited. The minimum throttle value is 4 KB/s, so if you specify a throttle value between 1 and 4, it will be treated as if you specified 4. |
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 |
returned_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. |