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

   ### Description
   
   Currently, ACS provides a feature that enables a guest OS preference for a 
specific host, prioritizing VMs based on its OS. However, this functionality 
allows VMs with different OSes to be deployed in a host with a Guest OS 
defined, as expected as it is only a preference configuration; this is not 
always desired. For example, keeping proprietary OS in the same host could 
reduce licensing costs.
   
   This PR tackles this scenario, allowing JavaScript rules, using the JS 
interpreter introduced in #5909, to direct VMs to specific hosts based on their 
OS. Different from the guest OS preference, these guest OS rules will be 
strict. This new feature added a new field, `Guest OS as JS rule` in the host 
edit view to allow users the creation of these rules.
   
   This PR depends on #9074, for this reason it is on draft until #9074 is 
merged.
   
   ### 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
   
   - [ ] Major
   - [x] Minor
   
   ### Screenshots (if appropriate):
   
   
![image](https://github.com/user-attachments/assets/04365bf3-75b4-4e29-bdda-b60b67556493)
   
   ### How Has This Been Tested?
   
   In a local lab with two hosts (`host-1` and `host-2`) I created the guest OS 
rule `vmGuestOs.toLowerCase().indexOf("debian") != -1` for `host-2`, and 
deployed multiple VMs using templates and ISOs.
   
   - I deployed VMs with Ubuntu and CentOS and verify that `host-2` was 
filtered during the deployment.
   - I tried to migrate these VMs to `host-2` and verified that it was not 
possible.
   - I deployed a Debian VM and verified that both hosts were considered in the 
deployment process.
   - I managed to migrate this VM from `host-1` to `host-2` and vice versa.
   
   #### How did you try to break this feature and the system with this change?
   
   I tried to deploy VMs in the same lab without the guest OS rules defined and 
validated that the deployment of VMs were being done as expected.


-- 
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: commits-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to