From 716ad1f32fc10181d2826d1f345f5a8b81bd0106 Mon Sep 17 00:00:00 2001 From: krishnaa96 Date: Mon, 14 Sep 2020 19:15:25 +0530 Subject: Add ML based optimization to PCI opt Add DCAE DES adapter to the adapters Add a simple ML model in PCI opt app Issue-ID: OPTFRA-769 Signed-off-by: krishnaa96 Change-Id: I144887e1be1ac6be4d27eeec22f9669c71f2c2bb --- osdf/adapters/dcae/des.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 osdf/adapters/dcae/des.py (limited to 'osdf/adapters') diff --git a/osdf/adapters/dcae/des.py b/osdf/adapters/dcae/des.py new file mode 100644 index 0000000..57d0371 --- /dev/null +++ b/osdf/adapters/dcae/des.py @@ -0,0 +1,51 @@ +# ------------------------------------------------------------------------- +# Copyright (C) 2020 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +import requests +from requests.auth import HTTPBasicAuth + +from osdf.config.base import osdf_config + + +class DESException(Exception): + pass + + +def extract_data(service_id, request_data): + """Extracts data from the data lake via DES. + + param: service_id: kpi data identifier + param: request_data: data to send + param: osdf_config: osdf config to retrieve api info + """ + + config = osdf_config.deployment + user, password = config['desUsername'], config['desPassword'] + auth = HTTPBasicAuth(user, password) + headers = config["desHeaders"] + req_url = config["desUrl"] + config["desApiPath"] + service_id + + try: + response = requests.post(req_url, data=request_data, headers=headers, auth=auth, verify=False) + except requests.RequestException as e: + raise DESException("Request exception was encountered {}".format(e)) + + if response.status_code == 200: + return response.json().get("result") + else: + raise DESException("Response code other than 200. Response code: {}".format(response.status_code)) -- cgit 1.2.3-korg