apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
2.1k stars 1.11k forks source link

GSoC 2021 Idea: Clone a Virtual Machine (with all the data disks) #4818

Closed sureshanaparti closed 2 years ago

sureshanaparti commented 3 years ago

Background

There is no straight way to clone / create a copy of the VM (with all the data disks) in CloudStack. Operator/Admin requires a series of steps/API cmds to be followed to achieve that in CloudStack, and also it takes considerable time (to wait and check each cmd response before proceeding to next step). Some hypervisors (Eg. VMware) already supports clone VM operation, and CloudStack can leverage that.

The support for this new functionality, can be integrated by introducing a new (admin-only) API to clone the VM, something like cloneVirtualMachine , which facilitates direct way to clone / create a copy of the VM (with all the data disks) can be . CloudStack internally performs all the required operations to create the copy of the VM (leverages the relevant hypervisor(s) operations if necessary), and returns the VM as response when success, otherwise throws the relevant error message.

Proposed Tasks

Relevant Skills

Proposed Mentor

Suresh Anaparti - development (sureshanaparti@apache.org), Committer Apache CloudStack Rohit Yadav - rohit@apache.org

Difficulty

Medium

Potential Mentors

Any developer from the community

Example and references

ISSUE TYPE
weizhouapache commented 3 years ago

@sureshanaparti cooool. This is also in our backlog for many years :-D

damanBirSingh commented 3 years ago

Hello, I am an ME student from Bits Pilani, Goa, India. I would love to contribute to an open source project like cloudstack. It would be a great help if anyone could guide me how to proceed with this project. I am currently trying to build it, facing some issue with tests failing. Thanks & Regards, Daman

rohityadavcloud commented 3 years ago

Hi @damanBirSingh thanks for your interest.

I would advise that you read the community GSoC guidelines (https://community.apache.org/gsoc.html), join the dev mailing list (http://cloudstack.apache.org/mailing-lists.html) to discuss your GSoC idea/proposal/application, and start drafting your application (for example https://google.github.io/gsocguides/student/proposal-example-1). With your proposed mentor (see email above), start an early discussion with them and you can ask them to review your application draft (for example, compose your draft and share with a Google doc).

You can refer to the CloudStack course to help you draft your application and learn how to build something in CloudStack https://github.com/shapeblue/hackerbook

damanBirSingh commented 3 years ago

Thank you for the quick reply, I would get started with the hackerbook course right away and start a draft for my proposal.

rohityadavcloud commented 2 years ago

Closing this as we've a PR, and this may cause confusion for student looking for gsoc ideas.