Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ISSUE-1018] Custom Storage Group Feature #180

Merged
merged 14 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,13 @@ spec:
name: v1
schema:
openAPIV3Schema:
description: AvailableCapacityReservation is the Schema for the availablecapacitiereservations
API
description: AvailableCapacityReservation is the Schema for the availablecapacitiereservations API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
Expand Down Expand Up @@ -86,6 +81,8 @@ spec:
type: integer
StorageClass:
type: string
StorageGroup:
type: string
type: object
Reservations:
description: reservation filled by csi driver controller
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: storagegroups.csi-baremetal.dell.com
spec:
group: csi-baremetal.dell.com
names:
kind: StorageGroup
listKind: StorageGroupList
plural: storagegroups
shortNames:
- sg
- sgs
singular: storagegroup
scope: Cluster
versions:
- additionalPrinterColumns:
- description: numberDrivesPerNode of StorageGroup's DriveSelector
jsonPath: .spec.driveSelector.numberDrivesPerNode
name: DRIVES_PER_NODE
type: string
- description: Drive Type of StorageGroup's DriveSelector
jsonPath: .spec.driveSelector.matchFields.Type
name: TYPE
type: string
- description: Drive Slot of StorageGroup's DriveSelector
jsonPath: .spec.driveSelector.matchFields.Slot
name: SLOT
type: string
- description: Drive Path of StorageGroup's DriveSelector
jsonPath: .spec.driveSelector.matchFields.Path
name: PATH
type: string
- description: Whether StorageGroup's DriveSelector to Select System Drive
jsonPath: .spec.driveSelector.matchFields.IsSystem
name: SYSTEM
type: string
name: v1
schema:
openAPIV3Schema:
description: StorageGroup is the Schema for the StorageGroups API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
driveSelector:
properties:
matchFields:
additionalProperties:
type: string
type: object
numberDrivesPerNode:
format: int32
type: integer
type: object
type: object
type: object
served: true
storage: true
subresources: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,10 @@ spec:
description: Volume is the Schema for the volumes API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
Expand All @@ -78,6 +74,7 @@ spec:
CSIStatus:
type: string
Ephemeral:
description: inline volumes are not support anymore. need to remove field in the next version
type: boolean
Health:
type: string
Expand All @@ -102,6 +99,8 @@ spec:
type: integer
StorageClass:
type: string
StorageGroup:
type: string
Type:
type: string
Usage:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,4 @@ spec:
memory: {{ .Values.operator.resources.requests.memory }}
command: ["/bin/sh", "-c"]
args:
- kubectl replace crd -f /crds;
- kubectl apply -f /crds;