mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
cephfs: set cluster Name as metadata on the subvolume
This change helps read the cluster name from the cmdline args, the provisioner will set the same on the subvolume. Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
This commit is contained in:
committed by
mergify[bot]
parent
25ce21f496
commit
21d811096b
@ -21,6 +21,11 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
// clusterNameKey cluster Key, set on cephfs subvolume.
|
||||
clusterNameKey = "csi.ceph.com/cluster/name"
|
||||
)
|
||||
|
||||
// setMetadata sets custom metadata on the subvolume in a volume as a
|
||||
// key-value pair.
|
||||
func (s *subVolumeClient) setMetadata(key, value string) error {
|
||||
@ -52,6 +57,14 @@ func (s *subVolumeClient) SetAllMetadata(parameters map[string]string) error {
|
||||
}
|
||||
}
|
||||
|
||||
if s.clusterName != "" {
|
||||
err := s.setMetadata(clusterNameKey, s.clusterName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to set metadata key %q, value %q on subvolume %v: %w",
|
||||
clusterNameKey, s.clusterName, s, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -81,9 +81,10 @@ type SubVolumeClient interface {
|
||||
|
||||
// subVolumeClient implements SubVolumeClient interface.
|
||||
type subVolumeClient struct {
|
||||
*SubVolume // Embedded SubVolume struct.
|
||||
clusterID string // Cluster ID to check subvolumegroup and resize functionality.
|
||||
conn *util.ClusterConnection // Cluster connection.
|
||||
*SubVolume // Embedded SubVolume struct.
|
||||
clusterID string // Cluster ID to check subvolumegroup and resize functionality.
|
||||
clusterName string // Cluster name
|
||||
conn *util.ClusterConnection // Cluster connection.
|
||||
}
|
||||
|
||||
// SubVolume holds the information about the subvolume.
|
||||
@ -97,11 +98,12 @@ type SubVolume struct {
|
||||
}
|
||||
|
||||
// NewSubVolume returns a new subvolume client.
|
||||
func NewSubVolume(conn *util.ClusterConnection, vol *SubVolume, clusterID string) SubVolumeClient {
|
||||
func NewSubVolume(conn *util.ClusterConnection, vol *SubVolume, clusterID, clusterName string) SubVolumeClient {
|
||||
return &subVolumeClient{
|
||||
SubVolume: vol,
|
||||
clusterID: clusterID,
|
||||
conn: conn,
|
||||
SubVolume: vol,
|
||||
clusterID: clusterID,
|
||||
clusterName: clusterName,
|
||||
conn: conn,
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user