| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Adds import functionality for extension by giving an YAML manifest URL. Manifest will define extension and its custom actions details. Co-authored-by: Manoj Kumar <manojkr.itbhu@gmail.com> Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
great job ! would it be possible to upload zipped files from local ? |
Sorry, something went wrong.
Codecov Report❌ Patch coverage is 26.51934% with 133 lines in your changes missing coverage. Please review. @@ Coverage Diff @@
## main #12102 +/- ##
============================================
- Coverage 17.95% 17.95% -0.01%
- Complexity 16522 16529 +7
============================================
Files 6022 6028 +6
Lines 541387 541571 +184
Branches 66346 66365 +19
============================================
+ Hits 97211 97236 +25
- Misses 433210 433367 +157
- Partials 10966 10968 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry.
|
Sorry, something went wrong.
|
Thanks @weizhouapache. Currently, local upload is not supported. Also, for local upload, do you mean uploading the manifest YAML from local machine or the complete extension source? |
Sorry, something went wrong.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
@shwstppr 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. |
Sorry, something went wrong.
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15798 |
Sorry, something went wrong.
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15834 |
Sorry, something went wrong.
For apache/cloudstack#12102 Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
This PR is stale because it has been open for 120 days with no activity. It may be removed by administrators of this project at any time. Remove the stale label or comment to request for removal of it to prevent this. |
Sorry, something went wrong.
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
Sorry, something went wrong.
|
Thanks @msinhore. If needed you or others can carry forward this. This was more of a PoC and may need some discussion on import structure |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Description
Adds import functionality for extension by giving an YAML manifest URL. Manifest will define extension and its custom actions details.
Based on CCC 2025 Hackathon idea by @msinhore and the contribution by @sudo87
Doc PR: apache/cloudstack-documentation#600
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
(localcloud) 🐱 > import extension manifesturl=https://raw.githubusercontent.com/msinhore/cloudstack-firecracker-extension/refs/heads/main/manifest.yml { "extension": { "created": "2025-11-20T04:45:01+0530", "description": "External orchestrator extension that integrates Firecracker microVMs with Apache CloudStack via the Orchestrator Extension Framework.\n", "id": "214387be-fabc-4958-8ffa-b12df3c801b4", "isuserdefined": true, "name": "firecracker", "orchestratorrequirespreparevm": false, "path": "/home/shwstppr/lab/shapeblue/cloudstack/extensions/firecracker/firecracker.py", "pathready": true, "state": "Enabled", "type": "Orchestrator" } } (localcloud) 🐱 > list extensions id=214387be-fabc-4958-8ffa-b12df3c801b4 (firecracker) { "count": 1, "extension": [ { "created": "2025-11-20T04:45:01+0530", "description": "External orchestrator extension that integrates Firecracker microVMs with Apache CloudStack via the Orchestrator Extension Framework.\n", "id": "214387be-fabc-4958-8ffa-b12df3c801b4", "isuserdefined": true, "name": "firecracker", "orchestratorrequirespreparevm": false, "path": "/home/shwstppr/lab/shapeblue/cloudstack/extensions/firecracker/firecracker.py", "pathready": true, "state": "Enabled", "type": "Orchestrator" } ] } (localcloud) 🐱 > list customactions extensionid=214387be-fabc-4958-8ffa-b12df3c801b4 (firecracker) { "count": 4, "extensioncustomaction": [ { "allowedroletypes": [ "Admin", "DomainAdmin", "User" ], "created": "2025-11-20T04:45:01+0530", "description": "Delete a snapshot for a virtual machine instance.", "details": {}, "enabled": true, "extensionid": "214387be-fabc-4958-8ffa-b12df3c801b4", "extensionname": "firecracker", "id": "37233ea1-4a5f-47cf-bd15-3e0c9a9d1e7c", "name": "DeleteSnapshot", "parameters": [ { "name": "snap_name", "required": true, "type": "STRING", "validationformat": "NONE" } ], "resourcetype": "VirtualMachine", "timeout": 300 }, { "allowedroletypes": [ "Admin", "DomainAdmin", "User" ], "created": "2025-11-20T04:45:01+0530", "description": "Restore a virtual machine instance from a given snapshot.", "details": {}, "enabled": true, "extensionid": "214387be-fabc-4958-8ffa-b12df3c801b4", "extensionname": "firecracker", "id": "4edf2208-dce5-4ecb-a030-61193adb9825", "name": "RestoreSnapshot", "parameters": [ { "name": "snap_name", "required": true, "type": "STRING", "validationformat": "NONE" } ], "resourcetype": "VirtualMachine", "timeout": 900 }, { "allowedroletypes": [ "Admin", "DomainAdmin", "User" ], "created": "2025-11-20T04:45:01+0530", "description": "List all snapshots for a virtual machine instance.", "details": {}, "enabled": true, "extensionid": "214387be-fabc-4958-8ffa-b12df3c801b4", "extensionname": "firecracker", "id": "de999133-75a5-45da-8893-63622fe02a44", "name": "ListSnapshots", "parameters": [], "resourcetype": "VirtualMachine", "timeout": 120 }, { "allowedroletypes": [ "Admin", "DomainAdmin", "User" ], "created": "2025-11-20T04:45:01+0530", "description": "Create a snapshot for a virtual machine instance.", "details": {}, "enabled": true, "extensionid": "214387be-fabc-4958-8ffa-b12df3c801b4", "extensionname": "firecracker", "id": "80b3b994-1ac8-4193-a6b9-9c72146c8815", "name": "CreateSnapshot", "parameters": [ { "name": "snap_name", "required": true, "type": "STRING", "validationformat": "NONE" }, { "name": "snap_description", "required": false, "type": "STRING", "validationformat": "NONE" }, { "name": "snap_save_memory", "required": false, "type": "BOOLEAN", "validationformat": "NONE" } ], "resourcetype": "VirtualMachine", "timeout": 600 } ] }How did you try to break this feature and the system with this change?