Updated on 2025-02-13 GMT+08:00

Reporting Migration Progress and Rate

Function

This API is called by the Agent installed on source servers during migration to report the migration progress and rate to SMS.

You do not need to make calls to this API.

Calling Method

For details, see Calling APIs.

URI

PUT /v3/tasks/{task_id}/progress

Table 1 Path parameter

Parameter

Mandatory

Type

Description

task_id

Yes

String

The migration task ID.

Minimum length: 0 characters

Maximum length: 255 characters

Request

Table 2 Request header parameter

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

X-Auth-Token

The user token. The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Minimum length: 1 character

Maximum length: 16,384 characters

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

subtask_name

Yes

String

The name of the subtask whose progress is reported. The subtask name can be:

CREATE_CLOUD_SERVER: creating a new server

SSL_CONFIG: configuring a secure channel

ATTACH_AGENT_IMAGE: attaching the disk that contains an agent image

DETTACH_AGENT_IMAGE: detaching the disk that contains an agent image

FORMAT_DISK_LINUX: formatting partitions on Linux

FORMAT_DISK_LINUX_FILE: formatting partitions on Linux for a file-level migration

FORMAT_DISK_LINUX_BLOCK: formatting partitions on Linux for a block-level migration

FORMAT_DISK_LINUX: formatting partitions on Windows

MIGRATE_LINUX_FILE: replicating files on Linux

MIGRATE_LINUX_BLOCK: replicating blocks on Linux

MIGRATE_WINDOWS_BLOCK: replicating blocks on Windows

CLONE_VM: cloning the target server

SYNC_LINUX_FILE: synchronizing files on Linux

SYNC_LINUX_BLOCK: synchronizing blocks on Linux

SYNC_WINDOWS_BLOCK: synchronizing blocks on Windows

CONFIGURE_LINUX: modifying system configurations on Linux

CONFIGURE_LINUX_BLOCK: modifying system configurations on Linux for a block-level migration

CONFIGURE_LINUX_FILE: modifying system configurations on Linux for a file-level migration

CONFIGURE_WINDOWS: modifying system configurations on Windows

Minimum length: 0 characters

Maximum length: 255 characters

The value can be:

  • CREATE_CLOUD_SERVER

  • SSL_CONFIG

  • ATTACH_AGENT_IMAGE

  • DETTACH_AGENT_IMAGE

  • FORMAT_DISK_LINUX

  • FORMAT_DISK_LINUX_FILE

  • FORMAT_DISK_LINUX_BLOCK

  • FORMAT_DISK_WINDOWS

  • MIGRATE_LINUX_FILE

  • MIGRATE_LINUX_BLOCK

  • MIGRATE_WINDOWS_BLOCK

  • CLONE_VM

  • SYNC_LINUX_FILE

  • SYNC_LINUX_BLOCK

  • SYNC_WINDOWS_BLOCK

  • CONFIGURE_LINUX

  • CONFIGURE_LINUX_BLOCK

  • CONFIGURE_LINUX_FILE

  • CONFIGURE_WINDOWS

progress

Yes

Integer

The progress of the subtask, in percentage (%).

Minimum value: 0

Maximum value: 100

replicatesize

Yes

Long

The amount of data that has been replicated in the subtask, in bytes.

Minimum value: 0

Maximum value: 9223372036854775807

totalsize

Yes

Long

The total amount of data to be migrated in the subtask.

Minimum value: 0

Maximum value: 9223372036854775807

process_trace

Yes

String

The detailed progress of the migration or synchronization.

Minimum length: 0 characters

Maximum length: 2,048 characters

migrate_speed

No

Double

The migration rate in Mbit/s.

Minimum value: 0

Maximum value: 10000

compress_rate

No

Double

The file compression rate.

Minimum value: 0

Maximum value: 10000

remain_time

No

Long

The remaining time.

Minimum value: 0

Maximum value: 2147483647

total_cpu_usage

No

Double

CPU usage of the server. The value ranges from 0 to 100, in percentage.

Minimum value: 0

Maximum value: 100

agent_cpu_usage

No

Double

The CPU usage of the Agent. The value ranges from 0 to 100, in percentage.

Minimum value: 0

Maximum value: 100

total_mem_usage

No

Double

The memory usage of the server, in MB.

Minimum value: 0

Maximum value: 1048576.0

agent_mem_usage

No

Double

The memory usage of the Agent, in MB.

Minimum value: 0

Maximum value: 1048576.0

total_disk_io

No

Double

The disk I/O of the server, in MB/s.

Minimum value: 0

Maximum value: 10000.0

agent_disk_io

No

Double

The disk I/O of the Agent, in MB/s.

Minimum value: 0

Maximum value: 10000.0

agent_time

No

String

The current local time of the source server, which is used for overspeed detection. The speed limits can be configured by time period.

Minimum length: 0 characters

Maximum length: 30 characters

Response

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

-

String

The migration progress and rate were reported.

Status code: 403

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

The error code.

Minimum length: 0 characters

Maximum length: 255 characters

error_msg

String

The error message.

Minimum length: 0 characters

Maximum length: 255 characters

encoded_authorization_message

String

Encrypted authorization information.

Minimum length: 0 characters

Maximum length: 65,535 characters

error_param

Array of strings

Invalid parameter.

Minimum length: 0 characters

Maximum length: 65,535 characters

Array length: 1 to 20

details

Array of details objects

The error message.

Array length: 1 to 20

Table 6 details field description

Parameter

Type

Description

error_code

String

The SMS error code.

Minimum length: 0 characters

Maximum length: 65,535 characters

error_msg

String

The SMS error message.

Minimum length: 0 characters

Maximum length: 65,535 characters

Example Request

This example reports the migration progress of a task. The current subtask name is ATTACH_AGENT_IMAGE, the task progress is 100, and the total size of data migrated in the current task is 10000.

PUT https://{endpoint}/v3/tasks/7a9a9540-ff28-4869-b9e4-855fbe12xxxx/progress

{
  "subtask_name" : "ATTACH_AGENT_IMAGE",
  "progress" : 100,
  "replicatesize" : 1000,
  "totalsize" : 100000,
  "process_trace" : ""
}

Example Response

Status code: 403

Authentication failed.

{
  "error_code" : "SMS.9004",
  "error_msg" : "The current account does not have the permission to execute policy You do not have permission to perform action XXX on resource XXX.",
  "encoded_authorization_message" : "XXXXXX",
  "error_param" : [ "You do not have permission to perform action XXX on resource XXX." ],
  "details" : [ {
    "error_code" : "SMS.9004",
    "error_msg" : "You do not have permission to perform action XXX on resource XXX."
  } ]
}

Status Codes

Status Code

Description

200

The migration progress and rate are reported.

403

Authentication failed.

Error Codes

For details, see Error Codes.