You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
Creating a cluster using a composition results in a cluster with the wrong defaults being created. It's not possible to delete the cluster without manually fixing the issue.
How can we reproduce it?
XRD
apiVersion: apiextensions.crossplane.io/v1kind: CompositeResourceDefinitionmetadata:
name: xclusters.shopify.comlabels:
app: crossplane-the-cloudspec:
group: shopify.comnames:
kind: XClusterplural: xclustersclaimNames:
kind: ClusterInstanceplural: clusterinstancesversions:
- name: v1served: truereferenceable: trueadditionalPrinterColumns:
- name: Statustype: stringjsonPath: .status.status
- name: Tiertype: stringjsonPath: .spec.parameters.tier
- name: Roletype: stringjsonPath: .spec.parameters.role
- name: Environmenttype: stringjsonPath: .spec.parameters.environmentschema:
openAPIV3Schema:
type: objectproperties:
spec:
required:
- parametersproperties:
parameters:
type: objectproperties:
tier:
description: Tier labeltype: stringrole:
description: Role labeltype: stringenvironment:
description: Environment the cluster is intype: stringproject:
description: In which project the cluster must be provisioned.type: stringlocation:
description: Region or zone.type: stringkubernetesVersion:
description: Master version to use.type: stringnetworkProject:
description: Project the network is hosted in.type: stringnetwork:
description: Name of the network.type: stringmaxPodsPerNode:
description: Maximum amount of pods per node.type: number releaseChannel:
description: TODOtype: stringrequired:
- tier
- role
- environment
- project
- location
- kubernetesVersion
- network
- networkProjectstatus:
type: objectproperties:
status:
description: Status of the clustertype: string
Composition
---
apiVersion: apiextensions.crossplane.io/v1kind: Compositionmetadata:
name: cluster-composition-v1labels:
app: crossplane-the-cloudcrossplane.io/xrd: xclusters.shopify.comprovider: gcpspec:
compositeTypeRef:
apiVersion: shopify.com/v1kind: XClusterresources:
- name: clusterbase:
apiVersion: container.gcp.jet.crossplane.io/v1alpha2kind: Clusterspec:
forProvider:
loggingService: nonemonitoringService: none# loggingConfig: [] # Uncommenting these fixes the problem# monitoringConfig: [] # Uncommenting these fixes the problem# nodeVersion: null # Uncommenting these fixes the problembinaryAuthorization:
enabled: trueipAllocationPolicy:
- clusterSecondaryRangeName: podsservicesSecondaryRangeName: servicesnetworkPolicy:
- enabled: true# Needed when not creating a default node pool in the cluster.initialNodeCount: 1removeDefaultNodePool: truepatches:
# GCP Project
- fromFieldPath: spec.parameters.projecttoFieldPath: spec.providerConfigRef.name# Make sure name in GCP matches name of claim.
- fromFieldPath: metadata.annotations[crossplane.io/external-name]toFieldPath: metadata.annotations[crossplane.io/external-name]# Kubernetes version
- fromFieldPath: spec.parameters.kubernetesVersiontoFieldPath: spec.forProvider.minMasterVersion# Location
- fromFieldPath: spec.parameters.locationtoFieldPath: spec.forProvider.location# Network
- type: CombineFromCompositecombine:
variables:
- fromFieldPath: spec.parameters.networkProject
- fromFieldPath: spec.parameters.networkstrategy: stringstring:
fmt: "projects/%s/global/networks/%s"toFieldPath: spec.forProvider.network# Subnetwork
- fromFieldPath: metadata.annotations[crossplane.io/external-name]toFieldPath: spec.forProvider.subnetwork# Max pods per node
- fromFieldPath: spec.parameters.maxPodsPerNodetoFieldPath: spec.forProvider.defaultMaxPodsPerNode# Release channel
- fromFieldPath: spec.parameters.releaseChanneltoFieldPath: spec.forProvider.releaseChannel[0].channel# Tier label region
- fromFieldPath: spec.parameters.tiertoFieldPath: spec.forProvider.resourceLabels[tier]# Role label region
- fromFieldPath: spec.parameters.roletoFieldPath: spec.forProvider.resourceLabels[role]# Environment label region
- fromFieldPath: spec.parameters.environmenttoFieldPath: spec.forProvider.resourceLabels[environment]# Resource label region
- fromFieldPath: spec.parameters.locationtoFieldPath: spec.forProvider.resourceLabels[region]# Use managed resource status
- type: ToCompositeFieldPathfromFieldPath: status.conditions[0].typetoFieldPath: status.status
lastTransitionTime: "2022-06-02T10:09:14Z"
message: |-
observe failed: cannot run refresh: refresh failed: Missing required argument: The argument "enable_components" is required, but no definition was found.: File name: main.tf.json
Missing required argument: The argument "enable_components" is required, but no definition was found.: File name: main.tf.json
What happened?
Creating a cluster using a composition results in a cluster with the wrong defaults being created. It's not possible to delete the cluster without manually fixing the issue.
How can we reproduce it?
XRD
Composition
Claim
Result
What environment did it happen in?
Crossplane version: 1.8.0
Provider version: crossplane/provider-jet-gcp:v0.2.0-preview
Kubernetes version: v1.22.6-gke.300
Kubernetes distribution: GKE
The text was updated successfully, but these errors were encountered: