Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cloud_governance/main/environment_variables.py
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,7 @@ def environment_variables_dict(self):


environment_variables = EnvironmentVariables()

# env vars examples
# os.environ['AWS_DEFAULT_REGION'] = 'us-east-2'
# os.environ['AWS_DEFAULT_REGION'] = 'all'
Expand Down
2 changes: 1 addition & 1 deletion cloud_governance/policy/aws/zombie_cluster_resource.py
Original file line number Diff line number Diff line change
Expand Up @@ -983,5 +983,5 @@ def zombie_cluster_s3_bucket(self, cluster_stamp: str = 'image-registry'):

return zombies, cluster_left_out_days

# zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=False, region='us-east-2')
# zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=False, region='us-east-2')
# print(zombie_cluster_resources.zombie_cluster_subnet())
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def tag_cluster_resource(cluster_name: str = '', mandatory_tags: dict = None, re
else:
action = 'read'
dry_run = 'yes'
tag_cluster_resources = TagClusterResources(cluster_prefix='kubernetes.io/cluster/', cluster_name=cluster_name,
tag_cluster_resources = TagClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], cluster_name=cluster_name,
input_tags=mandatory_tags, region=region, dry_run=dry_run, cluster_only=cluster_only)

func_resource_list = [tag_cluster_resources.cluster_instance,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class TagClusterResources(TagClusterOperations):
SHORT_ID = 5
NA_VALUE = 'NA'

def __init__(self, cluster_name: str = None, cluster_prefix: str = None, input_tags: dict = None,
def __init__(self, cluster_name: str = None, cluster_prefix: list = None, input_tags: dict = None,
region: str = 'us-east-2', dry_run: str = 'yes', cluster_only: bool = False):
super().__init__(cluster_name=cluster_name, cluster_prefix=cluster_prefix, input_tags=input_tags, region=region,
dry_run=dry_run, cluster_only=cluster_only)
Expand Down Expand Up @@ -63,7 +63,7 @@ def __add_cluster_id_tag(self, tags: list):
if tag.get('Key') == 'api.openshift.com/name':
cluster_name = tag['Value']
else:
if not cluster_name and self.cluster_prefix in tag.get('Key'):
if not cluster_name and any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
cluster_name = tag['Key']
if cluster_name:
# cluster_name = cluster_id
Expand All @@ -85,7 +85,7 @@ def __check_name_in_tags(self, tags: list, resource_id: str):
found = True
break
for tag in tags:
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
cluster_name = tag['Key']
break
if not found:
Expand All @@ -106,8 +106,8 @@ def __get_cluster_tags_by_instance_cluster(self, cluster_name: str):
for item in instance:
if item.get('Tags'):
for tag in item.get('Tags'):
if self.cluster_prefix in tag.get('Key'):
if tag.get('Key') == cluster_name:
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
if cluster_name in tag.get('Key'):
i_tags = [instance_tag for instance_tag in item.get('Tags') if
instance_tag.get('Key') != 'Name']
return [i_tag for i_tag in i_tags if i_tag.get('Key') != cluster_name]
Expand Down Expand Up @@ -149,7 +149,7 @@ def __generate_cluster_resources_list_by_tag(self, resources_list: list, input_r
# search that not exist permanent tags in the resource
if not self.__validate_existing_tag(resource.get(tags)):
for tag in resource[tags]:
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
if tag.get('Key') not in cluster_tags:
cluster_tags[tag.get('Key')] = []
cluster_ids[tag.get('Key')] = []
Expand Down Expand Up @@ -195,7 +195,7 @@ def __generate_cluster_resources_list_by_vpc(self, resources_list: list, input_r
all_tags.extend(vpc_data.get(vpc_id))
all_tags = self.__check_name_in_tags(tags=all_tags, resource_id=resource_id)
all_tags = self.__filter_resource_tags_by_add_tags(resource.get('Tags'), all_tags)
cluster_tag = [tag for tag in vpc_data.get(vpc_id) if self.cluster_prefix in tag.get('Key')]
cluster_tag = [tag for tag in vpc_data.get(vpc_id, []) if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix)]
if all_tags:
if self.cluster_name:
if self.cluster_name in cluster_tag[0].get('Key'):
Expand Down Expand Up @@ -224,7 +224,7 @@ def __scan_resource_for_cluster_fullname(self, resources_list: list, tags: str =
for resource in resources_list:
if resource.get(tags):
for tag in resource[tags]:
if tag['Key'].startswith(f'{self.cluster_prefix}{self.cluster_name}'):
if any(tag['Key'].startswith(f"{prefix}/{self.cluster_name}") for prefix in self.cluster_prefix):
return tag['Key']
return ''

Expand Down Expand Up @@ -284,7 +284,7 @@ def update_cluster_tags(self, resources: list):
# search that not exist permanent tags in the resource
if not self.__validate_existing_tag(tags):
for tag in tags:
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
add_tags = self.__append_input_tags()
add_tags.append(tag)
cluster_name = tag.get('Key').split('/')[-1]
Expand Down Expand Up @@ -472,7 +472,7 @@ def cluster_load_balancer(self):
if item.get('Tags'):
if not self.__validate_existing_tag(item.get('Tags')):
for tag in item['Tags']:
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
all_tags = []
instance_tags = self.__get_cluster_tags_by_instance_cluster(cluster_name=tag.get('Key'))
if not instance_tags:
Expand Down Expand Up @@ -520,7 +520,7 @@ def cluster_load_balancer_v2(self):
if item.get('Tags'):
if not self.__validate_existing_tag(item.get('Tags')):
for tag in item['Tags']:
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
all_tags = []
instance_tags = self.__get_cluster_tags_by_instance_cluster(cluster_name=tag.get('Key'))
if not instance_tags:
Expand Down Expand Up @@ -576,7 +576,7 @@ def get_cluster_vpc(self):
for vpc in vpcs_data:
if vpc.get('Tags'):
for tag in vpc.get('Tags'):
if self.cluster_prefix in tag.get('Key'):
if any(prefix in tag.get('Key', '') for prefix in self.cluster_prefix):
vpc_ids[vpc.get('VpcId')] = [tag for tag in vpc.get('Tags') if tag.get('Key') != 'Name']
break
return vpc_ids
Expand Down Expand Up @@ -688,7 +688,7 @@ def cluster_role(self, cluster_names: list = []):
role_data = role['Role']
all_tags = []
instance_tags = self.__get_cluster_tags_by_instance_cluster(
cluster_name=f'{self.cluster_prefix}{cluster_key}')
cluster_name=cluster_key)
if not instance_tags:
all_tags = self.__append_input_tags(role_data.get('Tags'))
else:
Expand Down Expand Up @@ -738,7 +738,7 @@ def cluster_user(self, cluster_names: list = []):
if cluster_name in tag['Key']:
all_tags = []
instance_tags = self.__get_cluster_tags_by_instance_cluster(
cluster_name=f'{self.cluster_prefix}{cluster_name}')
cluster_name=cluster_name)
if not instance_tags:
all_tags = self.__append_input_tags(data.get('Tags'))
all_tags.extend(instance_tags)
Expand Down Expand Up @@ -822,7 +822,7 @@ def cluster_s3_bucket(self, cluster_names: list = []):
if not self.__validate_existing_tag(bucket_tags):
add_tags = []
instance_tags = self.__get_cluster_tags_by_instance_cluster(
cluster_name=f'{self.cluster_prefix}{cluster_name}')
cluster_name=cluster_name)
if not instance_tags:
add_tags = self.__append_input_tags(bucket_tags)
add_tags.extend(instance_tags)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_ec2_zombie_vpc_exists():
:return:
"""
create_vpc()
zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=False,
zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=False,
cluster_tag='kubernetes.io/cluster/integration-test-cluster',
region='us-east-2',
resource_name='zombie_cluster_vpc')
Expand All @@ -38,7 +38,7 @@ def test_ec2_zombie_vpc_delete():
This method tests the zombie vpc delete
:return:
"""
zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=True,
zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=True,
cluster_tag='kubernetes.io/cluster/integration-test-cluster',
region='us-east-2',
resource_name='zombie_cluster_vpc', force_delete=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
# ]
# try:
# iam_resource.create_user(UserName=USER_NAME, Tags=tags)
# zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=False,
# zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=False,
# cluster_tag=f'kubernetes.io/cluster/{USER_NAME}',
# resource_name='zombie_cluster_user', force_delete=True)
# assert len(zombie_cluster_resources.zombie_cluster_user()) >= 1
# zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=True,
# zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=True,
# cluster_tag=f'kubernetes.io/cluster/{USER_NAME}',
# resource_name='zombie_cluster_user', force_delete=True)
# zombie_cluster_resources.zombie_cluster_user()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def test_s3_zombie_bucket_exists():
:return:
"""
create_s3_bucket()
zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=True,
zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=True,
cluster_tag=f'kubernetes.io/cluster/{BUCKET_NAME}',
resource_name='zombie_cluster_s3_bucket', force_delete=True)

Expand All @@ -54,7 +54,7 @@ def test_s3_zombie_bucket_delete():
This method delete the s3 zombie bucket
:return:
"""
zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=True,
zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=True,
cluster_tag=f'kubernetes.io/cluster/{BUCKET_NAME}',
resource_name='zombie_cluster_s3_bucket', force_delete=True)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from cloud_governance.policy.policy_operations.aws.tag_cluster.tag_cluster_resouces import TagClusterResources

cluster_prefix = 'kubernetes.io/cluster/'
cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"]
cluster_name = ''
# cluster_name = 'ocs-test-jlhpd'
# cluster_name = 'opc464-k7jml'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# TEST DRY RUN: delete=False
from cloud_governance.policy.aws.zombie_cluster_resource import ZombieClusterResources

zombie_cluster_resources = ZombieClusterResources(cluster_prefix='kubernetes.io/cluster/', delete=False,
zombie_cluster_resources = ZombieClusterResources(cluster_prefix=["kubernetes.io/cluster", "sigs.k8s.io/cluster-api-provider-aws/cluster"], delete=False,
region='us-east-2')


Expand Down
Loading