Updated on 2022-08-05 GMT+08:00

Reporting the Basic Information About the Source Server

Function

After the migration Agent installed on the source server collects basic information about the source server, it automatically makes a call to this API to report basic information to SMS.

This API is automatically called by the migration Agent to report source server information to SMS. You do not need to make calls to this API.

URI

POST /v1/sms/sources

Request

Request parameters

For details about the request parameters, see Table 1.

Table 1 Request parameters

Parameter

Mandatory

Type

Description

ip

Yes

String

Specifies the IP address of the source server.

os_type

Yes

String

Specifies the OS type of the source server. The value can be WINDOWS or LINUX.

os_version

Yes

String

Specifies the OS version in the SMS style, for example, WINDOWS2008_64BIT and REDHAT_5_3_32BIT.

name

Yes

String

Specifies the name of the source server.

hostname

Yes

String

Specifies the name displayed after you log in to the source server.

firmware

Yes

String

Specifies the boot type of the source server, for example, BIOS and UEFI.

boot_loader

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

String

Specifies the OS boot type, for example, GRUB and LILO.

system_dir

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

String

Specifies the home directory of the OS, for example, C:\\Windows\\System32.

raw_device

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

String

Specifies the list of raw devices on the source server that runs a Linux OS.

has_rsync

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

Boolean

Specifies whether rsync is contained on the source server that runs a Linux OS. The data synchronization task cannot be created when no rsync is available.

paravirtualization

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

Boolean

SMS does not support migrating the para-virtualized source server.

cpu_quantity

Yes

Integer

Specifies the number of CPUs on the source server.

memory

Yes

long

Specifies the memory size of the source server.

oem_system

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

Boolean

Specifies whether the OS is an Original Equipment Manufacture (OEM) OS.

  • true: indicates that the OS is an OEM OS.
  • false: indicates that the OS is not an OEM OS.

driver_files

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

Boolean

Specifies whether the disk drive file is available.

  • true: indicates that the disk drive file is available.
  • false: indicates that no disk drive file is available.

system_services

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

Boolean

Specifies whether the snapshot service is available.

  • true: indicates that the snapshot service is available.
  • false: indicates that no snapshot service is available.

account_rights

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

Boolean

Specifies whether the administrator permission is obtained.

  • true: indicates that the account has the administrator permission.
  • false: indicates that the account does not have administrator permission.

disks

Yes

JSON array

Specifies the disk information of the source server. For details, see Table 2.

volume_groups

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

JSON array

Specifies the volume group information about the source server that runs a Linux OS. If no volume group exists on the source server, the value is []. For details, see Table 4.

btrfs_list

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

JSON array

Specifies the Btrfs information on the source server that runs a Linux OS. If no Btrfs exists on the source server, the value is []. For details, see Table 6.

networks

Yes

JSON array

Specifies the network information of the source server. For details, see Table 8.

Table 2 disks data structure

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the disk name.

Example: Disk 0, Disk 1

partition_style

Yes

String

Specifies the disk partition type, for example, MBR and GPT.

device_use

Yes

String

Specifies the disk function.

  • BOOT: indicates that the boot partition is on the disk.
  • OS: indicates that the system partition is on the disk.

size

Yes

long

Specifies the total disk size (byte).

used_size

Yes

long

Specifies the size of the used disk space (byte).

physical_volumes

Yes

JSON array

Specifies the physical partition information on the disk. For details, see Table 3.

Table 3 physical_volumes data structure

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the partition name, for example, C in the Windows OS and /dev/vda1 in a Linux OS.

uuid

Mandatory under certain conditions

This parameter is mandatory when os_type is set to WINDOWS.

String

Specifies the partition universally unique identifier (UUID).

device_use

Yes

String

Specifies the partition user. The value can only be OS or BOOT.

file_system

Yes

String

Specifies the file system type of the partition.

mount_point

Mandatory under certain conditions

This parameter is mandatory when os_type is set to LINUX.

String

Specifies the mount point of the file system in a Linux OS.

size

Yes

long

Specifies the total partition size.

used_size

Yes

long

Specifies the used partition size.

Table 4 volume_groups data structure

Parameter

Mandatory

Type

Description

id

Yes

String

