aws / aws/eks-anywhere

Properly handle vSphere thumbprint updates

Open
#8,043 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
2.1k
Forks
328
Avg merge
1d 4h
Merged PRs (30d)
9

Description

After user rotates vCenter server certificate, the thumbprint also changes. It's required to run EKS-A upgrade to update the existing clusters to use the latest thumbprint or machines cannot be created or rotated. There is a race condition in current EKS-A cluster controller where during a management cluster upgrade with new thumbprint, the `vspheredatacenter` reconciler might alter the thumbprint to the old one as specified in the workload cluster's datacenterconfig (since the workload cluster is not updated with new thumbprint yet). This causes thumbprint mismatch error during management cluster upgrade when it validates the datacenter connectivity.

The current workaround stated in https://github.com/aws/eks-anywhere/issues/8042 requires both management and workload clusters to be updated with new thumbprint at the same time to bypass the issue.

We need to figure out a robust solution to handle thumbprint update, where a user should be able to
1. update the management cluster with new thumbprint separate from workload cluster upgrade
2. both CLI and kubectl upgrade should work with thumbprint
3. no controller(s) needed to be restarted during upgrade

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked workaround in issue #8042 and trace the vSphere datacenter reconciler behavior described here. The issue does not name files or tests; first locate how the management and workload cluster thumbprints are read during upgrade. Done means thumbprints can be updated independently through both CLI and kubectl without restarting controllers.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.