| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Feature to add the concept of instance boot group and readiness rules. Design spec: https://cwiki.apache.org/confluence/spaces/CLOUDSTACK/pages/449282465/Instance+Boot+Group+and+Readiness+Rules Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
There was a problem hiding this comment.
Adds the “Instance Boot Group” feature (per design spec) across the CloudStack stack, including new API surface, persistence schema, readiness evaluation/checkers, and UI flows to manage members, boot order, and readiness rules.
Changes:
Copilot reviewed 82 out of 83 changed files in this pull request and generated 3 comments.
Show a summary per file| File | Description |
|---|---|
| ui/src/views/compute/UpdateInstanceBootGroupMemberOrder.vue | Modal to update member boot order. |
| ui/src/views/compute/InstanceBootGroupMembersTab.vue | Members table, actions, readiness display. |
| ui/src/views/compute/AddInstanceBootGroupMember.vue | Modal to add VM/InstanceGroup members. |
| ui/src/core/lazy_lib/icons_use.js | Registers additional Ant icons. |
| ui/src/config/section/compute.js | Adds Instance Boot Group section/config. |
| ui/src/components/view/ListView.vue | Enables quick-view routing for boot groups. |
| ui/public/locales/en.json | Adds i18n labels/messages for feature. |
| tools/apidoc/gen_toc.py | Adds API doc TOC category mapping. |
| systemvm/debian/opt/cloud/bin/instance_readiness_check.py | VR-side helper for ping/port checks. |
| server/src/main/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml | Wires new managers/checkers as Spring beans. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/VrPingChecker.java | Readiness checker: VR-dispatched ping. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/PortCheckChecker.java | Readiness checker: VR-dispatched TCP port connect. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRuleService.java | Backend contract for readiness rule mutation/eval. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/GuestAgentLivenessChecker.java | Readiness checker: KVM guest-agent liveness. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMembershipGuard.java | Shared eligibility checks for membership. |
| server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupManager.java | Manager interface for start/stop/reboot orchestration. |
| server/src/main/java/org/apache/cloudstack/api/query/vo/InstanceBootGroupJoinVO.java | Query view entity for boot groups. |
| server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDaoImpl.java | DAO impl for boot group join view. |
| server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDao.java | DAO interface for boot group join view. |
| server/src/main/java/com/cloud/vm/UserVmManagerImpl.java | Hooks membership guard into instance-group adds. |
| server/src/main/java/com/cloud/api/ApiResponseHelper.java | Injects DAOs used for new responses. |
| plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuCommand.java | Adds qemu-guest-agent “guest-ping” constant. |
| plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCheckGuestAgentLivenessCommandWrapper.java | Implements KVM-side liveness check wrapper. |
| engine/schema/src/main/resources/META-INF/db/views/cloud.instance_boot_group_view.sql | Adds DB view for boot group join. |
| engine/schema/src/main/resources/META-INF/db/schema-42210to42300.sql | Adds boot group / member / readiness tables. |
| engine/schema/src/main/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml | Registers new DAOs and join DAO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupVO.java | Boot group entity VO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessRuleVO.java | Readiness rule entity VO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessRuleDetailsVO.java | Readiness rule details entity VO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessCheckResultVO.java | Cached readiness result entity VO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMemberVO.java | Boot group member entity VO. |
| engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupDetailsVO.java | Per-boot-group config override entity VO. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDaoImpl.java | Encrypts/decrypts custom-script detail value. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDao.java | DAO interface for readiness-rule details. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDaoImpl.java | DAO impl: search/list readiness rules. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDao.java | DAO interface for readiness rules. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessCheckResultDaoImpl.java | DAO impl: upsert cached check results. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessCheckResultDao.java | DAO interface for cached check results. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupMemberDaoImpl.java | DAO impl: membership lookup/listing. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupMemberDao.java | DAO interface for membership. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDetailsDaoImpl.java | DAO impl: per-group config overrides. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDetailsDao.java | DAO interface for per-group overrides. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDaoImpl.java | DAO impl: boot group persistence queries. |
| engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDao.java | DAO interface for boot groups. |
| core/src/main/resources/META-INF/cloudstack/core/spring-core-registry-core-context.xml | Registers readiness checker extension registry. |
| core/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceReadinessCheckCommand.java | VR query command for ping/port checks. |
| core/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceReadinessCheckAnswer.java | Parses VR script output into fields. |
| core/src/main/java/com/cloud/agent/resource/virtualnetwork/VRScripts.java | Adds VR script constant for readiness checks. |
| core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java | Executes new readiness command in VR. |
| core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessCommand.java | Adds agent command for guest liveness check. |
| core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessAnswer.java | Adds agent answer for guest liveness check. |
| api/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/ReadinessChecker.java | Strategy interface for rule evaluation. |
| api/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRule.java | API model for readiness rules. |
| api/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupService.java | API service contract for feature. |
| api/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMember.java | API model for members/readiness mode. |
| api/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroup.java | API model for boot group entity. |
| api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupResponse.java | API response for boot group details. |
| api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupReadinessRuleResponse.java | API response for readiness rules. |
| api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupMemberResponse.java | API response for member listing/readiness. |
| api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupMemberChildResponse.java | Child VM response for group members. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java | API cmd: update readiness rule. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupMemberCmd.java | API cmd: update member order. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupCmd.java | API cmd: update boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/StopInstanceBootGroupCmd.java | API cmd: stop boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/StartInstanceBootGroupCmd.java | API cmd: start boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/RemoveInstanceBootGroupMemberCmd.java | API cmd: remove member. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/RebootInstanceBootGroupCmd.java | API cmd: reboot boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupsCmd.java | API cmd: list boot groups. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupReadinessRulesCmd.java | API cmd: list readiness rules. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupMembersCmd.java | API cmd: list members (details/readiness/children). |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupReadinessRuleCmd.java | API cmd: delete readiness rule. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupCmd.java | API cmd: delete boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java | API cmd: create readiness rule. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupCmd.java | API cmd: create boot group. |
| api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/AddMemberToInstanceBootGroupCmd.java | API cmd: add member. |
| api/src/main/java/org/apache/cloudstack/api/ApiConstants.java | Adds API constant keys used by new APIs. |
| api/src/main/java/org/apache/cloudstack/api/ApiCommandResourceType.java | Adds resource types for new APIs. |
| api/src/main/java/com/cloud/event/EventTypes.java | Adds event types and entity mappings. |
ui/src/core/lazy_lib/icons_use.js:365
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Sorry, something went wrong.
| final Map<String, String> executionDetails = new HashMap<>(); | ||
| if (getResult() && StringUtils.isNotEmpty(getDetails())) { | ||
| final String[] parts = getDetails().split("&&"); | ||
| if (parts.length >= 3) { | ||
| executionDetails.put(STDOUT, parts[0].trim()); |
Codecov Report❌ Patch coverage is 78.02281% with 578 lines in your changes missing coverage. Please review. @@ Coverage Diff @@
## main #13907 +/- ##
============================================
+ Coverage 19.73% 20.01% +0.27%
- Complexity 19956 20479 +523
============================================
Files 6371 6424 +53
Lines 575765 578631 +2866
Branches 70478 70798 +320
============================================
+ Hits 113642 115807 +2165
- Misses 449766 450337 +571
- Partials 12357 12487 +130
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness.
|
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 no SystemVM templates. I'll keep you posted as I make progress. |
Sorry, something went wrong.
There was a problem hiding this comment.
Copilot reviewed 82 out of 83 changed files in this pull request and generated no new comments.
Suppressed comments (12)ui/src/views/compute/UpdateInstanceBootGroupMemberOrder.vue:1
Sorry, something went wrong.
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18916 |
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.
There was a problem hiding this comment.
Copilot reviewed 82 out of 83 changed files in this pull request and generated no new comments.
Suppressed comments (4)Previously missed (3) — in code that hasn't changed since the last review.
core/src/main/java/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java:500
ui/src/views/compute/AddInstanceBootGroupMember.vue:120
Sorry, something went wrong.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
There was a problem hiding this comment.
Copilot reviewed 107 out of 108 changed files in this pull request and generated no new comments.
Suppressed comments (5)ui/src/views/compute/UpdateInstanceBootGroupMemberOrder.vue:1
Sorry, something went wrong.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
There was a problem hiding this comment.
Copilot reviewed 108 out of 109 changed files in this pull request and generated no new comments.
Suppressed comments (1)Previously missed (1) — in code that hasn't changed since the last review.
engine/schema/src/main/resources/META-INF/db/schema-42210to42300.sql:707
Consider adding a display tinyint(1) column (default 1) to this table and mapping it in InstanceBootGroupReadinessRuleDetailsVO (instead of hardcoding isDisplay() to true), or alternatively avoid extending ResourceDetailsDaoBase for this entity and provide a DAO that doesn't rely on display.
Sorry, something went wrong.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
There was a problem hiding this comment.
Copilot reviewed 118 out of 119 changed files in this pull request and generated 7 comments.
Suppressed comments (5)ui/src/views/compute/UpdateInstanceBootGroupMemberOrder.vue:1
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 no 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 18999 |
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 no SystemVM templates. I'll keep you posted as I make progress. |
Sorry, something went wrong.
There was a problem hiding this comment.
Copilot reviewed 118 out of 119 changed files in this pull request and generated no new comments.
Suppressed comments (1)Previously missed (1) — in code that hasn't changed since the last review.
server/src/main/java/com/cloud/api/ApiResponseHelper.java:584
Sorry, something went wrong.
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19002 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Description
Feature to add the concept of instance boot group and readiness rules.
Design spec: https://cwiki.apache.org/confluence/spaces/CLOUDSTACK/pages/449282465/Instance+Boot+Group+and+Readiness+Rules
Documentation PR: apache/cloudstack-documentation#677
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?