Skip to content

Run csi-cinder-controllerplugin on the Elastisys nodes

  • Status: accepted
  • Deciders: arch meeting
  • Date: 2023-01-26

Context and Problem Statement

We use the Cinder CSI Driver to manage the lifecycle of OpenStack Cinder Volumes. Currently the csi-cinder-controllerplugin is running on arbitrary nodes. Where should we run the csi-cinder-controllerplugin?

Decision Drivers

  • We want to deliver a stable and secure platform.
  • We want to keep application Nodes "light", so the application team knows what capacity is available for their application.

Considered Options

  • Run the csi-cinder-controllerplugin on arbitrary Nodes.
  • Run the csi-cinder-controllerplugin on Elastisys Nodes.

Decision Outcome

Chosen option: "Run the csi-cinder-controllerplugin on Elastisys Nodes", because it improves the stability and security of the platform and makes the application nodes "light"

Positive Consequences

  • The application Nodes infrastructure footprint is lower.
  • Security and stability of additional services is somewhat improved, e.g., SystemOOM due to an application won't impact the csi-cinder-controllerplugin.

Negative Consequences

  • We need to change the code to be able to make csi-cinder-controllerplugin run on the Elastisys Nodes.

Recommendations to Platform Administrators

Specifically, use the following Node labels

elastisys.io/node-type=elastisys

and taint:

elastisys.io/node-type=elastisys:NoSchedule

Remember to also add tolerations and Node affinity to all affected Pods.