cloudstack icon indicating copy to clipboard operation
cloudstack copied to clipboard

Extensions Framework & Orchestrate Anything

Open harikrishna-patnala opened this issue 1 year ago • 84 comments

Description

Apache CloudStack already supports a wide range of hypervisors, including KVM, VMware, and Xen, to provision and manage instances. We are now introducing a new feature or framework that allows seamless integration of "external" provisioning systems into CloudStack. For example, this enables the integration of any baremetal provisioning system, platforms like Proxmox, or even the addition of new hypervisor support through the use of simple scripts.

A design document is made with more details at https://cwiki.apache.org/confluence/display/CLOUDSTACK/External+Deployment+Integration+in+CloudStack

Documentation PR: https://github.com/apache/cloudstack-documentation/pull/523

Types of changes

  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [x] New feature (non-breaking change which adds functionality)
  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] Enhancement (improves an existing feature and functionality)
  • [ ] Cleanup (Code refactoring and cleanup, that may add test cases)
  • [ ] build/CI
  • [ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • [x] Major
  • [ ] Minor

harikrishna-patnala avatar Oct 01 '24 07:10 harikrishna-patnala

Codecov Report

:x: Patch coverage is 44.76840% with 2349 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 17.00%. Comparing base (217ff27) to head (d673742). :warning: Report is 115 commits behind head on main.

Files with missing lines Patch % Lines
...work/extensions/manager/ExtensionsManagerImpl.java 59.23% 265 Missing and 159 partials :warning:
...al/provisioner/ExternalPathPayloadProvisioner.java 62.59% 161 Missing and 35 partials :warning:
...hypervisor/external/resource/ExternalResource.java 9.70% 184 Missing and 2 partials :warning:
...udstack/agent/manager/ExternalTemplateAdapter.java 21.62% 112 Missing and 4 partials :warning:
.../external/discoverer/ExternalServerDiscoverer.java 37.10% 96 Missing and 4 partials :warning:
...loudstack/agent/manager/ExternalServerPlanner.java 0.00% 84 Missing :warning:
...n/java/com/cloud/vm/VirtualMachineManagerImpl.java 52.79% 50 Missing and 26 partials :warning:
...che/cloudstack/api/response/ExtensionResponse.java 0.00% 73 Missing :warning:
...ck/api/response/ExtensionCustomActionResponse.java 0.00% 72 Missing :warning:
...n/java/com/cloud/resource/ResourceManagerImpl.java 0.00% 66 Missing :warning:
... and 89 more
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #9752      +/-   ##
============================================
+ Coverage     16.76%   17.00%   +0.23%     
- Complexity    14281    14718     +437     
============================================
  Files          5767     5832      +65     
  Lines        512657   517561    +4904     
  Branches      62359    62982     +623     
============================================
+ Hits          85941    87988    +2047     
- Misses       417118   419640    +2522     
- Partials       9598     9933     +335     
Flag Coverage Δ
uitests 3.82% <ø> (-0.04%) :arrow_down:
unittests 17.95% <44.76%> (+0.26%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Oct 01 '24 07:10 codecov[bot]

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Oct 10 '24 23:10 github-actions[bot]

@blueorangutan package

harikrishna-patnala avatar Nov 08 '24 06:11 harikrishna-patnala

@harikrishna-patnala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Nov 08 '24 06:11 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✖️ debian ✔️ suse15. SL-JID 11530

blueorangutan avatar Nov 08 '24 07:11 blueorangutan

@blueorangutan package

yadvr avatar Nov 21 '24 16:11 yadvr

@rohityadavcloud a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Nov 21 '24 16:11 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 11592

blueorangutan avatar Nov 21 '24 17:11 blueorangutan

@DaanHoogland I see many other custom detail parameters in a few other APIs, such as vnfdetails, domaindetails, accountdetails, and a few more.

In this case, I would like to keep this as a separate parameter because these are the only details that are important if the hypervisor type is External. The other parameters are just meant to fit into CloudStack's workflow. The core purpose of this feature is to send these external details to the external provisioner.

harikrishna-patnala avatar Dec 03 '24 04:12 harikrishna-patnala

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Dec 03 '24 08:12 github-actions[bot]

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Dec 03 '24 11:12 github-actions[bot]

@harikrishna-patnala can you resolve the conflicts ? thanks

btw: is there an example script for proxmox ?

weizhouapache avatar Mar 24 '25 10:03 weizhouapache

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Mar 27 '25 17:03 github-actions[bot]

@blueorangutan package

harikrishna-patnala avatar Mar 27 '25 19:03 harikrishna-patnala

@harikrishna-patnala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Mar 27 '25 19:03 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 12909

blueorangutan avatar Mar 27 '25 20:03 blueorangutan

@blueorangutan package

weizhouapache avatar Mar 28 '25 12:03 weizhouapache

@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Mar 28 '25 13:03 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 12917

blueorangutan avatar Mar 28 '25 14:03 blueorangutan

@blueorangutan package

harikrishna-patnala avatar Mar 30 '25 21:03 harikrishna-patnala

@harikrishna-patnala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Mar 30 '25 21:03 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 12930

blueorangutan avatar Mar 30 '25 22:03 blueorangutan

@blueorangutan package

abh1sar avatar Apr 01 '25 09:04 abh1sar

@abh1sar a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Apr 01 '25 09:04 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 12938

blueorangutan avatar Apr 01 '25 11:04 blueorangutan

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar Apr 28 '25 08:04 github-actions[bot]

@blueorangutan package

harikrishna-patnala avatar Apr 29 '25 23:04 harikrishna-patnala

@harikrishna-patnala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

blueorangutan avatar Apr 29 '25 23:04 blueorangutan

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 13218

blueorangutan avatar Apr 30 '25 00:04 blueorangutan

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

github-actions[bot] avatar May 02 '25 01:05 github-actions[bot]