-
Notifications
You must be signed in to change notification settings - Fork 138
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
[Bug]: NodeGroup MR is marked READY=true even if readinessCheck has not been satisfied #1228
Comments
Hi @adamhouse, Thank you for raising this issue, could you please try with provider version |
@turkenf I'm still seeing the same behavior on provider version My NodeGroup as defined in my Composition: - name: eks-worker
base:
apiVersion: eks.aws.upbound.io/v1beta1
kind: NodeGroup
spec:
deletionPolicy: Delete
forProvider:
amiType: AL2_x86_64
clusterNameSelector:
matchControllerRef: true
matchLabels:
name: cluster-main
policy:
resolution: Required
resolve: Always
nodeRoleArnSelector:
matchControllerRef: true
matchLabels:
name: worker-role
policy:
resolution: Required
resolve: Always
scalingConfig:
- desiredSize: 3
maxSize: 3
minSize: 1
patches:
- type: PatchSet
patchSetName: aws-pc
- type: PatchSet
patchSetName: region
- type: FromCompositeFieldPath
fromFieldPath: spec.vpcConfig.subnets
toFieldPath: spec.forProvider.subnetIds
- type: FromCompositeFieldPath
fromFieldPath: status.worker.launchTemplate.id
toFieldPath: spec.forProvider.launchTemplate[0].id
policy:
fromFieldPath: Required
- type: FromCompositeFieldPath
fromFieldPath: status.worker.launchTemplate.version
toFieldPath: spec.forProvider.launchTemplate[0].version
policy:
fromFieldPath: Required
transforms:
- convert:
toType: string
type: convert
- type: ToCompositeFieldPath
fromFieldPath: status.atProvider.status
toFieldPath: status.worker.status
readinessChecks:
- type: MatchString
fieldPath: status.atProvider.status
matchString: ACTIVE The corresponding Managed Resource:
The MR's
amiType: AL2_x86_64
arn: <REMOVED>
capacityType: ON_DEMAND
clusterName: vpc-cni-ue1-sbx
diskSize: 0
id: vpc-cni-ue1-sbx:vpc-cni-ue1-9c7t5-sq5nk
launchTemplate:
id: lt-0d97494af0df766d2
name: terraform-20240628142005627000000003
version: "1"
nodeRoleArn: <REMOVED>
releaseVersion: 1.29.3-20240625
scalingConfig:
desiredSize: 3
maxSize: 3
minSize: 1
status: CREATING
subnetIds:
- <REMOVED>
- <REMOVED>
- <REMOVED>
tags:
crossplane-kind: nodegroup.eks.aws.upbound.io
crossplane-name: vpc-cni-ue1-9c7t5-sq5nk
crossplane-providerconfig: vpc-cni-ue1-9c7t5-pmrlf
tagsAll:
crossplane-kind: nodegroup.eks.aws.upbound.io
crossplane-name: vpc-cni-ue1-9c7t5-sq5nk
crossplane-providerconfig: vpc-cni-ue1-9c7t5-pmrlf
updateConfig:
maxUnavailable: 1
maxUnavailablePercentage: 0
version: "1.29" Note the value of |
This provider repo does not have enough maintainers to address every issue. Since there has been no activity in the last 90 days it is now marked as |
/fresh bump |
I'm seeing this problem on 1.11.0 and I would expect that the |
Based on my understanding I think this is a mismatch in what TF gives back, when it gives it back and Crossplane. I've seen this on Cloudfront distributions. https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/eks/node_group.go#L709-L728 is called and I think Crossplane isn't actually accounting for the status that actually matters (which for nodegroup isn't the readiness it is the status TF gives). However I do think it brings up the interesting conversation if we see this problem with several resources does it just make sense to be able to implement a custom ready/health check for a resource |
It's interesting that the |
This provider repo does not have enough maintainers to address every issue. Since there has been no activity in the last 90 days it is now marked as |
/fresh |
Is there an existing issue for this?
Affected Resource(s)
eks.aws.upbound.io/v1beta1 -- NodeGroup
Resource MRs required to reproduce the bug
Steps to Reproduce
If access permits, throttle API requests to IAM in the AWS account you're testing in. This should cause the NodeGroup creation to fail.
What happened?
If AWS is unable to successfully create the NodeGroup above (resulting in a status of
CREATE_FAILED
on the AWS side that is passed to the resource atstatus.atProvider.status
) Crossplane still marks the MR as READY=true despite a readinessCheck to explicitly match stringACTIVE
.Relevant Error Output Snippet
Example MR.
Resource marked as READY=true
9:09:27 ~ kg nodegroup tgplat-sbx-4-bjfqh-mcxhq NAME READY SYNCED EXTERNAL-NAME AGE tgplat-sbx-4-bjfqh-mcxhq True True tgplat-sbx-4-bjfqh-mcxhq 9m19s
Value of
status.atProvider.status
!=ACTIVE
as defined by readinessCheck.Crossplane Version
v1.15.0-up.1
Provider Version
v1.1.0
Kubernetes Version
v1.28.6-eks-508b6b3
Kubernetes Distribution
EKS
Additional Info
No response
The text was updated successfully, but these errors were encountered: