Uh oh!
There was an error while loading. Please reload this page.
[WIP DO NOT MERGE] VM ingestion - #3540
Conversation
shwstppr
commented
Aug 5, 2019
@blueorangutan package |
blueorangutan
commented
Aug 5, 2019
@shwstppr a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✖centos6 ✖centos7 ✖debian. JID-213 |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-214 |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-216 |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-218 |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-221 |
blueorangutan
commented
Aug 5, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-222 |
blueorangutan
commented
Aug 6, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-224 |
blueorangutan
commented
Aug 6, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-225 |
blueorangutan
commented
Aug 6, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-226 |
blueorangutan
commented
Aug 6, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-227 |
blueorangutan
commented
Aug 6, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-228 |
blueorangutan
commented
Aug 7, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-229 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-237 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-239 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-240 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-241 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-242 |
blueorangutan
commented
Aug 9, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-243 |
blueorangutan
commented
Aug 13, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-249 |
blueorangutan
commented
Aug 13, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-251 |
blueorangutan
commented
Aug 26, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-265 |
Signed-off-by: Paul Angus <paul.angus@shapeblue.com>
shwstppr
commented
Sep 6, 2019
@blueorangutan package |
blueorangutan
commented
Sep 6, 2019
@shwstppr a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
borisstoyanov
commented
Sep 11, 2019
@blueorangutan test matrix |
blueorangutan
commented
Sep 11, 2019
@borisstoyanov a Trillian-Jenkins matrix job (centos6 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
blueorangutan
commented
Sep 12, 2019
Trillian test result (tid-350)
|
blueorangutan
commented
Sep 12, 2019
Trillian test result (tid-351)
|
blueorangutan
commented
Sep 12, 2019
Trillian test result (tid-353)
|
borisstoyanov
left a comment
There was a problem hiding this comment.
@shwstppr can you add unit tests please
shwstppr
commented
Sep 13, 2019
@blueorangutan package |
blueorangutan
commented
Sep 13, 2019
@shwstppr a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
blueorangutan
commented
Sep 13, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-276 |
blueorangutan
commented
Sep 17, 2019
Trillian test result (tid-365)
|
blueorangutan
commented
Sep 18, 2019
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-279 |
shwstppr
commented
Sep 20, 2019
@blueorangutan package |
blueorangutan
commented
Sep 20, 2019
@shwstppr a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
shwstppr
commented
Sep 20, 2019
added tests |
blueorangutan
commented
Sep 20, 2019
Packaging result: ✖centos6 ✔centos7 ✔debian. JID-284 |
blueorangutan
commented
Sep 24, 2019
Packaging result: ✖centos6 ✖centos7 ✖debian. JID-287 |
…existing VMs in an infra. The feature currently works only for VMware, with a hypervisor agnostic framework which may be extended for KVM and XenServer in future. Two new APIs have been added, listUnmanagedInstances and importUnmanagedInstance. listUnmanagedInstances API will list all unmanaged virtual machine for a give cluster. Optionally, name for an existing unmanaged virtual machine can be given to retrieve VM details. API request params - clusterid(UUID of cluster) name(instance name) Response - clusterid hostid name osdisplayname memory powerstate cpuCoresPerSocket cpunumber cpuspeed disk - id - capacity - controller - controllerunit - imagepath - position nic - id - macaddress - networkname - vlanid - pcislot importUnmanagedInstance API will import an exisitng unmanaged virtual machine into CloudStack for a given cluster and virtual machine name. Service offering for the VM, disk offerings for volumes and networks for NICs of the VM can be mapped. Some optional parameters like projectid, domainid, hostname, details, etc can also be given. Appropritate networks, service offering and disk offerings need to be present before import and cannot be created on the fly during the API call. API request params - clusterid(UUID of cluster) name(instance name) displayname hostname domainid projectid templateid serviceofferingid diskofferingid(UUID of disk offering for root disk) nicnetworklist(Map for NIC ID and corresponding Network UUID) datadiskofferinglist(Map for disk ID and corresponding disk offering UUID) details(Map for VM details) Response - Same response as that of deployVirtualMachine API Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
yadvr
commented
Sep 24, 2019
@shwstppr a lot of conflicts here, can you rebase or fix conflict? |
shwstppr
commented
Sep 24, 2019
Moved here, #3606 |
Description
VM ingestion feature allows CloudStack to discover, on-board, import existing VMs in an infra. The feature currently works only for VMware, with a hypervisor agnostic framework which may be extended for KVM and XenServer in future.
Two new APIs have been added,
listUnmanagedInstancesandimportUnmanagedInstance.listUnmanagedInstances
API will list all unmanaged virtual machine for a give cluster. Optionally, name for an existing unmanaged virtual machine can be given to retrieve VM details.
API request params -
clusterid(UUID of cluster)name(instance name)Response -
clusteridhostidnameosdisplaynamememorypowerstatecpuCoresPerSocketcpunumbercpuspeeddisk-
id-
capacity-
controller-
controllerunit-
imagepath-
positionnic-
id-
macaddress-
networkname-
vlanid-
pcislotimportUnmanagedInstance
API will import an exisitng unmanaged virtual machine into CloudStack for a given cluster and virtual machine name. Service offering for the VM, disk offerings for volumes and networks for NICs of the VM can be mapped. Some optional parameters like projectid, domainid, hostname, details, etc can also be given. Appropritate networks, service offering and disk offerings need to be present before import and cannot be created on the fly during the API call.
API request params -
clusterid(UUID of cluster)name(instance name)displaynamehostnamedomainidprojectidtemplateidserviceofferingiddiskofferingid(UUID of disk offering for root disk)nicnetworklist(Map for NIC ID and corresponding Network UUID)datadiskofferinglist(Map for disk ID and corresponding disk offering UUID)details(Map for VM details)Response -
Same response as that of
deployVirtualMachineAPITypes of changes
API sample calls:
List
Import
How Has This Been Tested?
listUnmanagedInstancesAPI is executed for the cluster. It shows newly deployed VM (deployed from vCenter)importUnmanagedInstance, is executed, with appropriate service offering, network- VM NIC details and custom disk offerings for this unmanaged VMlistVirtualMachinesAPI is called to verify showing new VM andclouddatabase is checked for containing new records invm_instance,volumes,nicstables.