From b938df0a5dd9ec714d084ea4e48774d64d5058a3 Mon Sep 17 00:00:00 2001 From: Izaac Zavaleta Date: Wed, 28 Jul 2021 13:34:31 -0700 Subject: [PATCH] tag subnets with cluster name before creating EKS and ELB --- tests/validation/lib/aws.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/validation/lib/aws.py b/tests/validation/lib/aws.py index 41407875201..03b24b18cf2 100644 --- a/tests/validation/lib/aws.py +++ b/tests/validation/lib/aws.py @@ -79,6 +79,13 @@ def __init__(self): aws_secret_access_key=AWS_SECRET_ACCESS_KEY, region_name=AWS_REGION) + self._ec2_resource = boto3.resource( + 'ec2', + aws_access_key_id=AWS_ACCESS_KEY_ID, + aws_secret_access_key=AWS_SECRET_ACCESS_KEY, + region_name=AWS_REGION + ) + self.master_ssh_key = None self.master_ssh_key_path = None @@ -584,6 +591,8 @@ def delete_db(self, db_id): return None def create_eks_cluster(self, name): + for sn in AWS_SUBNETS: + self.set_subnet_tag(sn, name) kubeconfig_path = self.create_eks_controlplane(name) self.create_eks_nodegroup(name, '{}-ng'.format(name)) return kubeconfig_path @@ -643,6 +652,18 @@ def describe_eks_nodegroup(self, cluster_name, nodegroup_name): except ClientError: return None + def set_subnet_tag(self, subnet_id, cluster_name): + subnet = self._ec2_resource.Subnet(subnet_id) + cluster_tag = 'kubernetes.io/cluster/{0}'.format(cluster_name) + subnet.create_tags( + Tags=[ + { + 'Key': cluster_tag, + 'Value': 'shared' + } + ] + ) + def wait_for_eks_cluster_state(self, name, target_state, timeout=1200): start = time.time() cluster = self.describe_eks_cluster(name)['cluster']