summaryrefslogtreecommitdiffstats
path: root/components/pm-subscription-handler/pmsh_service/mod/aai_client.py
diff options
context:
space:
mode:
authorefiacor <fiachra.corcoran@est.tech>2020-06-09 19:20:22 +0100
committerefiacor <fiachra.corcoran@est.tech>2020-06-17 14:57:29 +0100
commit80ff14860e3b8a7a2c29272c2c10c1e830c2141d (patch)
tree7e97d2b90e1dd5b6765e0bc88932c53197a107cf /components/pm-subscription-handler/pmsh_service/mod/aai_client.py
parent2760519436f78975f16f26c412e842e34b28d624 (diff)
[PMSH] Improve CBS data handling
# AppConfog object fetch priodically # AAI client to only fetch AAI data Signed-off-by: efiacor <fiachra.corcoran@est.tech> Change-Id: I78315f141c3bb7e8b0d9efa818d294415fa79918 Issue-ID: DCAEGEN2-2146
Diffstat (limited to 'components/pm-subscription-handler/pmsh_service/mod/aai_client.py')
-rwxr-xr-xcomponents/pm-subscription-handler/pmsh_service/mod/aai_client.py29
1 files changed, 15 insertions, 14 deletions
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` <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: