From 80ff14860e3b8a7a2c29272c2c10c1e830c2141d Mon Sep 17 00:00:00 2001 From: efiacor Date: Tue, 9 Jun 2020 19:20:22 +0100 Subject: [PMSH] Improve CBS data handling # AppConfog object fetch priodically # AAI client to only fetch AAI data Signed-off-by: efiacor Change-Id: I78315f141c3bb7e8b0d9efa818d294415fa79918 Issue-ID: DCAEGEN2-2146 --- .../pmsh_service/mod/aai_client.py | 29 +++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'components/pm-subscription-handler/pmsh_service/mod/aai_client.py') diff --git a/components/pm-subscription-handler/pmsh_service/mod/aai_client.py b/components/pm-subscription-handler/pmsh_service/mod/aai_client.py index 371fdb06..2b92df41 100755 --- a/components/pm-subscription-handler/pmsh_service/mod/aai_client.py +++ b/components/pm-subscription-handler/pmsh_service/mod/aai_client.py @@ -22,39 +22,39 @@ import requests from requests.auth import HTTPBasicAuth from mod import logger +from mod.network_function import NetworkFunction from mod.pmsh_utils import mdc_handler -from mod.network_function import NetworkFunction, NetworkFunctionFilter -from mod.subscription import Subscription -def get_pmsh_subscription_data(cbs_data): +def get_pmsh_nfs_from_aai(app_conf): """ - Returns the PMSH subscription data + Returns the Network Functions from AAI related to the Subscription. Args: - cbs_data: json app config from the Config Binding Service. + app_conf (AppConfig): the AppConfig object. Returns: - Subscription, set(NetworkFunctions): `Subscription` object, - set of NetworkFunctions to be added. + set(NetworkFunctions): set of NetworkFunctions. Raises: - RuntimeError: if AAI data cannot be retrieved. + RuntimeError: if AAI Network Function data cannot be retrieved. """ - aai_nf_data = _get_all_aai_nf_data() + aai_nf_data = _get_all_aai_nf_data(app_conf) if aai_nf_data: - sub = Subscription(**cbs_data['policy']['subscription']) - nfs = _filter_nf_data(aai_nf_data, NetworkFunctionFilter(**sub.nfFilter)) + nfs = _filter_nf_data(aai_nf_data, app_conf.nf_filter) else: raise RuntimeError('Failed to get data from AAI') - return sub, nfs + return nfs @mdc_handler -def _get_all_aai_nf_data(**kwargs): +def _get_all_aai_nf_data(app_conf, **kwargs): """ Return queried nf data from the AAI service. + Args: + app_conf (AppConfig): the AppConfig object. + Returns: dict: the json response from AAI query, else None. """ @@ -77,7 +77,8 @@ def _get_all_aai_nf_data(**kwargs): }""" params = {'format': 'simple', 'nodesOnly': 'true'} response = session.put(aai_endpoint, headers=headers, - auth=HTTPBasicAuth('AAI', 'AAI'), + auth=HTTPBasicAuth(app_conf.aaf_creds.get('aaf_id'), + app_conf.aaf_creds.get('aaf_pass')), data=json_data, params=params, verify=False) response.raise_for_status() if response.ok: -- cgit 1.2.3-korg