Dogface2k opened a new pull request, #13813:
URL: https://github.com/apache/cloudstack/pull/13813

   Description
   
   This PR fixes the hypervisor label and effective UI state shown by the VM 
deployment form when a zone contains multiple hypervisor types.
   
   DeployVM.vue initializes its hypervisor form state from the first value 
returned for the selected zone. Both the modern and legacy image selectors 
previously propagated only the selected template ID, so selecting a XenServer 
or VMware template could leave the original KVM value in the deployment review 
card and in hypervisor-gated UI state.
   
   The change:
   
   resolves the selected template from the grouped image results and propagates 
its own hypervisor metadata through the selectors' existing field-update event;
   
   applies the same behaviour to both the modern and legacy image-selection 
interfaces;
   
   re-evaluates a preselected template when its asynchronously loaded metadata 
becomes available;
   
   preserves the existing fallback when a template cannot be resolved or has no 
hypervisor metadata;
   
   does not override ISO, volume, or snapshot selection, so ISO hypervisor 
selection remains explicit.
   
   Template deployment request behaviour is unchanged. The existing deployment 
path continues to omit the separate hypervisor parameter for template 
deployments, while ISO deployments continue using the explicitly selected 
hypervisor. There are no backend, API, database, configuration, or workflow 
changes.
   
   Fixes: #13786
   
   Types of changes
   
   Breaking change (fix or feature that would cause existing functionality to 
change)
   
   New feature (non-breaking change which adds functionality)
   
   Bug fix (non-breaking change which fixes an issue)
   
   Enhancement (improves 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
   
   Major
   
   Minor
   
   Bug Severity
   
   BLOCKER
   
   Critical
   
   Major
   
   Minor
   
   Trivial
   
   Screenshots (if appropriate):
   
   The incorrect KVM label is shown in the screenshots attached to #13786.
   
   How Has This Been Tested?
   
   Focused regression coverage was added in ImageSelectionHypervisor.spec.js 
for the actual modern and legacy selector methods and metadata watchers. It 
covers:
   
   KVM, XenServer, VMware, and External template metadata;
   
   both modern and legacy image-selection interfaces;
   
   templates selected after their metadata is available;
   
   query/prefill-style selections whose metadata arrives asynchronously;
   
   unresolved templates and templates without hypervisor metadata;
   
   ISO selection remaining independent from template hypervisor propagation.
   
   A dependency-free Node runtime harness exercised the same resolver, selector 
methods, event ordering, and delayed-metadata paths successfully. The final 
branch was also audited against the exact current 4.22 head 
(532852824a9729ff9f073e3678d9d0bd8afeb059): it is one commit ahead and contains 
only the four intended UI/test files.
   
   The complete repository UI test suite was not available in the local 
environment, so no full Jest, lint, build, or repository CI result is claimed 
here.
   
   How did you try to break this feature and the system with this change?
   
   Kept KVM as a control to verify its existing label remains KVM.
   
   Selected XenServer and VMware templates from a mixed-hypervisor image set.
   
   Selected an External template from a different image-result group.
   
   Exercised a preselected template before its image metadata was loaded.
   
   Exercised missing and incomplete template metadata to verify the existing 
fallback is preserved.
   
   Exercised ISO selection to verify the template-specific propagation does not 
replace the explicit ISO hypervisor path.
   
   Audited the final diff for unrelated files; no workflow, API, backend, 
schema, or deployment-request changes are included.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to