Convert v1alpha1 TFOperator custom resource to v2

Available since MOSK 24.2

In 24.1, MOSK introduces the API v2 for Tungsten Fabric. Since 24.2, Tungsten Fabric API v2 becomes default for new deployments and includes the ability to convert the existing v1alpha1 TFOperator to v2.

During the update to the 24.3 series, the old Tungsten Fabric cluster configuration API v1alpha1 is automatically converted and replaced with the v2 version.

To learn more about the new TFOperator structure, refer to Tungsten Fabric API v2 Reference of the cluster version in question at API Reference and Key differences between TFOperator API v1alpha1 and v2.

Convert v1alpha1 TFOperator to v2

During cluster update to MOSK 24.3, the automatic conversion of the TFOperator v1alpha1 to the v2 version takes place. Therefore, there is no need to perform any manual conversion.

Warning

Since MOSK 24.3, start using the v2 TFOperator custom resource for any updates.

The v1alpha1 TFOperator custom resource remains in the cluster but is no longer reconciled and will be automatically removed with the next major cluster update.

Caution

Conversion of TFOperator causes recreation of the Tungsten Fabric service pods. Therefore, Mirantis recommends performing the conversion during a maintenance window.

Update the tungstenfabric-operator Helm release values in the corresponding ClusterRelease resource:

spec:
  helm:
    releases:
      - name: tungstenfabric-operator
        values:
          operator:
            convertToV2: true

When the chart changes apply, the tungstenfabric-operator-convert-to-v2 job performs the following:

  1. Saves the existing v1alpha1 TFOperator specification to the tfoperator-v1alpha1-copy ConfigMap

  2. Creates the v2 TFOperator custom resource

  3. Removes the redundant v1alpha1 TFOperator custom resource

While the conversion is being performed, monitor the recreation of the Tungsten Fabric service pods. Verify that TFOperator v2 has been created successfully:

kubectl -n tf describe tf.mirantis.com openstack-tf

Reverse the conversion of v1alpha1 TFOperator to v2

Caution

During the conversion reverse, the Tungsten Fabric service pods will get updated. Therefore, Mirantis recommends performing the procedure during the maintenance window.

  1. Update Helm release values in the corresponding ClusterRelease resource:

    values:
      operator:
        convertToV2: false
    
  2. When the controller starts, it should use the v1alpha1 TFOperator custom resources for reconcilation.

Caution

During the conversion reverse, the Tungsten Fabric service pods will get recreated. Therefore, Mirantis recommends performing the conversion during the maintenance window.

  1. Update the TFOperator HelmBundle:

    values:
      operator:
        convertToV2: false
    
  2. Manually, delete the v2 TFOperator custom resource:

    kubectl -n tf delete tf.mirantis.com openstack-tf
    
  3. Manually, create the v1alpha1 TFOperator custom resource using data from the tfoperator-v1alpha1-copy ConfigMap.