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):  ### 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