-
Spike
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
Future Sustainability
-
False
-
-
False
-
None
-
8
-
None
-
CLOUD Sprint 220, CLOUD Sprint 221, CLOUD Sprint 222, CLOUD Sprint 223
User Story
As a cloud admin I want to set limits on the number of extra Machines the MachineSet controller can create so that I can ensure that my cloud provider limits are not exceeded.
Background
Similar to OCPCLOUD-1539, this came out of a discussion on slack.
In certain scenarios, the MachineSet controller may end up creating way more instances than is in the replicas field. For example, if I have 50 replicas, and then delete all Machines, the MachineSet will create another 50 new Machines, this means a total of 100 Machines in the cluster which may not be desirable/may cause issues with cloud provider limits.
It would be good to be able to have a configuration to prevent this from happening.
For example, and new field, maxSurge, which when omitted does nothing, otherwise defines how many Machines over the replicas value may be added to the cluster. Eg if 0, deleted Machines must be removed first, if 5, and more than 5 Machines are deleted, only a maximum of 5 extra will be created, an old Machine must be removed before a new Machine can be added.
Open Questions:
- How does this interact with:
- HyperShift
- Autoscaling
- Hive MachinePools
- OSD/ARO/ROSA
- Is there any parallel upstream?
Steps
- Write up a design proposal to explain the feature
- Get an API review
- Implement the feature and E2E test
Stakeholders
- Cluster Infra
- Service Delivery
- Ben Parees
Definition of Done
- Scope out the work into an epic to fulfil this RFE
- Do the initial investigation work and write this up into an enhancement
- Docs
- N/A
- Testing
- E2E testing as part of an epic to introduce this feature