Uploaded image for project: 'OpenShift Installer'
  1. OpenShift Installer
  2. CORS-3522

INTERNAL: AWS Terraform support for spot masters

XMLWordPrintable

    • 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
    • Hide

      25 Jul: support for spot instances on terraform-based installer has merged up to release 4.14. There is also support to enable Spot instances for controlPlane nodes in CI

      Show
      25 Jul: support for spot instances on terraform-based installer has merged up to release 4.14. There is also support to enable Spot instances for controlPlane nodes in CI

      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.)

              rdossant Rafael Fonseca dos Santos
              efried.openshift Eric Fried
              Eric Fried Eric Fried
              Patrick Dillon Patrick Dillon
              Marcos Entenza Garcia Marcos Entenza Garcia
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: