NDB Operator Release Notes  /  Changes in NDB Operator 8.3.0-1.3.0 (2024-01-16, Innovation Release)

Changes in NDB Operator 8.3.0-1.3.0 (2024-01-16, Innovation Release)

This is MySQL NDB Operator 8.3.0-1.3.0, an Innovation release of NDB Operator, a Kubernetes Operator for MySQL NDB Cluster.

For additional downloads and the source of MySQL NDB Operator visit https://dev.mysql.com/downloads/ndb-operator/ and https://github.com/mysql/mysql-ndb-operator.

For more information on MySQL NDB Operator see the online documentation at https://dev.mysql.com/doc/ndb-operator/en/.

For more information about MySQL NDB Cluster, see https://dev.mysql.com/doc/refman/8.3/en/mysql-cluster.html.

Functionality Added or Changed

  • With the following fixes made in this release, NDB Operator now supports OpenShift containers:

    • A permissions error in mysqld containers was due to the NDB Operator requiring elevated privileges (chmod and chown) for sensitive file operations. This was caused by OpenShift's default pod initialization with restricted privileges.

      We fix this by updating NDB Operator so that it automatically creates and attaches to all pods a dedicated service account whose Security Context Constraints (SCC) can now be modified using the oc adm policy command, granting users the flexibility to adjust the privileges associated with the service account. This modification enables pods to start with elevated privileges, resolving permission errors encountered during file operations in mysqld containers.

    • An ownership reference problem with PVC finalizers in OpenShift occurred when setting the operator's CRD as the owner for PVCs created by the StatefulSet.

      This is addressed by refactoring the approach used by the NDB controller delete event so that it now manages the deletion of all PVCs created by NDB Operator, removing the ownership reference to the operator's CRD. This resolves the PVC finalizer issues observed in OpenShift environments.

    • OpenShift triggered warnings due to unset resource fields in init containers.

      This is resolved by including resource fields for init containers in the NDB Operator code, setting them with the same resource specifications as the main container. Since Kubernetes selects only the highest resource value among all init containers, this addition does not affect the node scheduling process.

    (Bug #36033825)