VAST COSI Driver 2.7.0 Release Notes

Prev Next

VAST COSI Driver 2.7.0 has been released in September 2026. This release includes:

New Features

Support of Multiple VAST Cluster Tenants

Starting with version 2.7.0, VAST COSI Driver can operate on multiple VAST Cluster tenants. You can specify the tenant and related VMS credentials per bucket class.

To run VAST COSI Driver on a particular tenant:

  1. Create a secret with username and password of a VMS user that is a Tenant Admin for the desired tenant. Specify the tenant name on the new tenant parameter in the secret.

  2. In the bucket class definition, use the new secretName and secretNamespace parameters to point to the secret created in step 1.

Note: This feature requires VAST Cluster 5.3.3 or later.

To learn more about operating on multiple tenants, see Provision Buckets on Multiple VAST Cluster Tenants.

Support of Quotas

VAST COSI Driver 2.7.0 lets you set a VAST cluster directory quota on the bucket being provisioned.
VAST directory quotas are created per VAST cluster path to limit the capacity that can be used by that path. The quota applies to all objects, files or directories that exist on the path, regardless of the access protocol.
VAST COSI Driver lets you impose a hard limit on the bucket's path size based on the logical capacity. Other quota limit options provided by the VAST cluster are not supported.

Quotas can be specified in the bucket class and/or in the bucket claim. The quota specified in the bucket class is overridden by the quota specified in the bucket claim for that particular bucket.

To set a quota for a bucket class, use the new maxSize=<size> parameter in the bucket class definition. To set a quota for a particular bucket, add a quota annotation to the bucket claim, for example: cosi.vastdata.com/maxSize: "5Gi"

Note: Modifying or removing quotas for provisioned buckets is not supported.

To learn more about setting quotas with VAST COSI Driver, see Set Quotas.

Support of Versioned Buckets

VAST COSI Driver 2.7.0 introduces support for versioned S3 buckets. To provision a versioned bucket, add the new s3_versioning=true parameter to the bucket class.

The following limitations apply:

  • Disabling versioning on a provisioned bucket is not supported.
  • VAST cluster limitations for versioned S3 buckets apply.

Support of Lifecycle Rules

VAST COSI Driver 2.7.0 lets you configure multiple VAST lifecycle rules for a bucket being provisioned.
Lifecycle rules are specified on the new lifecycleRules parameter in the bucket class definition, for example:

vastdata-bucketclass:
  <...>
  lifecycleRules:
    - name: expire-logs
      expiration_days: 30
      prefix: logs/
    - name: expire-tmp
      expiration_days: 7
      prefix: tmp/
      abort_mpu_days_after_initiation: 1

To learn more about configuring lifecycle rules with VAST COSI Driver, see Configure Lifecycle Rules.

The following limitation applies:

  • The lifecycle rule configuration can be applied to the bucket on bucket creation only. VAST COSI Driver does not support modifying lifecycle rules for an existing bucket.

Support for Externally Managed Bucket Access Keys

You can configure the driver to use externally managed S3 access and secret keys for the VMS local user that the driver creates for each bucket being provisioned. (Otherwise, VMS-generated keys are used.)

Note: This feature requires VAST Cluster 5.4.0 or later.

To use externally managed keys:

  1. Store the S3 access and secret keys in a Kubernetes secret.
  2. Reference the secret that holds the keys in the bucket access class using the credentialsSecretName and credentialsSecretNamespace parameters.

To learn more, see Use Externally Managed Bucket Access Keys.

The following limitations apply:

Configuring Bucket Owner

With VAST COSI Driver 2.7.0, you can configure the bucket class to use an existing user account as the bucket owner. Prior to this change, the driver would always create a VMS local user for each bucket being provisioned and delete the user when the bucket is deleted.

The bucket owner can be a VMS local user of your choice, or it can be a user account on a non-VAST provider. The following providers are supported: Active Directory, LDAP, NIS.

To set the bucket owner, use the bucketOwner and bucketOwnerContext parameters in the bucket class definition.

The following limitations apply:

  • The name of the user you're going to set as the bucket owner cannot be the same as the bucket name.
  • Using externally managed S3 access keys for Active Directory or LDAP user accounts is not supported.

DNS-Based IP Resolution

VAST COSI Driver lets you improve performance when mounting volumes by using DNS to retrieve a virtual IP to be used when provisioning the bucket.

To take advantage of this feature, when specifying the virtual IP pool for the bucket class, supply the pool FQDN on the new vipPoolFQDN parameter (instead of adding the vipPool parameter that specifies the pool name).

To learn more, see DNS-Based Virtual IP Resolution.

Export Connection Parameters to Environment Variables

VAST COSI Driver 2.7.0 supports export of endpoint parameters and credentials that the driver uses to connect to the VAST cluster, from the Kubernetes secret to environment variables for further use by applications.

To export the connection parameters, add the flatten-credentials annotation to the bucket access definition, for example:

kind: BucketAccess
metadata:
  ...
  annotations:
    cosi.vastdata.com/flatten-credentials: "true"
spec:
  ...
  credentialsSecretName: <Kubernetes secret name>

Application pods can load the exported variables from secretRef and/or configMapRef resources as follows:

envFrom:
  - secretRef:
      name: <Kubernetes secret name>-flat
  - configMapRef:
      name: <Kubernetes secret name>-flat

Enhancements

  • Changed the way VAST COSI Driver handles bucket names that exceed the maximum allowed length. (Bucket names are generated by appending a 36-character BucketClaim UID to the bucket class name or to the name specified in the bucket claim.)
    Prior to 2.7.0, a long bucket name could be truncated based on the truncateVolumeName parameter in the driver's Helm chart configuration file.
    In version 2.7.0, the truncateVolumeName parameter is deprecated. Provisioning of a bucket with a name longer than 63 characters is not allowed. Bucket class names must be within 27 characters.
    If you are upgrading to 2.7.0, rename or recreate any bucket classes with names that are longer than 27 characters.

    Note: This change does not affect buckets that have been provisioned prior to the upgrade to version 2.7.0.

Resolved Issues

  • VCSI-587: Made updates to allow for resynchronization of BucketAccess secret in a scenario that involved recreating of a bucket claim.
  • VCSI-520: Resolved an issue that could, in some cases, result in lack of S3 access keys for the provisioned bucket.