jenkinsci / ec2-fleet-plugin

The EC2 Fleet plugin launches EC2 instances as worker nodes for Jenkins CI server, automatically scaling the capacity with the load.
https://plugins.jenkins.io/ec2-fleet/
Apache License 2.0
111 stars 81 forks source link

Scaling executors by node hardware #415

Closed GavinBurris42 closed 1 year ago

GavinBurris42 commented 1 year ago

One new method of executor scaling has been added: Scaling by Node Hardware. The options to scale are by vCPU or memory, allowing the user to better allocate node resources based on instance type. The user will also decide on a scaling factor determining the number of executors to be allocated per number of resources. For instance if executors are being scaled by vCPUs with a scaling factor of 2, then 1 executor will be allocated for every 2 vCPUs for that nodes instance type. The lower number of executors will be provisioned to prevent over-provisioning. The user can decide to ignore the scaling by hardware for one or more of the resources by setting its scaling factor to 0. The user will be able to select this method of scaling in a dropdown selection in the Jenkins UI, which also includes the existing method of scaling by instance weight and a no scaling option.

Testing done

Unit tests were written to check every case of input for the new dropdown menu, as well as varying cases of inputs for the new Node Hardware selection.

Manual Testing:

The following cases need to be tested for the node hardware selection:

Steps to take before testing:

pdk27 commented 1 year ago

@GavinBurris42 , looks like the only action item is to test that the configuration loads accurately in Jenkins UI. Other than that, PR looks good.

vineeth-bandi commented 1 year ago

Approved pending documentation changes for CasC Usage.