From 1ccea48a2fa99e4c338161f6dd28bf38243d790d Mon Sep 17 00:00:00 2001 From: Xiaochu Liu Date: Thu, 7 Aug 2025 05:29:03 +0000 Subject: [PATCH 1/5] Add a flag to support cloud DNS --- src/xpk/commands/cluster.py | 3 +++ src/xpk/parser/cluster.py | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/xpk/commands/cluster.py b/src/xpk/commands/cluster.py index 2b93c0daf..794ab09b2 100644 --- a/src/xpk/commands/cluster.py +++ b/src/xpk/commands/cluster.py @@ -1131,6 +1131,9 @@ def run_gke_cluster_create_command( if args.enable_workload_identity or args.enable_gcsfuse_csi_driver: command += f' --workload-pool={args.project}.svc.id.goog' + if args.cloud_dns: + command += f' --cluster-dns=clouddns' + addons = [] if args.enable_gcsfuse_csi_driver: addons.append('GcsFuseCsiDriver') diff --git a/src/xpk/parser/cluster.py b/src/xpk/parser/cluster.py index 274b20bc0..ee546d4bf 100644 --- a/src/xpk/parser/cluster.py +++ b/src/xpk/parser/cluster.py @@ -715,6 +715,11 @@ def add_shared_cluster_create_optional_arguments(parser: ArgumentParser): action='store_true', help='Enable Workload Identity Federation on the cluster and node-pools.', ) + parser.add_argument( + '--cloud-dns', + action='store_true', + help='Enable Cloud DNS on the cluster and node-pools.', + ) add_driver_arguments(parser) From ec5f9edb2d807fc0e302347df51e8213e19145ae Mon Sep 17 00:00:00 2001 From: Xiaochu Liu Date: Thu, 7 Aug 2025 05:44:26 +0000 Subject: [PATCH 2/5] fix flag name --- src/xpk/commands/cluster.py | 2 +- src/xpk/parser/cluster.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xpk/commands/cluster.py b/src/xpk/commands/cluster.py index 794ab09b2..b6c033bf5 100644 --- a/src/xpk/commands/cluster.py +++ b/src/xpk/commands/cluster.py @@ -1131,7 +1131,7 @@ def run_gke_cluster_create_command( if args.enable_workload_identity or args.enable_gcsfuse_csi_driver: command += f' --workload-pool={args.project}.svc.id.goog' - if args.cloud_dns: + if args.enable_cloud_dns: command += f' --cluster-dns=clouddns' addons = [] diff --git a/src/xpk/parser/cluster.py b/src/xpk/parser/cluster.py index ee546d4bf..d9b90ecec 100644 --- a/src/xpk/parser/cluster.py +++ b/src/xpk/parser/cluster.py @@ -716,7 +716,7 @@ def add_shared_cluster_create_optional_arguments(parser: ArgumentParser): help='Enable Workload Identity Federation on the cluster and node-pools.', ) parser.add_argument( - '--cloud-dns', + '--enable-cloud-dns', action='store_true', help='Enable Cloud DNS on the cluster and node-pools.', ) From 8804fc23d01c6c551903907da4ea0a5a82297dcf Mon Sep 17 00:00:00 2001 From: Xiaochu Liu Date: Thu, 7 Aug 2025 06:02:58 +0000 Subject: [PATCH 3/5] skip core DNS when cloud dns is enabled --- src/xpk/commands/cluster.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xpk/commands/cluster.py b/src/xpk/commands/cluster.py index b6c033bf5..e13b3f0ea 100644 --- a/src/xpk/commands/cluster.py +++ b/src/xpk/commands/cluster.py @@ -953,7 +953,10 @@ def update_coredns_if_necessary(args) -> int: 0 if successful (CoreDNS was already present or successfully deployed), and 1 otherwise. """ - if coredns_deployment_exists(args, namespace='kube-system'): + if args.enable_cloud_dns: + xpk_print('Skipping CoreDNS deployment since Cloud DNS is enabled.') + return 0 + elif coredns_deployment_exists(args, namespace='kube-system'): xpk_print('Skipping CoreDNS deployment since it already exists.') return 0 else: From 6a62a34379dfeefef97cd35329b0a5947674d903 Mon Sep 17 00:00:00 2001 From: Xiaochu Liu Date: Thu, 7 Aug 2025 18:17:35 +0000 Subject: [PATCH 4/5] reuse custom cluster arguments isnteead --- src/xpk/commands/cluster.py | 5 +---- src/xpk/parser/cluster.py | 5 ----- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/xpk/commands/cluster.py b/src/xpk/commands/cluster.py index e13b3f0ea..b77f13555 100644 --- a/src/xpk/commands/cluster.py +++ b/src/xpk/commands/cluster.py @@ -953,7 +953,7 @@ def update_coredns_if_necessary(args) -> int: 0 if successful (CoreDNS was already present or successfully deployed), and 1 otherwise. """ - if args.enable_cloud_dns: + if '--cluster-dns=clouddns' in args.custom_cluster_arguments: xpk_print('Skipping CoreDNS deployment since Cloud DNS is enabled.') return 0 elif coredns_deployment_exists(args, namespace='kube-system'): @@ -1134,9 +1134,6 @@ def run_gke_cluster_create_command( if args.enable_workload_identity or args.enable_gcsfuse_csi_driver: command += f' --workload-pool={args.project}.svc.id.goog' - if args.enable_cloud_dns: - command += f' --cluster-dns=clouddns' - addons = [] if args.enable_gcsfuse_csi_driver: addons.append('GcsFuseCsiDriver') diff --git a/src/xpk/parser/cluster.py b/src/xpk/parser/cluster.py index d9b90ecec..274b20bc0 100644 --- a/src/xpk/parser/cluster.py +++ b/src/xpk/parser/cluster.py @@ -715,11 +715,6 @@ def add_shared_cluster_create_optional_arguments(parser: ArgumentParser): action='store_true', help='Enable Workload Identity Federation on the cluster and node-pools.', ) - parser.add_argument( - '--enable-cloud-dns', - action='store_true', - help='Enable Cloud DNS on the cluster and node-pools.', - ) add_driver_arguments(parser) From 824f6b15d333050faf179e46c08bfdd13f8dc0ee Mon Sep 17 00:00:00 2001 From: Xiaochu Liu Date: Thu, 7 Aug 2025 09:53:42 +0000 Subject: [PATCH 5/5] Update CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 47feda594..f6af5039d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ -* @Obliviour @44past4 @sharabiani @pawloch00 @BluValor @gcie @RoshaniN +* @Obliviour @44past4 @sharabiani @pawloch00 @BluValor @gcie @RoshaniN @scaliby @jamOne- @SikaGrr @FIoannides @fatoshoti slice/ @mwysokin @mimowo @gabesaba @PBundyra @mwielgus @pajakd \ No newline at end of file