Skip to content

Commit

Permalink
another option
Browse files Browse the repository at this point in the history
  • Loading branch information
jcpowermac committed Sep 27, 2024
1 parent 677ce07 commit fdb3dde
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions enhancements/installer/vsphere-ipi-zonal.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,22 +139,15 @@ type VSpherePlatformFailureDomainSpec struct {
// +kubebuilder:validation:Required
Zone string `json:"zone"`

// zoneType defines the type of zone that is used for this failure domain. The current available options
// are HostGroup and ComputeCluster.
// +kubebuilder:validation:MinLength=9
// +kubebuilder:validation:MaxLength=14
// +kubebuilder:validation:Optional
// +openshift:validation:FeatureGateAwareEnum:featureGate=VSphereHostVMGroupZonal,enum=HostGroup;ComputeCluster
// +unionDiscriminator
ZoneType VSphereFailureDomainType `json:"zoneType,omitempty"`


//todo: jcallen: *** unless zonespec could be removed to topology because of the name collision?

// zoneAffinity holds the VMGroup and the HostGroup names in vCenter corresponds to
// a vm-host group of type Virtual Machine and Host respectively. Is also
// contains the VMHostRule which is an affinity vm-host rule in vCenter.
// +openshift:validation:featureGate=VSphereHostVMGroupZonal
// +kubebuilder:validation:Optional
// +unionMember,optional
HostGroupZone *VSphereHostGroupZone `json:"hostGroupZone,omitempty"`
ZoneSpec *VSphereZoneSpec `json:"zoneSpec,omitempty"`

// server is the fully-qualified domain name or the IP address of the vCenter server.
// +kubebuilder:validation:Required
Expand All @@ -173,7 +166,21 @@ type VSpherePlatformFailureDomainSpec struct {
// and the vm-host affinity rule that together creates a affinity configuration for vm-host based zonal.
// This configuration within vCenter creates the required association between a failure domain, virtual machines
// and ESXi hosts to create a vm-host based zone.
type VSphereHostGroupZone struct
type VSphereZoneSpec struct {
// zoneType defines the type of zone that is used for this failure domain. The current available options
// are HostGroup and ComputeCluster.
// +kubebuilder:validation:MinLength=9
// +kubebuilder:validation:MaxLength=14
// +kubebuilder:validation:Optional
// +openshift:validation:FeatureGateAwareEnum:featureGate=VSphereHostVMGroupZonal,enum=HostGroup;ComputeCluster
// +unionDiscriminator
ZoneType VSphereFailureDomainType `json:"zoneType,omitempty"`


HostGroup *VSphereHostGroupZoneSpec `json:"hostGroup,omitempty`
}

type VSphereHostGroupZoneSpec struct {
// vmGroup is the name of the vm-host group of type virtual machine within vCenter for this failure domain.
// This field is required when the VSphereFailureDomain ZoneType is HostGroup
// +openshift:validation:featureGate=VSphereHostVMGroupZonal
Expand Down

0 comments on commit fdb3dde

Please sign in to comment.