Specifies the ID of the volume group on a Linux source server.

name

Yes

String

Specifies the volume group name.

size

Yes

long

Specifies the volume group size (byte).

used_size

Yes

long

Specifies the used volume group size (byte).

components

Yes

String array

Specifies the volume group information, including the disk or partition name.

logic_volumes

Yes

JSON array

Specifies information about the logical volumes. For details, see Table 5.

Table 5 logic_volumes data structure

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the logical volume name.

size

Yes

long

Specifies the logical volume size (byte).

used_size

No

long

Specifies the used logical volume size (byte).

free_size

No

long

Specifies the free logical volume size (byte).

file_system

Yes

String

Specifies the logical volume file system type.

mount_point

Yes

String

Specifies the mount point of the logical volume.

uuid

No

String

Specifies the UUID of the logical volume.

inode_size

Yes

int

Specifies the Inode size (byte).

Table 6 btrfs_list data structure

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the file system name, for example, /dev/vdb1.

label

Yes

String

Specifies the file system tag. If no tag exists, the value is an empty string.

uuid

Yes

String

Specifies the UUID of the file system.

device

Yes

String

Specifies the device name in the Btrfs.

size

Yes

String

Specifies the data size of the file system.

nodesize

Yes

String

Specifies the size of the Btrfs node.

sectorsize

Yes

String

Specifies the sector size.

data_profile

Yes

String

Specifies the data configuration (RAID).

system_profile

Yes

String

Specifies the file system configuration (RAID).

metadata_profile

Yes

String

Specifies the metadata configuration (RAID).

global_reserve1

Yes

String

Specifies the Btrfs file system information.

g_vol_used_size

Yes

String

Specifies the used capacity of the Btrfs file system.

default_subvolid

Yes

String

Specifies the default ID of the subvolume.

default_subvol_name

Yes

String

Specifies the default name of the subvolume.

default_subvol_mountpath

Yes

String

Specifies the default mount path of the subvolume or Btrfs file system.

subvolumn

Yes

JSON array

Specifies information about the subvolume. For details, see Table 7.

Table 7 subvolumn data structure

Parameter

Mandatory

Type

Description

uuid

Yes

String

Specifies the parent volume UUID of the subvolume.

is_snapshot

Yes

String

Specifies whether the subvolume is snapshot.

subvol_id

Yes

String

Specifies the subvolume ID.

parent_id

Yes

String

Specifies the parent volume ID of the subvolume.

subvol_name

Yes

String

Specifies the subvolume name.

subvol_mount_path

Yes

String

Specifies the mount path of the subvolume.

Table 8 networks data structure

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the NIC name.

ip

Yes

String

Specifies the IP address bound to the NIC.

netmask

Yes

String

Specifies the subnet mask.

gateway

Yes

String

Specifies the gateway.

mtu

Yes

Integer

Specifies the maximum transmission unit (MTU) of the NIC.

mac

Yes

String

Specifies the MAC address.

Response

Response parameters

Table 9 Response parameter

Parameter

Type

Description

id

String

Specifies the source server ID reported to SMS.

