Skip to content

Commit

Permalink
Merge pull request #3118 from sbueringer/pr-drop-feature-gate
Browse files Browse the repository at this point in the history
🌱 Drop WCP fault domains feature gate
  • Loading branch information
k8s-ci-robot authored Jul 23, 2024
2 parents 9ec3236 + b3dee41 commit 3121dff
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 19 deletions.
2 changes: 2 additions & 0 deletions config/deployments/integration-tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ To sync the new CRD's use the following script **and** update `kustomization.yam
make clean-vm-operator checkout-vm-operator
rm -r config/deployments/integration-tests/crds
cp -r test/infrastructure/vm-operator/vm-operator.tmp/config/crd/bases config/deployments/integration-tests/crds
# Note: for now we only need the AvailabilityZone CRD in our integration tests
cp test/infrastructure/vm-operator/vm-operator.tmp/config/crd/external-crds/topology.tanzu.vmware.com_availabilityzones.yaml config/deployments/integration-tests/crds

make clean-vm-operator
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: availabilityzones.topology.tanzu.vmware.com
spec:
group: topology.tanzu.vmware.com
names:
kind: AvailabilityZone
listKind: AvailabilityZoneList
plural: availabilityzones
shortNames:
- az
singular: availabilityzone
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AvailabilityZone is the schema for the AvailabilityZone resource
for the vSphere topology 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:
description: AvailabilityZoneSpec defines the desired state of AvailabilityZone.
properties:
clusterComputeResourceMoIDs:
description: ClusterComputeResourceMoIDs are the managed object IDs
of the vSphere ClusterComputeResources represented by this availability
zone.
items:
type: string
type: array
clusterComputeResourceMoId:
description: ClusterComputeResourceMoId is the managed object ID of
the vSphere ClusterComputeResource represented by this availability
zone.
type: string
namespaces:
additionalProperties:
description: NamespaceInfo contains identifying information about
the vSphere resources used to represent a Kubernetes namespace
on individual vSphere Zones.
properties:
folderMoId:
description: FolderMoId is the managed object ID of the vSphere
Folder for a Namespace. Folders are global and not per-vSphere
Cluster, but the FolderMoId is stored here, alongside the
PoolMoId for convenience.
type: string
poolMoIDs:
description: PoolMoIDs are the managed object ID of the vSphere
ResourcePools for a Namespace in an individual vSphere Zone.
A zone may be comprised of multiple ResourcePools.
items:
type: string
type: array
poolMoId:
description: PoolMoId is the managed object ID of the vSphere
ResourcePool for a Namespace on an individual vSphere Cluster.
type: string
type: object
description: Namespaces is a map that enables querying information
about the vSphere objects that make up a Kubernetes Namespace based
on its name.
type: object
type: object
status:
description: AvailabilityZoneStatus defines the observed state of AvailabilityZone.
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
9 changes: 0 additions & 9 deletions controllers/vmware/vspherecluster_reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ package vmware
import (
"context"
"fmt"
"os"

"github.com/pkg/errors"
topologyv1 "github.com/vmware-tanzu/vm-operator/external/tanzu-topology/api/v1alpha1"
Expand Down Expand Up @@ -370,17 +369,9 @@ func (r *ClusterReconciler) VSphereMachineToCluster(ctx context.Context, o clien
}}
}

var isFaultDomainsFSSEnabled = func() bool {
return os.Getenv("FSS_WCP_FAULTDOMAINS") == "true"
}

// Returns the failure domain information discovered on the cluster
// hosting this controller.
func (r *ClusterReconciler) getFailureDomains(ctx context.Context) (clusterv1.FailureDomains, error) {
if !isFaultDomainsFSSEnabled() {
return nil, nil
}

availabilityZoneList := &topologyv1.AvailabilityZoneList{}
if err := r.Client.List(ctx, availabilityZoneList); err != nil {
return nil, err
Expand Down
10 changes: 0 additions & 10 deletions controllers/vmware/vspherecluster_reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,16 +130,6 @@ var _ = Describe("Cluster Controller Tests", func() {
})

Context("Test getFailureDomains", func() {
fss := isFaultDomainsFSSEnabled

BeforeEach(func() {
isFaultDomainsFSSEnabled = func() bool { return true }
})

AfterEach(func() {
isFaultDomainsFSSEnabled = fss
})

It("should not find FailureDomains", func() {
fds, err := reconciler.getFailureDomains(ctx)
Expect(err).ToNot(HaveOccurred())
Expand Down

0 comments on commit 3121dff

Please sign in to comment.