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']