Skip to content

Commit

Permalink
refactor: add to get secret from metadata.plugin_info
Browse files Browse the repository at this point in the history
  • Loading branch information
jiyungSong committed Mar 17, 2023
1 parent d74b765 commit 940bbc4
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 16 deletions.
32 changes: 19 additions & 13 deletions src/spaceone/monitoring/manager/secret_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,25 @@ def __init__(self, *args, **kwargs):
self.secret_connector: SpaceConnector = self.locator.get_connector('SpaceConnector', service='secret')

def get_secret_from_resource(self, resource, data_source_vo, domain_id):
secret = None
resource_secrets = []
for collection_info in resource.get('collection_info', []):
if secret_id := collection_info.get('secret_id'):
resource_secrets.append(secret_id)

if data_source_vo.capability.get('use_resource_secret', False):
secret_filter = {
'provider': data_source_vo.plugin_info.provider,
'supported_schema': data_source_vo.capability.get('supported_schema', []),
'secrets': resource_secrets
}
secret = self.list_secrets_from_query(secret_filter, domain_id)[0]
secret = {}

if data_source_plugin_info := data_source_vo.plugin_info:
if secret_id := data_source_plugin_info.secret_id:
secret = self.list_secrets_from_query({'secret_id': secret_id})[0]

if not secret:
resource_secrets = []
for collection_info in resource.get('collection_info', []):
if secret_id := collection_info.get('secret_id'):
resource_secrets.append(secret_id)

if data_source_vo.capability.get('use_resource_secret', False):
secret_filter = {
'provider': data_source_vo.plugin_info.provider,
'supported_schema': data_source_vo.capability.get('supported_schema', []),
'secrets': resource_secrets
}
secret = self.list_secrets_from_query(secret_filter, domain_id)[0]

return secret

Expand Down
3 changes: 2 additions & 1 deletion src/spaceone/monitoring/service/log_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ def list(self, params):
start = params['start']
end = params.get('end', str(datetime.datetime.now()))
domain_id = params['domain_id']
secret_data = {}

data_source_vo = self.data_source_mgr.get_data_source(data_source_id, domain_id)
self._check_data_source_state(data_source_vo)
Expand All @@ -60,7 +61,7 @@ def list(self, params):
cloud_service_info = self.inventory_mgr.get_cloud_service(resource_id, domain_id)
query = self.get_query_from_cloud_service(cloud_service_info, data_source_vo.plugin_info)
secret = self.secret_mgr.get_secret_from_resource(cloud_service_info, data_source_vo, domain_id)
secret_data = self.secret_mgr.get_secret_data(secret['secret_id'], domain_id)
secret_data = self.secret_mgr.get_secret_data(secret.get('secret_id', ''), domain_id)

logs_info = self.ds_plugin_mgr.list_logs(secret.get('schema'), plugin_options, secret_data,
query, params.get('keyword'),
Expand Down
5 changes: 3 additions & 2 deletions src/spaceone/monitoring/service/metric_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ def list(self, params):
list_metric_params = []
for cloud_service_info in cloud_services_info:
secret = self.secret_mgr.get_secret_from_resource(cloud_service_info, data_source_vo, domain_id)
secret_data = self.secret_mgr.get_secret_data(secret['secret_id'], domain_id)
secret_data = self.secret_mgr.get_secret_data(secret.get('secret_id', ''), domain_id)

query = self.get_query_from_cloud_service(cloud_service_info, plugin_info)

list_metric_params.append({
Expand Down Expand Up @@ -187,7 +188,7 @@ def list_chunk_resources(self, resources, metric_query, data_source_vo, domain_i
if cloud_service_id in metric_query:
region_code = self.get_region_from_resource(resource)
secret = self.secret_mgr.get_secret_from_resource(resource, data_source_vo, domain_id)
chunk_key = self._generate_chunk_key(provider, region_code, secret['secret_id'])
chunk_key = self._generate_chunk_key(provider, region_code, secret.get('secret_id', ''))

metric_query[cloud_service_id]['region_name'] = region_code
chunk_resource = {cloud_service_id: metric_query[cloud_service_id]}
Expand Down

0 comments on commit 940bbc4

Please sign in to comment.