kiranchavala commented on code in PR #356: URL: https://github.com/apache/cloudstack-documentation/pull/356#discussion_r1390796118
########## source/adminguide/virtual_machines/importing_unmanaging_vms.rst: ########## @@ -401,6 +409,170 @@ Unmanaging Instance actions - For the Instance being unmanaged: stopped and destroyed usage events (similar to the generated usage events when expunging an Instance), with types: ‘VM.STOP’ and ‘VM.DESTROY', unless the instance has been already stopped before being unmanaged and in this case only ‘VM.DESTROY' is generated. +Import Instances from External Hosts +------------------------- +.. note:: This is currently only available for **KVM** hypervisor. + +External Host +~~~~~~~~~~~~~ + +An External Host refers to a host that is not managed by CloudStack. The "Import from external host" feature enables the +importation of instances from these external hosts. Administrators can execute this import process for instances from +External KVM hosts either through the user interface (UI) or by utilizing the importVm API. + +Prerequisites +~~~~~~~~~~~~~ +- Ensure that the External KVM host is equipped with the installation of libvirt. +- Allow TCP libvirt connections from Managed KVM hosts within CloudStack to the External host. +- It is imperative that instances residing on the external host are in a stopped state, as live migration of instances is not supported + +listVmsForImport API +~~~~~~~~~~~~~~~~~~~~ + +listVmsForImport API, created for functionality within the External KVM environment, serves the purpose of listing all +instances currently in a stopped state on the designated External KVM host. To access this information programmatically, +it is imperative to provide the corresponding username and password associated with the external host. These credentials +serve as essential authentication measures, enabling secure interaction with the External KVM host and facilitating the +retrieval of detailed insights into the status of instances that are currently halted or stopped. + +**Request parameters**: + +.. parsed-literal:: + - **zoneid** (Zone to which Instance will be imported) + - **host** (the host name or IP address of External Host) + - **username** (the username of External Host for authentication) + - **password** (the password of External Host for authentication) + +**Response**: + +.. parsed-literal:: + - **name** + - **osdisplayname** + - **memory** + - **powerstate** + - **cpuCoresPerSocket** + - **cpunumber** + - **cpuspeed** + - **disk** + - **id** + - **capacity** (in bytes) + - **controller** + - **controllerunit** + - **imagepath** + - **position** + - **nic** + - **id** + - **macaddress** + - **networkname** + - **vlanid** + - **pcislot** + - **adaptertype** (when available) + - **ipaddress** + + +importVm API +~~~~~~~~~~~~ + +importVm API serves as a tool for import of instances, identified by the provided name, from an external +host into the CloudStack environment. Throughout this import process, steps are taken to ensure the secure and +efficient transfer of disk images, formatted in the QCOW2 standard, from the external host to a designated storage pool +within CloudStack. + +The conversion of existing disk images to a complete QCOW2 format is handled by the qemu-img utility, streamlining +compatibility and enhancing performance within the CloudStack ecosystem. Administrators have the flexibility to +configure the temporary storage location on the external host for the converted file, with the default location set to /tmp. + +**Request parameters**: + +.. parsed-literal:: + - **zoneid** (Zone to which Instance will be imported) + - **host** (the host name or IP address of External Host) + - **username** (the username of External Host for authentication) + - **password** (the password of External Host for authentication) + - **importsource** (Import source should be external) + - **tmppath** (Temp Path on external host for disk image copy) + - **name** (Instance name on External Host) + - **displayname** + - **hostname** + - **account** (An optional account name for the Instance. Must be used with domainid parameter) + - **domainid** (An optional domain ID for the Instance. Must be used with account parameter) + - **projectid** + - **serviceofferingid** + - **nicnetworklist** (Map for NIC ID and corresponding Network UUID) + - **nicipaddresslist** (Map for NIC ID and corresponding IP address) + - **datadiskofferinglist** (Map for data disk ID and corresponding disk offering UUID) + - **details** (Map for Instance details) + - **forced** (If true, an Instance is imported despite some of its NIC's MAC addresses being already present) + +.. note:: The `forced` parameter is false by default and prevents importing an Instance which has a NIC containing a Review Comment: The formatting is incorrect  ########## source/adminguide/virtual_machines/importing_unmanaging_vms.rst: ########## @@ -401,6 +409,170 @@ Unmanaging Instance actions - For the Instance being unmanaged: stopped and destroyed usage events (similar to the generated usage events when expunging an Instance), with types: ‘VM.STOP’ and ‘VM.DESTROY', unless the instance has been already stopped before being unmanaged and in this case only ‘VM.DESTROY' is generated. +Import Instances from External Hosts +------------------------- +.. note:: This is currently only available for **KVM** hypervisor. + +External Host +~~~~~~~~~~~~~ + +An External Host refers to a host that is not managed by CloudStack. The "Import from external host" feature enables the +importation of instances from these external hosts. Administrators can execute this import process for instances from +External KVM hosts either through the user interface (UI) or by utilizing the importVm API. + +Prerequisites +~~~~~~~~~~~~~ +- Ensure that the External KVM host is equipped with the installation of libvirt. +- Allow TCP libvirt connections from Managed KVM hosts within CloudStack to the External host. +- It is imperative that instances residing on the external host are in a stopped state, as live migration of instances is not supported + +listVmsForImport API +~~~~~~~~~~~~~~~~~~~~ + +listVmsForImport API, created for functionality within the External KVM environment, serves the purpose of listing all +instances currently in a stopped state on the designated External KVM host. To access this information programmatically, +it is imperative to provide the corresponding username and password associated with the external host. These credentials +serve as essential authentication measures, enabling secure interaction with the External KVM host and facilitating the +retrieval of detailed insights into the status of instances that are currently halted or stopped. + +**Request parameters**: + +.. parsed-literal:: + - **zoneid** (Zone to which Instance will be imported) + - **host** (the host name or IP address of External Host) + - **username** (the username of External Host for authentication) + - **password** (the password of External Host for authentication) + +**Response**: + +.. parsed-literal:: + - **name** + - **osdisplayname** + - **memory** + - **powerstate** + - **cpuCoresPerSocket** + - **cpunumber** + - **cpuspeed** + - **disk** + - **id** + - **capacity** (in bytes) + - **controller** + - **controllerunit** + - **imagepath** + - **position** + - **nic** + - **id** + - **macaddress** + - **networkname** + - **vlanid** + - **pcislot** + - **adaptertype** (when available) + - **ipaddress** + + +importVm API +~~~~~~~~~~~~ + +importVm API serves as a tool for import of instances, identified by the provided name, from an external +host into the CloudStack environment. Throughout this import process, steps are taken to ensure the secure and +efficient transfer of disk images, formatted in the QCOW2 standard, from the external host to a designated storage pool +within CloudStack. + +The conversion of existing disk images to a complete QCOW2 format is handled by the qemu-img utility, streamlining +compatibility and enhancing performance within the CloudStack ecosystem. Administrators have the flexibility to +configure the temporary storage location on the external host for the converted file, with the default location set to /tmp. + +**Request parameters**: + +.. parsed-literal:: + - **zoneid** (Zone to which Instance will be imported) + - **host** (the host name or IP address of External Host) + - **username** (the username of External Host for authentication) + - **password** (the password of External Host for authentication) + - **importsource** (Import source should be external) + - **tmppath** (Temp Path on external host for disk image copy) + - **name** (Instance name on External Host) + - **displayname** + - **hostname** + - **account** (An optional account name for the Instance. Must be used with domainid parameter) + - **domainid** (An optional domain ID for the Instance. Must be used with account parameter) + - **projectid** + - **serviceofferingid** + - **nicnetworklist** (Map for NIC ID and corresponding Network UUID) + - **nicipaddresslist** (Map for NIC ID and corresponding IP address) + - **datadiskofferinglist** (Map for data disk ID and corresponding disk offering UUID) + - **details** (Map for Instance details) + - **forced** (If true, an Instance is imported despite some of its NIC's MAC addresses being already present) + +.. note:: The `forced` parameter is false by default and prevents importing an Instance which has a NIC containing a Review Comment: The formatting is incorrect  -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org