From 01564881d0f4fd2b2c309b6554c952267d3e65ed Mon Sep 17 00:00:00 2001 From: Pahud Hsieh Date: Tue, 6 Aug 2024 19:31:39 +0000 Subject: [PATCH 1/3] gracefully ignore --- .../lib/aws-eks/cluster-resource-handler/cluster.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts index 93a5131ef4707..fdfa385295720 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts @@ -218,6 +218,13 @@ export class ClusterResourceHandler extends ResourceHandler { }; if (updates.updateAuthMode) { + // update-authmode will fail if we try to update to the same mode, + // so skip in this case. + const cluster = (await this.eks.describeCluster({ name: this.clusterName })).cluster; + if (cluster?.accessConfig?.authenticationMode === this.newProps.accessConfig?.authenticationMode) { + console.log(`cluster already at ${cluster?.accessConfig?.authenticationMode}, skipping authMode update`); + return; + } // the update path must be // `undefined or CONFIG_MAP` -> `API_AND_CONFIG_MAP` -> `API` // and it's one way path. From e699880779e889502e45616bad05d0884b6dc817 Mon Sep 17 00:00:00 2001 From: Pahud Hsieh Date: Tue, 6 Aug 2024 21:36:10 +0000 Subject: [PATCH 2/3] minor --- .../aws-eks/cluster-resource-handler/cluster.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts index fdfa385295720..e6763f22ced71 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts @@ -218,13 +218,6 @@ export class ClusterResourceHandler extends ResourceHandler { }; if (updates.updateAuthMode) { - // update-authmode will fail if we try to update to the same mode, - // so skip in this case. - const cluster = (await this.eks.describeCluster({ name: this.clusterName })).cluster; - if (cluster?.accessConfig?.authenticationMode === this.newProps.accessConfig?.authenticationMode) { - console.log(`cluster already at ${cluster?.accessConfig?.authenticationMode}, skipping authMode update`); - return; - } // the update path must be // `undefined or CONFIG_MAP` -> `API_AND_CONFIG_MAP` -> `API` // and it's one way path. @@ -254,6 +247,13 @@ export class ClusterResourceHandler extends ResourceHandler { this.newProps.accessConfig?.authenticationMode === 'API') { throw new Error('Cannot update from CONFIG_MAP to API'); } + // update-authmode will fail if we try to update to the same mode, + // so skip in this case. + const cluster = (await this.eks.describeCluster({ name: this.clusterName })).cluster; + if (cluster?.accessConfig?.authenticationMode === this.newProps.accessConfig?.authenticationMode) { + console.log(`cluster already at ${cluster?.accessConfig?.authenticationMode}, skipping authMode update`); + return; + } config.accessConfig = this.newProps.accessConfig; }; From 91da9b8dfee5d7ca1a4b01a46f409dc65e974bb1 Mon Sep 17 00:00:00 2001 From: Pahud Hsieh Date: Mon, 26 Aug 2024 17:09:00 +0000 Subject: [PATCH 3/3] support try catch --- .../lib/aws-eks/cluster-resource-handler/cluster.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts index e6763f22ced71..8afce971b41a1 100644 --- a/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts +++ b/packages/@aws-cdk/custom-resource-handlers/lib/aws-eks/cluster-resource-handler/cluster.ts @@ -249,10 +249,14 @@ export class ClusterResourceHandler extends ResourceHandler { } // update-authmode will fail if we try to update to the same mode, // so skip in this case. - const cluster = (await this.eks.describeCluster({ name: this.clusterName })).cluster; - if (cluster?.accessConfig?.authenticationMode === this.newProps.accessConfig?.authenticationMode) { - console.log(`cluster already at ${cluster?.accessConfig?.authenticationMode}, skipping authMode update`); - return; + try { + const cluster = (await this.eks.describeCluster({ name: this.clusterName })).cluster; + if (cluster?.accessConfig?.authenticationMode === this.newProps.accessConfig?.authenticationMode) { + console.log(`cluster already at ${cluster?.accessConfig?.authenticationMode}, skipping authMode update`); + return; + } + } catch (e: any) { + throw e; } config.accessConfig = this.newProps.accessConfig; };