While applying some changes to a stack containing ...
# general
While applying some changes to a stack containing an eks cluster, I've hit the following:
Copy code
stack:Stack::cluster-nodes: UPDATE_ROLLBACK_COMPLETE: ["The requested instance type's architecture (x86_64) does not match the architecture in the manifest for ami-0deb321f7b1c07d4c (arm64). Launching EC2 instance failed."]
The stack usually applies cleanly, and the changes were not directly related to the eks config. I have noted that randomly the ami for nodes in the eks cluster have updated when I've done a
pulumi up
- although a little disconcerting, I haven't worried about it - but now it's selected an invalid ami (it's not clear when / how it looks this up) and won't update. I don't see any way to lock this down to only change when explicitly updated. Has anyone else run into the error above?
A workaround - and in fact best practice guidance - is to specify the AMI you want to use explicity so that you don't pick up new AMI versions automatically. That said - we should definitely not be selecting ARM versions by default. I see we just opened https://github.com/pulumi/pulumi-eks/issues/110 to track fixing this.
Ah - great thanks. I initially missed the nodeAmiId property. Great to see that issue was found / raised at the same time 🙂
Unfortunately due to the cloudformation rollback, the stack state is out of whack and won't update(tries to delete a launch config that is still in use). I tried a
, but that didn't help. I guess the only way is to export/import the stack state and try fix it manually.
Ok - sorted by manually duplicating the in-use launch config and assigning the copy to the auto scale group, then pulumi could delete the old and move on.