-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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
eks_node_group unable to update version of workers #12675
Comments
Hi folks 👋 Is this issue still reproducible? I just tried replicating it today between 1.15 and 1.16 where Terraform submitted the following request, which oddly enough upgraded just fine:
Note that the EKS API automatically fixed the |
…degroupVersion if changed Reference: #12675 It was expected to see an error similar to the issue report about the incompatible update and Terraform was previously submitting the state value for `release_version`, however the EKS API as of today was automatically fixing the incorrect value instead of returning an error. The resource change is to ensure that we will only submit correct API parameters should the API return errors for this situation in the future again. Output from acceptance testing: ``` --- PASS: TestAccAWSEksNodeGroup_disappears (1356.93s) --- PASS: TestAccAWSEksNodeGroup_InstanceTypes (1519.46s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MaxSize (1540.56s) --- PASS: TestAccAWSEksNodeGroup_DiskSize (1550.40s) --- PASS: TestAccAWSEksNodeGroup_basic (1581.83s) --- PASS: TestAccAWSEksNodeGroup_AmiType (1591.47s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_SourceSecurityGroupIds (1602.60s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_DesiredSize (1632.41s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MinSize (1683.52s) --- PASS: TestAccAWSEksNodeGroup_Tags (1712.30s) --- PASS: TestAccAWSEksNodeGroup_Labels (1765.19s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_Ec2SshKey (1767.20s) --- PASS: TestAccAWSEksNodeGroup_ReleaseVersion (2853.92s) --- PASS: TestAccAWSEksNodeGroup_Version (3045.62s) ```
…degroupVersion if changed (#13407) Reference: #12675 It was expected to see an error similar to the issue report about the incompatible update and Terraform was previously submitting the state value for `release_version`, however the EKS API as of today was automatically fixing the incorrect value instead of returning an error. The resource change is to ensure that we will only submit correct API parameters should the API return errors for this situation in the future again. Output from acceptance testing: ``` --- PASS: TestAccAWSEksNodeGroup_disappears (1356.93s) --- PASS: TestAccAWSEksNodeGroup_InstanceTypes (1519.46s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MaxSize (1540.56s) --- PASS: TestAccAWSEksNodeGroup_DiskSize (1550.40s) --- PASS: TestAccAWSEksNodeGroup_basic (1581.83s) --- PASS: TestAccAWSEksNodeGroup_AmiType (1591.47s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_SourceSecurityGroupIds (1602.60s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_DesiredSize (1632.41s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MinSize (1683.52s) --- PASS: TestAccAWSEksNodeGroup_Tags (1712.30s) --- PASS: TestAccAWSEksNodeGroup_Labels (1765.19s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_Ec2SshKey (1767.20s) --- PASS: TestAccAWSEksNodeGroup_ReleaseVersion (2853.92s) --- PASS: TestAccAWSEksNodeGroup_Version (3045.62s) ```
As mentioned above, the EKS API may be allowing the previously incorrect behavior of the resource, but we have now also merged the fix to only submit the ReleaseVersion during the UpdateNodegroupVersion API call when its value has changed. This fix will release in version 2.63.0 of the Terraform AWS Provider, likely tomorrow. 👍 |
This has been released in version 2.63.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks! |
…degroupVersion if changed (hashicorp#13407) Reference: hashicorp#12675 It was expected to see an error similar to the issue report about the incompatible update and Terraform was previously submitting the state value for `release_version`, however the EKS API as of today was automatically fixing the incorrect value instead of returning an error. The resource change is to ensure that we will only submit correct API parameters should the API return errors for this situation in the future again. Output from acceptance testing: ``` --- PASS: TestAccAWSEksNodeGroup_disappears (1356.93s) --- PASS: TestAccAWSEksNodeGroup_InstanceTypes (1519.46s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MaxSize (1540.56s) --- PASS: TestAccAWSEksNodeGroup_DiskSize (1550.40s) --- PASS: TestAccAWSEksNodeGroup_basic (1581.83s) --- PASS: TestAccAWSEksNodeGroup_AmiType (1591.47s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_SourceSecurityGroupIds (1602.60s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_DesiredSize (1632.41s) --- PASS: TestAccAWSEksNodeGroup_ScalingConfig_MinSize (1683.52s) --- PASS: TestAccAWSEksNodeGroup_Tags (1712.30s) --- PASS: TestAccAWSEksNodeGroup_Labels (1765.19s) --- PASS: TestAccAWSEksNodeGroup_RemoteAccess_Ec2SshKey (1767.20s) --- PASS: TestAccAWSEksNodeGroup_ReleaseVersion (2853.92s) --- PASS: TestAccAWSEksNodeGroup_Version (3045.62s) ```
I thought I had this issue in 2.64.0 but it turned out I had 2.60.0 cached and that was where I experienced the issue. I was able to upgrade fine with 2.64.0 |
AWS provider 2.64.0 also has the same issue. |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks! |
Community Note
Terraform Version
0.11.14
Affected Resource(s)
Terraform Configuration Files
Debug Output
Expected Behavior
Terraform should have performed a rolling update of the worker nodes to the new matching AMI for 1.15 following pod disruption budgets
Actual Behavior
Terraform failed to update the nodes because the old 1.14.7-20190927 AMI release_version attribute got auto added to the terraform state by the provider when the cluster was deployed with k8s 1.14
Steps to Reproduce
Important Factoids
Cluster was previously deployed using managed workers at 1.14 without setting a 'version' or 'release_verison' attribute.
References
The text was updated successfully, but these errors were encountered: