From 2aebf5eb26d3264f95516dee01d49ad1259a1473 Mon Sep 17 00:00:00 2001 From: Alexander Trost Date: Wed, 28 Nov 2018 19:12:14 +0100 Subject: [PATCH] Added PersistentVolumeClaimTemplates to storage selection Signed-off-by: Alexander Trost --- pkg/apis/rook.io/v1alpha2/storage.go | 5 +++++ pkg/apis/rook.io/v1alpha2/types.go | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/apis/rook.io/v1alpha2/storage.go b/pkg/apis/rook.io/v1alpha2/storage.go index b429bf539..b05a5aa5c 100644 --- a/pkg/apis/rook.io/v1alpha2/storage.go +++ b/pkg/apis/rook.io/v1alpha2/storage.go @@ -90,6 +90,10 @@ func (s *StorageScopeSpec) resolveNodeSelection(node *Node) { if len(node.Selection.Directories) == 0 { node.Selection.Directories = s.Directories } + + if len(node.Selection.VolumeClaimTemplates) == 0 { + node.Selection.VolumeClaimTemplates = s.VolumeClaimTemplates + } } func (s *StorageScopeSpec) resolveNodeConfig(node *Node) { @@ -105,6 +109,7 @@ func (s *StorageScopeSpec) resolveNodeConfig(node *Node) { } } +// GetUseAllDevices return if all devices should be used. func (s *Selection) GetUseAllDevices() bool { return s.UseAllDevices != nil && *(s.UseAllDevices) } diff --git a/pkg/apis/rook.io/v1alpha2/types.go b/pkg/apis/rook.io/v1alpha2/types.go index 1bc4f5770..ebc2fb50f 100644 --- a/pkg/apis/rook.io/v1alpha2/types.go +++ b/pkg/apis/rook.io/v1alpha2/types.go @@ -60,13 +60,14 @@ type Directory struct { type Selection struct { // Whether to consume all the storage devices found on a machine UseAllDevices *bool `json:"useAllDevices,omitempty"` - // A regular expression to allow more fine-grained selection of devices on nodes across the cluster DeviceFilter string `json:"deviceFilter,omitempty"` - + // List of devices to use as storage devices Devices []Device `json:"devices,omitempty"` - + // List of host directories to use as storage Directories []Directory `json:"directories,omitempty"` + // PersistentVolumeClaims to use as storage + VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"` } type PlacementSpec map[string]Placement