Skip to content

Commit

Permalink
add MaxAllowedBlockVolumesPerNode field to VSphereCSIDriverConfigSpec
Browse files Browse the repository at this point in the history
  • Loading branch information
RomanBednar committed Feb 3, 2025
1 parent 30a0360 commit d631664
Show file tree
Hide file tree
Showing 23 changed files with 3,449 additions and 0 deletions.
1 change: 1 addition & 0 deletions features.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
| UpgradeStatus| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| UserNamespacesPodSecurityStandards| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| UserNamespacesSupport| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| VSphereConfigurableMaxAllowedBlockVolumesPerNode| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| VSphereHostVMGroupZonal| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| VSphereMultiDisk| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
| VSphereMultiNetworks| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
Expand Down
8 changes: 8 additions & 0 deletions features/features.go
Original file line number Diff line number Diff line change
Expand Up @@ -734,4 +734,12 @@ var (
enhancementPR("https://github.com/openshift/enhancements/pull/1492").
enableIn(configv1.DevPreviewNoUpgrade).
mustRegister()

FeatureGateVSphereConfigurableMaxAllowedBlockVolumesPerNode = newFeatureGate("VSphereConfigurableMaxAllowedBlockVolumesPerNode").
reportProblemsToJiraComponent("Storage / Kubernetes External Components").
contactPerson("rbednar").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1748").
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
mustRegister()
)
7 changes: 7 additions & 0 deletions openapi/generated_openapi/zz_generated.openapi.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -32732,6 +32732,11 @@
"type": "integer",
"format": "int64"
},
"maxAllowedBlockVolumesPerNode": {
"description": "maxAllowedBlockVolumesPerNode is a configuration parameter that allows setting custom value for limit of PersistentVolumes attached to a node. In vSphere version 7 this limit was set to 59 by default, however in vSphere version 8 this limit was increased to 255. For more details see: https://configmax.broadcom.com/guest?vmwareproduct=vSphere&release=vSphere%208.0&categories=3-0 Before increasing this value above 59 the cluster administrator needs to ensure that every node forming the cluster is updated to ESXi version 8 or higher and that all nodes are running the same version. According to CSI protocol the cluster orchestrator can decide on default value if the limit is not set or set to 0: https://github.com/container-storage-interface/spec/blob/98819c45a37a67e0cd466bd02b813faf91af4e45/csi.proto#L1679-L1684 Since cluster orchestrator could change its defaults this field is set to a default value that matches the original limit for vSphere version 7. Setting this value to 0 would effectively prevent CSI controller from publishing any CSI volumes to the node. Defaults to: 59",
"type": "integer",
"format": "int64"
},
"topologyCategories": {
"description": "topologyCategories indicates tag categories with which vcenter resources such as hostcluster or datacenter were tagged with. If cluster Infrastructure object has a topology, values specified in Infrastructure object will be used and modifications to topologyCategories will be rejected.",
"type": "array",
Expand Down
18 changes: 18 additions & 0 deletions operator/v1/types_csi_cluster_driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,24 @@ type VSphereCSIDriverConfigSpec struct {
// +openshift:enable:FeatureGate=VSphereDriverConfiguration
// +optional
GranularMaxSnapshotsPerBlockVolumeInVVOL *uint32 `json:"granularMaxSnapshotsPerBlockVolumeInVVOL,omitempty"`

// maxAllowedBlockVolumesPerNode is a configuration parameter that allows setting custom value for limit of
// PersistentVolumes attached to a node. In vSphere version 7 this limit was set to 59 by default, however
// in vSphere version 8 this limit was increased to 255. For more details see: https://configmax.broadcom.com/guest?vmwareproduct=vSphere&release=vSphere%208.0&categories=3-0
// Before increasing this value above 59 the cluster administrator needs to ensure that every node forming the
// cluster is updated to ESXi version 8 or higher and that all nodes are running the same version.
// According to CSI protocol the cluster orchestrator can decide on default value if the limit is not set or
// set to 0: https://github.com/container-storage-interface/spec/blob/98819c45a37a67e0cd466bd02b813faf91af4e45/csi.proto#L1679-L1684
// Since cluster orchestrator could change its defaults this field is set to a default value that matches the
// original limit for vSphere version 7.
// Setting this value to 0 would effectively prevent CSI controller from publishing any CSI volumes to the node.
// Defaults to: 59
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=255
// +kubebuilder:default=59
// +openshift:enable:FeatureGate=VSphereDriverVolumeLimit
// +optional
MaxAllowedBlockVolumesPerNode *uint32 `json:"maxAllowedBlockVolumesPerNode,omitempty"`
}

// ClusterCSIDriverStatus is the observed status of CSI driver operator
Expand Down
Loading

0 comments on commit d631664

Please sign in to comment.