-
Epic
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
Enable AWS Spot instances for Control Plane Nodes for internal CI
-
False
-
None
-
False
-
Green
-
In Progress
-
0% To Do, 0% In Progress, 100% Done
-
NOT FOR CUSTOMER USE
Summary
To save costs in OpenShift CI, we would like to be able to create test clusters using spot instances for both workers and masters.
Background
AWS spot instances are:
- way cheaper than normal ("on-demand") instances;
- less reliable than on-demand instances; but have been observed to have a high short-term survival rate.
They are thus deemed to be ideal for CI use cases because:
- CI jobs last O(4h) and are thus unlikely to have spot instances yanked.
- If a job is torpedoed by losing a spot instance, meh, it's just another flake, /retest.
Spot instances can be requested by editing manifests (generated via openshift-install create manifests) and injecting spotMarketOptions into the appropriate AWS provider-specific path. Today this works for workers via both terraform and CAPI code paths; but for masters only via CAPI. The lack of support for spot masters via terraform is due to an omission in translating the relevant field from the master machine manifest.
Proposal
This RFE proposes to:
1. Add that missing translation to openshift-install so that terraform-created master machines honor requests for spot instances.
2. Add some way to detect that this enablement exists in a given binary so that wrappers can perform validation (i.e. reject requests for spot masters if the support is absent – otherwise such requests are silently ignored).
3. Backport the above to all releases still in support to maximize the opportunity for cost savings.
NOT FOR CUSTOMER USE
We do not propose to officially support spot masters for customers, as their unreliability makes them unsuitable for general production use cases. As such, we will not add:
- install-config affordance
- documentation
(We may even want to consider adding words to the openshift API field for spotMarketOptions indicating that, even though it can be made to work, we don't support spot masters.)