From 0286224693bd8e252b7fc739f16e157c246021aa Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Fri, 28 Feb 2025 17:19:07 -0500 Subject: [PATCH] Fix failure when VPC CNI is configured to use both iam.withOIDC and useDefaultPodIdentityAssociations This reverts commit be999ef19a353fb28ce436b19535271b9b1f8a16. Signed-off-by: Davanum Srinivas --- pkg/actions/addon/tasks.go | 4 ++-- pkg/ctl/create/cluster.go | 14 +++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pkg/actions/addon/tasks.go b/pkg/actions/addon/tasks.go index 104da28fa6..43143fa5e0 100644 --- a/pkg/actions/addon/tasks.go +++ b/pkg/actions/addon/tasks.go @@ -18,7 +18,7 @@ import ( "github.com/weaveworks/eksctl/pkg/utils/tasks" ) -func CreateAddonTasks(ctx context.Context, cfg *api.ClusterConfig, clusterProvider *eks.ClusterProvider, iamRoleCreator IAMRoleCreator, forceAll bool, timeout time.Duration, region string) (*tasks.TaskTree, *tasks.TaskTree, *tasks.GenericTask, []string) { +func CreateAddonTasks(ctx context.Context, cfg *api.ClusterConfig, clusterProvider *eks.ClusterProvider, iamRoleCreator IAMRoleCreator, podIdentityIAMUpdater PodIdentityIAMUpdater, forceAll bool, timeout time.Duration, region string) (*tasks.TaskTree, *tasks.TaskTree, *tasks.GenericTask, []string) { var addons []*api.Addon var autoDefaultAddonNames []string if !cfg.AddonsConfig.DisableDefaultAddons { @@ -97,7 +97,7 @@ func CreateAddonTasks(ctx context.Context, cfg *api.ClusterConfig, clusterProvid if err := addonManager.waitForAddonToBeActive(ctx, &api.Addon{Name: api.VPCCNIAddon}, api.DefaultWaitTimeout); err != nil { return fmt.Errorf("waiting for %q to become active: %w", api.VPCCNIAddon, err) } - return addonManager.Update(ctx, vpcCNIAddon, nil, clusterProvider.AWSProvider.WaitTimeout()) + return addonManager.Update(ctx, vpcCNIAddon, podIdentityIAMUpdater, clusterProvider.AWSProvider.WaitTimeout()) }, } } diff --git a/pkg/ctl/create/cluster.go b/pkg/ctl/create/cluster.go index 56303e1e11..c63572bb09 100644 --- a/pkg/ctl/create/cluster.go +++ b/pkg/ctl/create/cluster.go @@ -352,7 +352,19 @@ func doCreateCluster(cmd *cmdutils.Cmd, ngFilter *filter.NodeGroupFilter, params ClusterName: cfg.Metadata.Name, StackCreator: stackManager, } - preNodegroupAddons, postAddons, updateVPCCNITask, autoDefaultAddons := addon.CreateAddonTasks(ctx, cfg, ctl, iamRoleCreator, true, cmd.ProviderConfig.WaitTimeout, meta.Region) + piaUpdater := &addon.PodIdentityAssociationUpdater{ + ClusterName: cmd.ClusterConfig.Metadata.Name, + IAMRoleCreator: &podidentityassociation.IAMRoleCreator{ + ClusterName: cmd.ClusterConfig.Metadata.Name, + StackCreator: stackManager, + }, + IAMRoleUpdater: &podidentityassociation.IAMRoleUpdater{ + StackUpdater: stackManager, + }, + EKSPodIdentityDescriber: ctl.AWSProvider.EKS(), + StackDeleter: stackManager, + } + preNodegroupAddons, postAddons, updateVPCCNITask, autoDefaultAddons := addon.CreateAddonTasks(ctx, cfg, ctl, iamRoleCreator, piaUpdater, true, cmd.ProviderConfig.WaitTimeout, meta.Region) if len(autoDefaultAddons) > 0 { logger.Info("default addons %s were not specified, will install them as EKS addons", strings.Join(autoDefaultAddons, ", ")) }