gruntwork-io / kubergrunt

Kubergrunt is a standalone go binary with a collection of commands to fill in the gaps between Terraform, Helm, and Kubectl. https://www.gruntwork.io
Apache License 2.0
518 stars 88 forks source link

Error Code: TOO_MANY_EKS_BUILD_TAGS #227

Closed goreddy1410 closed 8 months ago

goreddy1410 commented 8 months ago

Describe the bug We have tried to upgrade EKS version from 1.23 to 1.24 and we found below error.

module.eks_cluster.null_resource.sync_core_components[0] (local-exec): [] time="2024-03-03T06:47:14Z" level=info msg="Successfully retrieved EKS cluster details" name=kubergrunt module.eks_cluster.null_resource.sync_core_components[0] (local-exec): ERROR: You reached a point in kubergrunt that should not happen and is almost certainly a bug. Please open a GitHub issue on https://github.com/gruntwork-io/kubergrunt/issues with the contents of this error message. Code: TOO_MANY_EKS_BUILD_TAGS module.eks_core_workers.aws_security_group.eks_worker[0]: Creation complete after 1s [id=sg-0469197388ed79908] aws_security_group_rule.allow_inbound_from_anywhere_for_core: Creating... aws_security_group_rule.allow_all_core: Creating...

To Reproduce Steps to reproduce the behavior including the relevant Terraform/Terragrunt/Packer version number and any code snippets and module inputs you used.

We are trying to perform an EKS upgrade from v1.23 to v1.24 by using the terraform-aws-eks/modules/eks-cluster-control-plane Gruntwork module and we got that error when creating the null_resource.sync_core_components[0]

Terrform version: 1.2.8 Terragrunt version : 0.38.9 terraform-aws-eks/modules/eks-cluster-control-plane version: 0.55.2

// paste code snippets here

Expected behavior We have updated the version of the Kubergrunt in find_and_run_kubergrunt.py file minimum_kubergrunt_version to v0.13.1 Still we are observing the same error.

Nice to have

Additional context Add any other context about the problem here.

goreddy1410 commented 8 months ago

Hi , can anyone help us fix this issue .. we are stuck the the EKS upgrade. We have so far upgraded the terraform and terragrunt version to the latest and tried to upgrade the EKS , bit it still fails with the same error.

josh-padnick commented 8 months ago

@ryehowell @mateimicu Could one of you help out on this ticket?

ryehowell commented 8 months ago

Hi @goreddy1410, thanks for opening this Issue! This is a known issue and a fix has already been released. Here is the relevant Issue/PR #214 .

The fix was released in kubergrunt version v0.13.1.

Updating kubergrunt to v0.13.1 or later should resolve the issue. Can you try updating and then follow up to confirm?

goreddy1410 commented 8 months ago

Hi @ryehowell , We have updated the version of the Kubergrunt in find_and_run_kubergrunt.py file minimum_kubergrunt_version to v0.13.1but still we are observing the same error. Could you please help with the other steps. Thanks

ryehowell commented 8 months ago

Hi @goreddy1410,

If you are still seeing this issue, it might be that the module is actually using a binary that it downloads during execution and places in the eks-control-plane module directory. If that exists, the module will prefer using that one instead of what is installed on the system itself. This might need to be cleaned up depending on how the module is being deployed. Could you check to see if there is a kubergrunt binary in the modules/eks-control-plane/kubergrunt-installation/ directory on the machine that is executing the code from? If so, you can delete that binary OR upgrade that binary to v0.13.1 . If you delete it, you will just need to make sure kubergrunt is installed on the system and on the PATH so the executable can be found.

ryehowell commented 8 months ago

Hi @ryehowell , We have updated the version of the Kubergrunt in find_and_run_kubergrunt.py file minimum_kubergrunt_version to v0.13.1but still we are observing the same error. Could you please help with the other steps. Thanks

You should not need to make any changes to the find_and_run_kubergrunt.py script as an FYI.

goreddy1410 commented 8 months ago

Hi @goreddy1410,

If you are still seeing this issue, it might be that the module is actually using a binary that it downloads during execution and places in the eks-control-plane module directory. If that exists, the module will prefer using that one instead of what is installed on the system itself. This might need to be cleaned up depending on how the module is being deployed. Could you check to see if there is a kubergrunt binary in the modules/eks-control-plane/kubergrunt-installation/ directory on the machine that is executing the code from? If so, you can delete that binary OR upgrade that binary to v0.13.1 . If you delete it, you will just need to make sure kubergrunt is installed on the system and on the PATH so the executable can be found.

As , suggested we have checked the kubergrunt version and found it was at v0.11.1. So we have manually downloaded the Kubergrunt version v0.13.1 and deleted the old version and made necessary changes.

Later re-ran our Jenkins job , it was successful.

ryehowell commented 8 months ago

Hi @goreddy1410, thank you for following up! I'm glad that this was able to get resolved. I'll go ahead and close out this Issue now. Cheers!