20. Release Notes

20.1. Robin Cloud Native Storage v5.4.8

The Robin Cloud Native Storage (CNS) v5.4.8 Release Notes document provides information about upgrade paths, new features, improvements, fixed issues, and known issues.

Release Date: February 23, 2024

20.1.1. Upgrade paths

The following is the supported upgrade paths for Robin CNS v5.4.8:

  • Robin CNS v5.4.6-102 to Robin CNS v5.4.8-276

  • Robin CNS v5.3.16-682 to Robin CNS v5.4.8-276

  • Robin CNS v5.4.4-182 to Robin CNS v5.4.8-276

Note

  • If you are upgrading from any supported Robin CNS version other than Robin CNS v5.4.6 to Robin CNS v5.4.8, you must stop any snapshot creation and deletion operations. However, in unavoidable situations, you can run the robin volume-snapshot upgrade --wait command post-upgrade.

  • After upgrading to Robin CNS v5.4.8, if you are using robin client outside Robin Pods, you must upgrade to the latest version of the Robin CLI Client.

20.1.2. New Features

20.1.2.1. Backup and Import of volume using Kubernetes Spec

Starting from Robin CNS v5.4.8, you can backup and import any volume declaratively using a Kubernetes specification.

Robin CNS already supports backup and import of volumes using the Robin command line. For more information, see here.

20.1.2.2. Auto Disk Rebalance

Robin CNS v5.4.8 supports the Auto Disk Rebalance feature. The Auto Disk Rebalance feature manages the storage space of all disks in the cluster automatically when the disk reaches a certain watermark threshold.

By default, the Auto Disk Rebalance feature is enabled. However, you can disable it if required using the following command:

# robin config update server disk_used_space_high_watermark 120

When a disk reaches a high watermark, the disk rebalance job automatically starts to move the volumes from one disk to another disk. The Auto Disk Rebalance feature is designed in such a way that it always selects the disk that has the most free space. For more information, see here.

20.1.2.3. Support for Thin and Thick Volume Clone

Starting from Robin CNS v5.4.8, the following two types of volume clones are supported:

  • Thin clone: A Thin clone is a writable point-in-time copy of an existing volume or volume snapshot. A Thin clone has a dependency on the parent volume or snapshot.

  • Thick clone: A Thick clone is a writable point-in-time copy of an existing volume or volume snapshot. A Thick clone has no dependency on the parent volume or snapshot.

A Thick clone is essentially a complete new copy of the parent volume. While data copy (hydration) is in progress, you cannot mount the volume in a Pod, or access the volume clone for reads and writes.

Note

If you have clone volumes that were created in an earlier release (any release prior to Robin CNS v5.4.8), they will be available for use after upgrading to Robin CNS v5.4.8. These legacy clones are marked as Volume type CLONE in the volume list. However, you cannot convert them into a Thick clone. Also, you cannot convert a Thin clone into a Thick clone.

To create a Thick or Thin clone, in your Robin StorageClass, you should provide the parameter clonetype and value thick or thin (clonetype: <thick> <thin>) and use the StorageClass when you create a PVC. If you do not provide the clonetype parameter in the Robin StorageClass, by default, Robin CNS creates a Thin clone. Also, in the PVC YAML file, you must provide the value for the kind key under the DataSource parameter as PersistentVolumeClaim or VolumeSnapshot. For more information, see here.

20.1.3. Improvements

20.1.3.1. Delete Kubernetes VolumeSnapshot and PVC Objects with Dependent Volume Clones

Starting from Robin CNS v5.4.8, Robin CNS allows you to delete the VolumeSnapshot objects even if clones created from it are present.

Also, deletion of PVC objects is now allowed even if VolumeSnapshot objects or clones created from them are present.

20.1.3.2. New Metrics

Robin CNS v5.4.8 provides the following new metrics for the following categories: For more information, see here.

  • Manager services

    • robin_manager_services_robin_server

    • robin_manager_services_consul_server

    • robin_manager_services_robin_event_server

    • robin_manager_services_stormgr_server

    • robin_manager_services_pgsql

    • robin_manager_services_robin_master

  • Agent Services

    • robin_agent_services_robin_agent

    • robin_agent_services_iomgr_service

    • robin_agent_services_monitor_server

    • robin_agent_services_consul_client

  • Node Metrics

    • robin_node_state

    • robin_node_maintenance_mode

  • Disk Metrics

    • robin_disk_state

    • robin_disk_maintenance_mode

  • Volume Metrics

    • robin_vol_storstatus

    • robin_vol_status

    • robin_vol_mount_node_id

    • robin_vol_snapshot_space_used

    • robin_vol_snapshot_space_limit

    • robin_vol_total_snapshot_count

20.1.3.3. Collect Robin Logs to Google Cloud Storage

When collecting logs from a Robin CNS cluster, you now have the option to send a copy of the log files to a GCS bucket. Before you copy, you must register the GCS repo.

# robin repo register <repo_name> gcs://<bucket_name>/<path> <JSON auth file> readwrite --wait

After registering the GCS repo, you can use it when collecting logs from the Robin CNS cluster.

# robin log collect repo --repo_name <GCS repo name>

For more information, see here.

20.1.3.4. Partial Volume Evacuation

Robin CNS v5.4.8 supports moving partial volume manually from one disk to another disk to free up space on a disk and balance disk space utilization. To move partial volume, the following new command option is added to the robin disk evacuate command :

  • --freespace

Use this option to provide the amount of space you need to free up on a volume. You can provide the source disk’s WWN and the destination disk’s WWN. If you do not provide the destination disk’s WWN, Robin CNS will automatically move the data to the available disk.

Example

# robin drive evacuate --volume pvc-8c48ae12-bd29-4a8c-82af-85ff7bb912db 0x6002248015cebadcd96e520879a9582f --freespace 5G

For more information, see here.

20.1.3.5. Support for ReadWriteOncePod (RWOP) Access Mode for PVC creation

Starting from Robin CNS v5.4.8, Robin CNS supports ReadWriteOncePod (RWOP) access mode for PVC creation.

20.1.3.6. Support for Robin Pods to configure with QoS Priority Class

SStarting from Robin CNS v5.4.8, Robin Pods have a higher priority class, and they will get evicted after non-critical Pods in case of resource pressure.

20.1.3.7. Support for Quorum-based Replication

Starting from Robin CNS v5.4.8, Robin supports quorum-based replication. A new option for the protection parameter of StorageClass, named quorum-replication is added. You must use the replication factor 3 for volumes with the quorum-replication protection type.

In the quorum-based replication, Robin makes sure that majority replicas are always up to acknowledge a write IO, which means a write IO is only acknowledged once it is durable for majority replicas. When the number of active replicas are less than the quorum value, the volume will operate in the READ_ONLY (RO) mode, which means only the read IOs are served and the write IO will not be served in the region of the volume that is out of quorum because of the faults in the cluster.

Note

Import of a quorum-based replication volume is supported only if it is imported with the hydration option.

20.1.4. Fixed Issues

Reference ID

Description

PP-32287

Symptom

When restoring a volume backup, the disk write unit on the source and destination clusters must be the same. If there is a mismatch, you cannot use the restored volume. This issue is fixed.

PP-32324

Symptom

The issue of importing an RWX volume from a volume backup that fails because of the FailedMount error is fixed.

PP-32328

Symptom

The issue of a hostname with more than 50 characters is not supported is fixed.

PP-32536

Symptom

The fast failover option is disabled for Pods that have block RWX PVC.

PP-32379

Symptom

The issue of the UBB agent image registry path not being considered during Robin CNS installation is fixed.

PP-32724

Symptom

The issue of one of KubeVirt VMs stuck in the init state and failing to start up with the FailedMount issue when you run Kubevirt VMs at a scale (more than 250) is fixed.

PP-33046

Symptom

The Robin event logs not having JSON format issue is fixed. With this release, the event logs appear in proper JSON format.

PP-33229

Symptom

The issue of robin backup list and robin backup info commands not displaying the timestamp is fixed.

PP-33445

Symptom

The issue of Robin Pods stuck in the ContainerCreating state due to the dependency on this directory: /home/robinds/var/lib/pgsql/patroni, which is created only during the Robin CNS installation time, Post-install, if the directory is missing for some reason, you will notice this issue. This issue is fixed.

With this release, the Robin Patroni Pod’s Init container also checks for the /home/robinds/var/lib/pgsql/patroni directory, and it recreates if the directory is absent.

PP-33630

Symptom

The issue of volume creation failure due to a disk path mismatch is fixed.

20.1.5. Known Issues

Reference ID

Description

PP-32364

Symptom

When importing a volume created with storage tolerations, you must use the --create-pvc option to adhere to the storage taints.

20.1.6. Technical Support

Contact Robin Technical support for any assistance.