From bb81903c57920d4d845d6f38b161f388149d11d9 Mon Sep 17 00:00:00 2001 From: ImMin5 Date: Wed, 13 Sep 2023 19:28:20 +0900 Subject: [PATCH 1/4] feat: add debug code (#57) Signed-off-by: ImMin5 --- pkg/pip_requirements.txt | 3 ++- .../manager/storage_accounts/instance_manager.py | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/pip_requirements.txt b/pkg/pip_requirements.txt index 54069794..fad8fcde 100644 --- a/pkg/pip_requirements.txt +++ b/pkg/pip_requirements.txt @@ -16,4 +16,5 @@ azure-keyvault-secrets azure-mgmt-rdbms azure-mgmt-cosmosdb azure-mgmt-containerinstance -azure-mgmt-webpubsub \ No newline at end of file +azure-mgmt-webpubsub +pympler \ No newline at end of file diff --git a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py index ffe4e23d..4e74d057 100644 --- a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py +++ b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py @@ -1,6 +1,8 @@ import datetime -import time import logging +import time + +from pympler import asizeof from spaceone.inventory.libs.manager import AzureManager from spaceone.inventory.libs.schema.base import ReferenceModel from spaceone.inventory.connector.storage_accounts import StorageAccountsConnector @@ -93,9 +95,10 @@ def collect_cloud_service(self, params): 'instance_type': storage_account_data.sku.tier }) + _LOGGER.debug(f'[collect_cloud_service] {storage_account_id} size : {asizeof.asizeof(storage_account_resource)} bytes') + # Must set_region_code method for region collection self.set_region_code(storage_account_data['location']) - # _LOGGER.debug(f'[STORAGE ACCOUNT INFO] {storage_account_resource.to_primitive()}') storage_account_responses.append(StorageAccountResponse({'resource': storage_account_resource})) except Exception as e: @@ -103,6 +106,7 @@ def collect_cloud_service(self, params): error_resource_response = self.generate_resource_error_response(e, 'Storage', 'StorageAccount', storage_account_id) error_responses.append(error_resource_response) + _LOGGER.debug(f'[collect_cloud_service] storage_account_responses size : {asizeof.asizeof(storage_account_responses)} bytes') _LOGGER.debug(f'** Storage Account Finished {time.time() - start_time} Seconds **') return storage_account_responses, error_responses From af27417a85100966f8401d8f3fa9ac45a0ff389e Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 13 Sep 2023 10:42:44 +0000 Subject: [PATCH 2/4] [CI/CD] release version v1.6.16 --- src/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/VERSION b/src/VERSION index e37c450d..3798209d 100644 --- a/src/VERSION +++ b/src/VERSION @@ -1 +1 @@ -v1.6.15 +v1.6.16 From 008f6a4af5d69a576d681d3ba46015456f23db30 Mon Sep 17 00:00:00 2001 From: ImMin5 Date: Thu, 14 Sep 2023 14:15:19 +0900 Subject: [PATCH 3/4] feat: remove blob container info (#57) Signed-off-by: ImMin5 --- .../storage_accounts/instance_manager.py | 19 +++++++++---- .../model/storage_accounts/cloud_service.py | 28 +++++++++---------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py index 4e74d057..58504a7a 100644 --- a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py +++ b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py @@ -11,7 +11,6 @@ from spaceone.inventory.model.storage_accounts.cloud_service_type import CLOUD_SERVICE_TYPES from spaceone.inventory.model.storage_accounts.data import * - _LOGGER = logging.getLogger(__name__) @@ -60,11 +59,14 @@ def collect_cloud_service(self, params): }) if storage_account_dict.get('name') is not None: - container_item = self.list_blob_containers(storage_account_conn, resource_group, storage_account_dict['name']) + # container_item = self.list_blob_containers(storage_account_conn, resource_group, storage_account_dict['name']) + container_count = self.get_blob_containers_count(storage_account_conn, resource_group, + storage_account_dict['name']) storage_account_dict.update({ - 'container_item': container_item, - 'container_count_display': len(container_item) + # 'container_item': container_item, + 'container_count_display': container_count }) + _LOGGER.debug(f'[collect_cloud_service] {storage_account_id} container count : {container_count}') if storage_account_dict.get('routing_preference') is not None: storage_account_dict.update({ @@ -124,7 +126,8 @@ def get_network_rule_set(self, network_rule_dict): 'virtual_networks': self.get_virtual_network_names(network_rule_dict['virtual_network_rules']), 'is_public_access_allowed': False }) - if not network_rule_dict.get('virtual_network_rules'): # if virtual_network_rules are empty, this SA is public allowable + if not network_rule_dict.get( + 'virtual_network_rules'): # if virtual_network_rules are empty, this SA is public allowable network_rule_dict.update({ 'is_public_access_allowed': True }) @@ -262,3 +265,9 @@ def _get_timespan_from_now(hours): time_now = datetime.datetime.utcnow() - datetime.timedelta(hours=1) time_now_hours_ago = time_now - datetime.timedelta(hours=hours) return "{}/{}".format(time_now_hours_ago, time_now) + + @staticmethod + def get_blob_containers_count(storage_conn, rg_name, account_name): + blob_containers_obj = storage_conn.list_blob_containers(rg_name=rg_name, account_name=account_name) + return len(list(blob_containers_obj)) + diff --git a/src/spaceone/inventory/model/storage_accounts/cloud_service.py b/src/spaceone/inventory/model/storage_accounts/cloud_service.py index 105fcc4f..fe8f678d 100644 --- a/src/spaceone/inventory/model/storage_accounts/cloud_service.py +++ b/src/spaceone/inventory/model/storage_accounts/cloud_service.py @@ -54,18 +54,18 @@ TextDyField.data_source('Internet Endpoints', 'data.routing_preference.publish_internet_endpoints') ]) -# TAB - Containers -storage_account_containers = TableDynamicLayout.set_fields('Containers', 'data.container_item', fields=[ - TextDyField.data_source('Name', 'name'), - TextDyField.data_source('Public Access Level', 'public_access'), - DateTimeDyField.data_source('Last Modified', 'last_modified_time'), - TextDyField.data_source('ETAG', 'etag'), - TextDyField.data_source('Lease Status', 'lease_status'), - TextDyField.data_source('Lease State', 'lease_state'), - TextDyField.data_source('Lease Duration', 'lease_duration'), - TextDyField.data_source('Encryption Score', 'default_encryption_scope') - -]) +# # TAB - Containers +# storage_account_containers = TableDynamicLayout.set_fields('Containers', 'data.container_item', fields=[ +# TextDyField.data_source('Name', 'name'), +# TextDyField.data_source('Public Access Level', 'public_access'), +# DateTimeDyField.data_source('Last Modified', 'last_modified_time'), +# TextDyField.data_source('ETAG', 'etag'), +# TextDyField.data_source('Lease Status', 'lease_status'), +# TextDyField.data_source('Lease State', 'lease_state'), +# TextDyField.data_source('Lease Duration', 'lease_duration'), +# TextDyField.data_source('Encryption Score', 'default_encryption_scope') +# +# ]) # TAB - Encryption storage_account_encryption = ItemDynamicLayout.set_fields('Encryption', 'data.encryption', fields=[ @@ -89,8 +89,8 @@ ]) storage_account_meta = CloudServiceMeta.set_layouts( - [storage_account_info_meta, storage_group_networking, storage_account_primary_endpoints, storage_account_containers, - storage_account_encryption, storage_account_geo_replication]) + [storage_account_info_meta, storage_group_networking, storage_account_primary_endpoints, storage_account_encryption, + storage_account_geo_replication]) class StorageResource(CloudServiceResource): From c964ddea6f25f1f4b81ad2dd931934891f40be45 Mon Sep 17 00:00:00 2001 From: ImMin5 Date: Tue, 26 Sep 2023 11:05:01 +0900 Subject: [PATCH 4/4] chore: remove debug code (#57) Signed-off-by: ImMin5 --- pkg/pip_requirements.txt | 3 +-- .../manager/storage_accounts/instance_manager.py | 10 ++-------- .../model/storage_accounts/cloud_service.py | 13 ------------- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/pkg/pip_requirements.txt b/pkg/pip_requirements.txt index fad8fcde..54069794 100644 --- a/pkg/pip_requirements.txt +++ b/pkg/pip_requirements.txt @@ -16,5 +16,4 @@ azure-keyvault-secrets azure-mgmt-rdbms azure-mgmt-cosmosdb azure-mgmt-containerinstance -azure-mgmt-webpubsub -pympler \ No newline at end of file +azure-mgmt-webpubsub \ No newline at end of file diff --git a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py index 58504a7a..11ebb305 100644 --- a/src/spaceone/inventory/manager/storage_accounts/instance_manager.py +++ b/src/spaceone/inventory/manager/storage_accounts/instance_manager.py @@ -2,7 +2,6 @@ import logging import time -from pympler import asizeof from spaceone.inventory.libs.manager import AzureManager from spaceone.inventory.libs.schema.base import ReferenceModel from spaceone.inventory.connector.storage_accounts import StorageAccountsConnector @@ -59,13 +58,10 @@ def collect_cloud_service(self, params): }) if storage_account_dict.get('name') is not None: - # container_item = self.list_blob_containers(storage_account_conn, resource_group, storage_account_dict['name']) container_count = self.get_blob_containers_count(storage_account_conn, resource_group, storage_account_dict['name']) - storage_account_dict.update({ - # 'container_item': container_item, - 'container_count_display': container_count - }) + + storage_account_dict.update({'container_count_display': container_count}) _LOGGER.debug(f'[collect_cloud_service] {storage_account_id} container count : {container_count}') if storage_account_dict.get('routing_preference') is not None: @@ -97,7 +93,6 @@ def collect_cloud_service(self, params): 'instance_type': storage_account_data.sku.tier }) - _LOGGER.debug(f'[collect_cloud_service] {storage_account_id} size : {asizeof.asizeof(storage_account_resource)} bytes') # Must set_region_code method for region collection self.set_region_code(storage_account_data['location']) @@ -108,7 +103,6 @@ def collect_cloud_service(self, params): error_resource_response = self.generate_resource_error_response(e, 'Storage', 'StorageAccount', storage_account_id) error_responses.append(error_resource_response) - _LOGGER.debug(f'[collect_cloud_service] storage_account_responses size : {asizeof.asizeof(storage_account_responses)} bytes') _LOGGER.debug(f'** Storage Account Finished {time.time() - start_time} Seconds **') return storage_account_responses, error_responses diff --git a/src/spaceone/inventory/model/storage_accounts/cloud_service.py b/src/spaceone/inventory/model/storage_accounts/cloud_service.py index fe8f678d..30f9d29d 100644 --- a/src/spaceone/inventory/model/storage_accounts/cloud_service.py +++ b/src/spaceone/inventory/model/storage_accounts/cloud_service.py @@ -54,19 +54,6 @@ TextDyField.data_source('Internet Endpoints', 'data.routing_preference.publish_internet_endpoints') ]) -# # TAB - Containers -# storage_account_containers = TableDynamicLayout.set_fields('Containers', 'data.container_item', fields=[ -# TextDyField.data_source('Name', 'name'), -# TextDyField.data_source('Public Access Level', 'public_access'), -# DateTimeDyField.data_source('Last Modified', 'last_modified_time'), -# TextDyField.data_source('ETAG', 'etag'), -# TextDyField.data_source('Lease Status', 'lease_status'), -# TextDyField.data_source('Lease State', 'lease_state'), -# TextDyField.data_source('Lease Duration', 'lease_duration'), -# TextDyField.data_source('Encryption Score', 'default_encryption_scope') -# -# ]) - # TAB - Encryption storage_account_encryption = ItemDynamicLayout.set_fields('Encryption', 'data.encryption', fields=[ TextDyField.data_source('Key Source', 'key_source'),