Example

  • Example request
    • Source server that runs a Windows OS
      {
          "ip": "x.x.x.x",
          "os_type": "WINDOWS",
          "os_version": "WINDOWS7_64BIT",
          "name": "szxy8l003079611",
          "hostname": "szxy8l003079611",
          "firmware": "BIOS",
          "system_dir": "C:\\Windows\\System32",
          "cpu_quantity": 4,
          "memory": 17171075072,
          "cdrom_letter": "E:\\",
          "oem_system": false,
          "account_rights": true,
          "driver_files": true,
          "system_services": true,
          "disks": [{
                  "name": "Disk 0",
                  "partition_style": "MBR",
                  "device_use": "BOOT",
                  "size": 85897247744,
                  "used_size": 75081272320,
                  "physical_volumes": [{
                          "name": "(Reserved)",
                          "uuid": "\\?\Volume{a93c494a-aaae-11e5-bc8a-806e6f6e6963}\",
                          "device_use": "BOOT",
                          "file_system": "NTFS",
                          "size": 104857088,
                          "used_size": 26271232
                      }, {
                          "name": "C:\\",
                          "uuid": "\\?\Volume{a93c494b-aaae-11e5-bc8a-806e6f6e6963}\",
                          "device_use": "OS",
                          "file_system": "NTFS",
                          "size": 85792390656,
                          "used_size": 75055001088
                      }
                  ]
              }, {
                  "name": "Disk 1",
                  "device_use": "",
                  "size": 214745218048,
                  "used_size": 80274349056,
                  "physical_volumes": [{
                          "uuid": "\\?\Volume{9111e143-aaf2-11e5-8199-88fa68b2e4ce}\",
                          "name": "D:\\",
                          "device_use": "",
                          "dosName": "\\Device\\HarddiskVolume3",
                          "file_system": "NTFS",
                          "size_per_cluster": 4096,
                          "size": 109888667136,
                          "used_size": 58702257664,
                          "disk_number": 1,
                          "start_offset": 1048576
                      }, {
                          "uuid": "\\?\Volume{dc33da02-b511-11e5-ae0b-d574b5579dc9}\",
                          "name": "F:\\",
                          "device_use": "",
                          "dosName": "\\Device\\HarddiskVolume4",
                          "file_system": "NTFS",
                          "size_per_cluster": 4096,
                          "size": 104856550912,
                          "used_size": 21572091392,
                          "disk_number": 1,
                          "start_offset": 109889716224
                      }
                  ],
                  "partition_style": "MBR"
              }
          ],
          "networks": [{
                  "mac": "0XAC44503B8D"
              }
          ]
      }
    • Source server that runs a Linux OS
      {
              "ip": "x.x.x.x",
      	"os_type": "LINUX",
      	"os_version": "REDHAT_5_3_32BIT",
      	"name":"linux sources",
      	"hostname":"sms-console",
      	"cpu_quantity": 4,
      	"memory": 8581140480,
      	"firmware": "BIOS",
      	"boot_loader":"GRUB",
      	"raw_device":"",
      	"has_rsync":true,
      	"paravirtualization":true,
      	"disks": [{
      		"name": "sda",
      		 "partition_style": "MBR",
      		 "used_size": 77301869568,
      		 "size": 85897247744,
      	         "device_use": "BOOT|OS",
      		 "physical_volumes": [{
      			        "name": "sda1",
      			        "uuid": "\\?\Volume{a93c494a-aaae-11e5-bc8a-806e6f6e6963}\",
      			        "device_use": "BOOT|OS",
      			        "file_system": "ext3",
      			        "mount_point":"mountpint1",
      				"size": 104857088,
      				"used_size": 78585856
      			}, {
      				 "name": "sda2",
      				 "uuid": "\\?\Volume{a93c494b-aaae-11e5-bc8a-806e6f6e6964}\",
      				 "device_use": "NORMAL",
      				 "file_system": "ext3",
      				 "mount_point":"mountpint2",
      				 "size": 85792390656,
      				 "used_size": 8516792320
      				}
      			]
      		}, {
      		    "name": "sdb",
      		    "partition_style": "MBR",
      		    "size": 214745218048,
      		    "used_size": 52823923712,
      		    "device_use": "NORMAL",
      		    "physical_volumes": [{
      				   "name": "sdb1",
      			           "uuid": "\\?\Volume{9111e143-aaf2-11e5-8199-88fa68b2e4ce}\",
      				   "device_use": "BOOT|OS",
      				   "file_system": "ext3",
      				   "mount_point":"mountpoint3",
      				   "size": 109888667136,
      				   "used_size":10988866713
      					
      			}, {
      				    "name": "sdb2",
      				    "uuid": "\\?\Volume{dc33da02-b511-11e5-ae0b-d574b5579dc8}\",
      				    "device_use": "NORMAL",
      				    "file_system": "ext3",
      				    "mount_point":"mountpoint3",
      				    "size": 104856550912,
      				    "used_size": 83377922048
      				}
      			]
      		}
      	],
              "btrfs_list": [],
      	"network": {
      		"mac": "0XAC44503B5C"
      	}
      
      }
  • Example response
            {
                "id": "8abda8635e09d185015e09d188dd0001"
            }

Status Codes

See Status Codes.

Error Codes

See Out-of-Date Error Codes.