From 4d9685d32452184b40008344343a61f472fc88af Mon Sep 17 00:00:00 2001 From: Pelayo Torres Date: Thu, 30 May 2024 18:07:08 +0200 Subject: [PATCH] Remove invoker gui --- .../CAPIFInvokerGUI/invoker_gui/Dockerfile | 13 -- .../invoker_gui/capif_ops/__init__.py | 0 .../config_files/capif_registration.json | 17 -- .../config_files/credentials.properties | 14 -- .../capif_ops/config_files/demo_values.json | 1 - .../capif_ops/config_files/events.json | 6 - .../config_files/invoker_details.json | 13 -- .../capif_ops/config_files/security_info.json | 18 -- .../config_files/service_request_body.json | 32 ---- .../capif_ops/config_files/token_request.json | 6 - .../invoker_gui/capif_ops/invoker_delete.py | 71 -------- .../capif_ops/invoker_discover_service.py | 96 ---------- .../invoker_gui/capif_ops/invoker_get_auth.py | 71 -------- .../capif_ops/invoker_get_security_auth.py | 90 ---------- .../capif_ops/invoker_previous_register.py | 134 -------------- .../capif_ops/invoker_register_to_capif.py | 134 -------------- .../invoker_remove_security_context.py | 82 --------- .../capif_ops/invoker_secutiry_context.py | 96 ---------- .../capif_ops/invoker_to_service.py | 168 ------------------ .../capif_ops/nef_calback_server/__init__.py | 0 .../capif_ops/nef_calback_server/callback.py | 26 --- .../CAPIFInvokerGUI/invoker_gui/main.py | 98 ---------- .../CAPIFInvokerGUI/invoker_gui/prepare.sh | 11 -- .../invoker_gui/requirements.txt | 13 -- services/capif-client/Dockerfile | 5 - 25 files changed, 1215 deletions(-) delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/Dockerfile delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/__init__.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/capif_registration.json delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/credentials.properties delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/demo_values.json delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/events.json delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/invoker_details.json delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/security_info.json delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/service_request_body.json delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/token_request.json delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_delete.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_discover_service.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_auth.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_security_auth.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_previous_register.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_register_to_capif.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_remove_security_context.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_secutiry_context.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_to_service.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/__init__.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/callback.py delete mode 100644 services/capif-client/CAPIFInvokerGUI/invoker_gui/main.py delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/prepare.sh delete mode 100755 services/capif-client/CAPIFInvokerGUI/invoker_gui/requirements.txt delete mode 100644 services/capif-client/Dockerfile diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/Dockerfile b/services/capif-client/CAPIFInvokerGUI/invoker_gui/Dockerfile deleted file mode 100644 index 8357bf9..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM python:3.8 -ENV PYTHONUNBUFFERED 1 - -RUN apt-get update && apt-get install -y jq && apt-get clean -RUN apt-get install -y iputils-ping - -RUN mkdir -p /usr/src/app -WORKDIR /usr/src/app -ADD requirements.txt /usr/src/app/ -RUN pip install -r requirements.txt -ADD . /usr/src/app/ - -CMD ["sh", "prepare.sh"] \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/__init__.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/capif_registration.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/capif_registration.json deleted file mode 100644 index 498f284..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/capif_registration.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "folder_to_store_certificates": "/usr/src/app/capif_onboarding", - "capif_host": "capifcore", - "capif_http_port": "8080", - "capif_https_port": "443", - "capif_netapp_username": "test_netapp_23", - "capif_netapp_password": "test_netapp_password", - "capif_callback_url": "http://192.168.1.11:5000", - "description": ",test_app_description", - "csr_common_name": "test_app_common_name", - "csr_organizational_unit": "test_app_ou", - "csr_organization": "test_app_o", - "crs_locality": "Madrid", - "csr_state_or_province_name": "Madrid", - "csr_country_name": "ES", - "csr_email_address": "test@example.com" -} \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/credentials.properties b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/credentials.properties deleted file mode 100755 index 0c39e2c..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/credentials.properties +++ /dev/null @@ -1,14 +0,0 @@ -[credentials] -invoker_username = customnetapp -invoker_password = pass123 -invoker_role = invoker -invoker_description = Dummy NetApp -invoker_cn = invoker -#capif_ip = capicore -#capif_port = 8080 -capif_callback_ip = host.docker.internal -capif_callback_port = 8086 -nef_ip = host.docker.internal -nef_port = 8888 -nef_callback_ip = host.docker.internal -nef_callback_port = 8085 \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/demo_values.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/demo_values.json deleted file mode 100644 index 3a8a2ab..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/demo_values.json +++ /dev/null @@ -1 +0,0 @@ -{"netappID": "93caff2e486955", "ccf_onboarding_url": "api-invoker-management/v1/onboardedInvokers", "ccf_discover_url": "service-apis/v1/allServiceAPIs?api-invoker-id=", "capif_access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY4OTU4NzA1OCwianRpIjoiMDViOGMwYWMtYmU4OC00OWViLWFhNWItZTA0ZDM4NWJlYWFkIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6ImN1c3RvbW5ldGFwcCBpbnZva2VyIiwibmJmIjoxNjg5NTg3MDU4LCJleHAiOjE2ODk1ODc5NTh9.k8ZXlgS0CJS-aDJCHgUv0oA4B6CLBjYpp5z3qIrzsvgr20wflpKXiO03c6U3G87T33ocEPR6BWG-ZhpQ1bfml2CKU16gef4nIDIgOKh17yBF0M1eW-gULBZL9exJQIpDWJXQK9oZOrkyHjgN89ieXlVYW9hKaGQfRl_B_HZL0hllWq6E9uE7kHG-VJTEmLJTEyP6uqmfIPLz2znHeTk8eP7IB_vxeIh-7Fr6LcyziDoxMskPDqxzg_6oLyd7biH9qZyWQYvtrEPsh_kJdK5Yc7vK1Kuh01uY9JRk9E97sXU8x0yBjejHgDn9K7_kH1gugPo7eP6nEPvm3BROWHFUmw", "api_id_0": "1d3c0c7803e650264ba30963b96549", "api_name_0": "/nef/api/v1/3gpp-as-session-with-qos/", "aef_id_0": "8cadd2bf35c6adf24bda897b4e8e99", "demo_ipv4_addr_0": "3gppnef", "demo_port_0": 8090, "demo_url_0": "/nef/api/v1/3gpp-as-session-with-qos/v1/{scsAsId}/subscriptions", "netapp_service_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY4OTU4ODEwOCwianRpIjoiY2NiNDNkNzktNTRjYS00NDI4LTg1OGMtN2MyNDI1MzhiZjU5IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6IjIwZjAxMTY0OTRkNTA0MjhmZTI2ZDdhNjNkYjNlNSIsIm5iZiI6MTY4OTU4ODEwOCwiZXhwIjoxNjg5NTg4NzA4LCJpc3MiOiIyMGYwMTE2NDk0ZDUwNDI4ZmUyNmQ3YTYzZGIzZTUiLCJzY29wZSI6IjNncHAjOGNhZGQyYmYzNWM2YWRmMjRiZGE4OTdiNGU4ZTk5Oi9uZWYvYXBpL3YxLzNncHAtYXMtc2Vzc2lvbi13aXRoLXFvcy8ifQ.PTdAWSGCqEdxroxd1qF_cNA_JRohvNlgw_A49CyaUVqEKrky2_LnVtRll_KOHPGgGcIa8g_vqdM6We71CGx7w_KQPuSccb_wUkPQ5U2kfDT2-dkBZX8le_M1aQ9346tl3iQHqPsoMv3KdiD6mNSbO8f7vlRbQ1o7HQLtLaULB_0xbFr1iJAWdwO6Dm0KOKP_rM6kC5gKyVaLzUPUQBHGQwncQWlKp1Cey3G2cW5Aw_O6kF8mt1R1wgNCedU77JUmW3-ptc1kWmWlSo3UypYNm-XRAMWh44yYnGok5gE1tf451cRc5s9Hfl6Ya2fYYBI1by9x1S_zGlxi6f_OV9z4zg", "api_id_1": "cbc42102826d69a35de147c790a983", "api_name_1": "/nef/api/v1/3gpp-as-session-with-qos/", "aef_id_1": "1f1883a784c43f47aa4fae1dc4821f", "demo_ipv4_addr_1": "127.0.0.1", "demo_port_1": 8090, "demo_url_1": "/{scsAsId}/subscriptions", "demo_resource_id": ""} \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/events.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/events.json deleted file mode 100644 index 3d10920..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/events.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "events": [ - "SERVICE_API_AVAILABLE" - ], - "notificationDestination": "http://192.168.1.11:8080/capifcallbacks" - } \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/invoker_details.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/invoker_details.json deleted file mode 100755 index d94aa7f..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/invoker_details.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "notificationDestination" : "http://X:Y/netapp_callback", - "supportedFeatures" : "fffffff", - "apiInvokerInformation" : "dummy", - "websockNotifConfig" : { - "requestWebsocketUri" : true, - "websocketUri" : "websocketUri" - }, - "onboardingInformation" : { - "apiInvokerPublicKey" : "" - }, - "requestTestNotification" : true -} \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/security_info.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/security_info.json deleted file mode 100755 index c1b0867..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/security_info.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "securityInfo": [ - { - "prefSecurityMethods": [ - "OAUTH" - ], - "authenticationInfo": "string", - "authorizationInfo": "string" - } - ], - "notificationDestination": "https://mynotificationdest.com", - "requestTestNotification": true, - "websockNotifConfig": { - "websocketUri": "string", - "requestWebsocketUri": true - }, - "supportedFeatures": "fff" - } \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/service_request_body.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/service_request_body.json deleted file mode 100644 index 189c49e..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/service_request_body.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "ipv4Addr": "10.0.0.3", - "notificationDestination": "http://invoker_gui:9091/nefcallbacks", - "snssai": { - "sst": 1, - "sd": "000001" - }, -"dnn": "province1.mnc01.mcc202.gprs", -"qosReference": 82, - "altQoSReferences": [ -0 - ], -"usageThreshold": { -"duration": 0, - "totalVolume": 0, -"downlinkVolume": 0, - "uplinkVolume": 0 - }, -"qosMonInfo": { -"reqQosMonParams": [ -"DOWNLINK" -], -"repFreqs": [ -"EVENT_TRIGGERED" -], - "latThreshDl": 0, -"latThreshUl": 0, - "latThreshRp": 0, -"waitTime": 0, - "repPeriod": 0 -} -} \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/token_request.json b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/token_request.json deleted file mode 100755 index 5408b74..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/config_files/token_request.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "grant_type": "client_credentials", - "client_id": "", - "client_secret": "string", - "scope": "" -} \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_delete.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_delete.py deleted file mode 100644 index 297f88e..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_delete.py +++ /dev/null @@ -1,71 +0,0 @@ -from dis import dis -import requests -import json -import configparser -import os -from termcolor import colored - - -class RemoveInvoker(): - - - def __offboard_netapp_to_capif(self, capif_ip, invoker_id, log_level): - - print(colored("Removing netapp from CAPIF","yellow")) - url = 'https://{}/api-invoker-management/v1/onboardedInvokers/{}'.format(capif_ip, invoker_id) - - headers = { - 'Content-Type': 'application/json' - } - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.request("DELETE", url, headers=headers, cert=( - 'capif_ops/certs/dummy.crt', 'capif_ops/certs/invoker_private_key.key'), verify='capif_ops/certs/ca.crt') - response.raise_for_status() - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("Success onboard invoker","green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - except requests.exceptions.HTTPError as err: - raise Exception(err.response.text, err.response.status_code) - - - - def execute_remove_invoker(self, log_level): - - - capif_ip = os.getenv('CAPIF_HOSTNAME') - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - try: - - self.__offboard_netapp_to_capif(capif_ip, demo_values["invokerID"], log_level) - - print("ApiInvokerID: {}\n".format(demo_values["invokerID"])) - demo_values.pop("invokerID") - demo_values.pop("pub_key") - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - except Exception as e: - status_code = e.args[0] - if status_code == 403: - print("Invoker already registered.") - print("Chanage invoker public key in invoker_details.json\n") - else: - print(e) diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_discover_service.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_discover_service.py deleted file mode 100644 index 7b608ac..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_discover_service.py +++ /dev/null @@ -1,96 +0,0 @@ -from dis import dis -import requests -import json -import configparser -import redis -import os -from termcolor import colored - - -class DiscoverService(): - - def __discover_service_apis(self, capif_ip, api_invoker_id, jwt_token, ccf_url, log_level): - - print(colored("Discover Service", "yellow")) - url = "https://{}/{}{}".format(capif_ip, ccf_url, api_invoker_id) - - payload = {} - files = {} - headers = { - 'Content-Type': 'application/json' - } - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''", "blue")) - print(colored(f"Request: to {url}", "blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.request("GET", url, headers=headers, data=payload, files=files, cert=( - 'capif_ops/certs/dummy.crt', 'capif_ops/certs/invoker_private_key.key'), verify='capif_ops/certs/ca.crt') - response.raise_for_status() - response_payload = json.loads(response.text) - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''", "green")) - print(colored(f"Response to: {response.url}", "green")) - print(colored(f"Response Headers: {response.headers}", "green")) - print(colored(f"Response: {response.json()}", "green")) - print( - colored(f"Response Status code: {response.status_code}", "green")) - print(colored("''''''''''RESPONSE'''''''''''''''''", "green")) - - return response_payload - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - def execute_discover_service(self, log_level): - - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - capif_ip = os.getenv('CAPIF_HOSTNAME') - - try: - if 'invokerID' in demo_values: - invokerID = demo_values['invokerID'] - capif_access_token = demo_values['capif_access_token'] - ccf_discover_url = demo_values['ccf_discover_url'] - discovered_apis = self.__discover_service_apis( - capif_ip, invokerID, capif_access_token, ccf_discover_url, log_level) - print(colored(json.dumps(discovered_apis, indent=2), "yellow")) - - count = 0 - api_list = discovered_apis["serviceAPIDescriptions"] - for api in api_list: - getAEF_profiles = api["aefProfiles"][0] - getAEF_interfaces = getAEF_profiles["interfaceDescriptions"][0] - getAEF_versions = getAEF_profiles["versions"][0] - getAEF_resources = getAEF_versions["resources"][0] - demo_values[f'api_id_{count}'] = api["apiId"] - demo_values[f'api_name_{count}'] = api["apiName"] - demo_values[f'aef_id_{count}'] = getAEF_profiles["aefId"] - demo_values[f'demo_ipv4_addr_{count}'] = getAEF_interfaces["ipv4Addr"] - demo_values[f'demo_port_{count}'] = getAEF_interfaces["port"] - demo_values[f'demo_url_{count}'] = api["apiName"] + getAEF_versions["apiVersion"]+ getAEF_resources['uri'] - count += 1 - - print(colored("Discovered APIs", "yellow")) - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - except Exception as e: - status_code = e.args[0] - if status_code == 401: - print("API Invoker is not authorized") - elif status_code == 403: - print("API Invoker does not exist. API Invoker id not found") - else: - print(e) - diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_auth.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_auth.py deleted file mode 100644 index dde3694..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_auth.py +++ /dev/null @@ -1,71 +0,0 @@ -import requests -import json -import configparser -import os -from termcolor import colored - -class PreviousAuth(): - - def __get_capif_auth(self, capif_ip, capif_port, username, password): - - #print("Geting Auth to exposer") - #url = "http://{}:{}/getauth".format(capif_ip, capif_port) - url = "https://register:8084/getauth".format(capif_port) - #url = "http://{}:{}/getauth".format(capif_ip, capif_port) - - payload = dict() - payload['username'] = username - payload['password'] = password - - headers = { - 'Content-Type': 'application/json' - } - - try: - response = requests.request("POST", url, headers=headers, data=json.dumps(payload), verify=False) - - response.raise_for_status() - response_payload = json.loads(response.text) - - return response_payload['access_token'] - - except requests.exceptions.HTTPError as err: - raise Exception(err.response.text, err.response.status_code) - - - def execute_get_auth(self, log_level): - - config = configparser.ConfigParser() - config.read('capif_ops/config_files/credentials.properties') - - username = config.get("credentials", "invoker_username") - password = config.get("credentials", "invoker_password") - - capif_ip = os.getenv('CAPIF_HOSTNAME') - capif_port = os.getenv('CAPIF_PORT') - - if os.path.exists("capif_ops/config_files/demo_values.json"): - #os.remove("capif_ops/config_files/demo_values.json") - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - else: - demo_values = {} - - #First we need register exposer in CAPIF - try: - if 'netappID' in demo_values: - access_token = self.__get_capif_auth(capif_ip, capif_port, username, password) - demo_values['capif_access_token'] = access_token - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - print("Invoker auth Success!") - except Exception as e: - status_code = e.args[0] - if status_code == 409: - print("User already registed. Continue with token request\n") - else: - print(e) - - return True diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_security_auth.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_security_auth.py deleted file mode 100644 index 74b026f..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_get_security_auth.py +++ /dev/null @@ -1,90 +0,0 @@ -from dis import dis -from email import charset -import requests -import json -import configparser -import redis -import os -from termcolor import colored - - -class InvokerGetSecurityAuth(): - - def __get_security_token(self, capif_ip, api_invoker_id, jwt_token, ccf_url, aef_id, api_name, log_level): - - - url = "https://{}/capif-security/v1/securities/{}/token".format(capif_ip, api_invoker_id) - - with open('capif_ops/config_files/token_request.json', "rb") as f: - payload = json.load(f) - - payload["client_id"] = api_invoker_id - payload["scope"] = "3gpp#"+aef_id+":"+api_name - - headers = { - 'Content-Type': 'application/x-www-form-urlencoded', - } - - - payload_dict = json.dumps(payload, indent=2) - - print(colored(f"Request Body: {payload_dict}", "yellow")) - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.post(url, headers=headers, data=payload, cert=('capif_ops/certs/dummy.crt', 'capif_ops/certs/invoker_private_key.key'), verify='capif_ops/certs/ca.crt') - print(response.request.body) - response.raise_for_status() - response_payload = json.loads(response.text) - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - return response_payload - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - def execute_get_security_auth(self, log_level): - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - config = configparser.ConfigParser() - config.read('credentials.properties') - - capif_ip = os.getenv('CAPIF_HOSTNAME') - invokerID = demo_values['invokerID'] - capif_access_token = demo_values['capif_access_token'] - ccf_discover_url = demo_values['ccf_discover_url'] - - try: - if 'aef_id_0' in demo_values and 'api_name_0' in demo_values: - token = self.__get_security_token(capif_ip, invokerID, capif_access_token, ccf_discover_url, demo_values['aef_id_0'], demo_values['api_name_0'],log_level) - print(colored(json.dumps(token, indent=2),"yellow")) - demo_values["netapp_service_token"] = token["access_token"] - print(colored("Obtained Security Token","yellow")) - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - except Exception as e: - status_code = e.args[0] - if status_code == 401: - print("API Invoker is not authorized") - elif status_code == 403: - print("API Invoker does not exist. API Invoker id not found") - else: - print(e) diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_previous_register.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_previous_register.py deleted file mode 100644 index 6a77264..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_previous_register.py +++ /dev/null @@ -1,134 +0,0 @@ -import requests -import json -import configparser -import os -from termcolor import colored - -class PreviousRegister(): - - def __register_invoker_to_capif(self, capif_ip, capif_port, username, password, role, description, cn): - - #print(colored("Registering exposer to CAPIF","yellow")) - url = "https://register:8084/register".format(capif_port) - #url = "http://{}:{}/register".format(capif_ip, capif_port) - - payload = dict() - payload['username'] = username - payload['password'] = password - payload['role'] = role - payload['description'] = description - payload['cn'] = cn - - headers = { - 'Content-Type': 'application/json' - } - - try: - # print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - # print(colored(f"Request: to {url}","blue")) - # print(colored(f"Request Headers: {headers}", "blue")) - # print(colored(f"Request Body: {json.dumps(payload)}", "blue")) - # print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.request("POST", url, headers=headers, data=json.dumps(payload), verify=False) - response.raise_for_status() - response_payload = json.loads(response.text) - - # print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - # print(colored(f"Response to: {response.url}","green")) - # print(colored(f"Response Headers: {response.headers}","green")) - # print(colored(f"Response: {response.json()}","green")) - # print(colored(f"Response Status code: {response.status_code}","green")) - # print(colored("Success to register new exposer","green")) - # print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - return response_payload['id'], response_payload['ccf_onboarding_url'], response_payload['ccf_discover_url'], - except requests.exceptions.HTTPError as err: - raise Exception(err.response.status_code) - - - def __get_capif_auth(self, capif_ip, capif_port, username, password): - - #print("Geting Auth to exposer") - url = "https://register:8084/getauth".format(capif_port) - #url = "http://{}:{}/getauth".format(capif_ip, capif_port) - - payload = dict() - payload['username'] = username - payload['password'] = password - - headers = { - 'Content-Type': 'application/json' - } - - try: - # print("''''''''''REQUEST'''''''''''''''''") - # print("Request: to ",url) - # print("Request Headers: ", headers) - # print("Request Body: ", json.dumps(payload)) - # print("''''''''''REQUEST'''''''''''''''''") - - response = requests.request("POST", url, headers=headers, data=json.dumps(payload), verify = False) - - response.raise_for_status() - response_payload = json.loads(response.text) - - # print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - # print(colored(f"Response to: {response.url}","green")) - # print(colored(f"Response Headers: {response.headers}","green")) - # print(colored(f"Response: {response.json()}","green")) - # print(colored(f"Response Status code: {response.status_code}","green")) - # print(colored("Get AUTH Success. Received access token", "green")) - # print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - return response_payload['access_token'] - - except requests.exceptions.HTTPError as err: - raise Exception(err.response.text, err.response.status_code) - - - def execute_previous_register_invoker(self): - - config = configparser.ConfigParser() - config.read('capif_ops/config_files/credentials.properties') - - username = config.get("credentials", "invoker_username") - password = config.get("credentials", "invoker_password") - role = config.get("credentials", "invoker_role") - description = config.get("credentials", "invoker_description") - cn = config.get("credentials", "invoker_cn") - - capif_ip = os.getenv('CAPIF_HOSTNAME') - capif_port = os.getenv('CAPIF_PORT') - - if os.path.exists("capif_ops/config_files/demo_values.json"): - #os.remove("capif_ops/config_files/demo_values.json") - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - else: - demo_values = {} - - #First we need register exposer in CAPIF - try: - netappID, ccf_onboarding_url, ccf_discover_url = self.__register_invoker_to_capif(capif_ip, capif_port, username, password, role, description, cn) - demo_values['netappID'] = netappID - demo_values['ccf_onboarding_url'] = ccf_onboarding_url - demo_values['ccf_discover_url'] = ccf_discover_url - #print(colored(f"NetAppID: {netappID}\n","yellow")) - #print("provider ID: {}".format(providerID)) - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - if 'netappID' in demo_values: - access_token = self.__get_capif_auth(capif_ip, capif_port, username, password) - demo_values['capif_access_token'] = access_token - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - except Exception as e: - status_code = e.args[0] - if status_code == 409: - print() - else: - print(e) - - return True diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_register_to_capif.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_register_to_capif.py deleted file mode 100644 index 49be731..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_register_to_capif.py +++ /dev/null @@ -1,134 +0,0 @@ -from dis import dis -import requests -import json -import configparser -import redis -import os -from termcolor import colored - - -from OpenSSL.SSL import FILETYPE_PEM -from OpenSSL.crypto import (dump_certificate_request, dump_privatekey, load_publickey, PKey, TYPE_RSA, X509Req, dump_publickey) - - -class RegisterInvoker(): - def __create_csr(self, name): - - # create public/private key - key = PKey() - key.generate_key(TYPE_RSA, 2048) - - # Generate CSR - req = X509Req() - req.get_subject().CN = name - req.get_subject().O = 'Telefonica I+D' - req.get_subject().OU = 'Innovation' - req.get_subject().L = 'Madrid' - req.get_subject().ST = 'Madrid' - req.get_subject().C = 'ES' - req.get_subject().emailAddress = 'inno@tid.es' - req.set_pubkey(key) - req.sign(key, 'sha256') - - csr_request = dump_certificate_request(FILETYPE_PEM, req) - - private_key = dump_privatekey(FILETYPE_PEM, key) - - return csr_request, private_key - - - - - def __onboard_netapp_to_capif(self, capif_ip, capif_callback_ip, capif_callback_port, jwt_token, ccf_url, log_level): - - print(colored("Onboarding netapp to CAPIF","yellow")) - url = 'https://{}/{}'.format(capif_ip, ccf_url) - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - csr_request, private_key = self.__create_csr("invoker") - - if 'pub_key' not in demo_values: - private_key_file = open("capif_ops/certs/invoker_private_key.key", 'wb+') - private_key_file.write(bytes(private_key)) - - json_file = open('capif_ops/config_files/invoker_details.json', 'rb') - payload_dict = json.load(json_file) - if 'pub_key' not in demo_values: - payload_dict['onboardingInformation']['apiInvokerPublicKey'] = csr_request.decode("utf-8") - else: - payload_dict['onboardingInformation']['apiInvokerPublicKey'] = demo_values['pub_key'] - payload_dict['notificationDestination'] = payload_dict['notificationDestination'].replace("X", capif_callback_ip) - payload_dict['notificationDestination'] = payload_dict['notificationDestination'].replace("Y", capif_callback_port) - payload = json.dumps(payload_dict, indent=2) - - print(colored(f"Request Body: {payload}", "yellow")) - - headers = { - 'Authorization': 'Bearer {}'.format(jwt_token), - 'Content-Type': 'application/json' - } - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"Request Body: {json.dumps(payload)}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.request("POST", url, headers=headers, data=payload, verify='capif_ops/certs/ca.crt') - response.raise_for_status() - response_payload = json.loads(response.text) - certification_file = open('capif_ops/certs/dummy.crt', 'wb') - certification_file.write(bytes(response_payload['onboardingInformation']['apiInvokerCertificate'], 'utf-8')) - certification_file.close() - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("Success onboard invoker","green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - return response_payload['apiInvokerId'], payload_dict['onboardingInformation']['apiInvokerPublicKey'] - except requests.exceptions.HTTPError as err: - raise Exception(err.response.text, err.response.status_code) - - - - - - def execute_register_invoker(self, log_level): - - config = configparser.ConfigParser() - config.read('capif_ops/config_files/credentials.properties') - - capif_ip = os.getenv('CAPIF_HOSTNAME') - - capif_callback_ip = config.get("credentials", "capif_callback_ip") - capif_callback_port = config.get("credentials", "capif_callback_port") - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - try: - capif_access_token = demo_values['capif_access_token'] - ccf_onboarding_url = demo_values['ccf_onboarding_url'] - invokerID, pub_key = self.__onboard_netapp_to_capif(capif_ip, capif_callback_ip, capif_callback_port, capif_access_token, ccf_onboarding_url, log_level) - demo_values['invokerID'] = invokerID - demo_values['pub_key'] = pub_key - print("ApiInvokerID: {}\n".format(invokerID)) - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - except Exception as e: - status_code = e.args[0] - if status_code == 403: - print("Invoker already registered.") - print("Chanage invoker public key in invoker_details.json\n") - else: - print(e) diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_remove_security_context.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_remove_security_context.py deleted file mode 100644 index 18bb3f3..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_remove_security_context.py +++ /dev/null @@ -1,82 +0,0 @@ -from dis import dis -from email import charset -import requests -import json -import configparser -import redis -import os -from termcolor import colored - - -class InvokerRemoveSecurityContext(): - - def __remove_security_service(self, capif_ip, api_invoker_id, jwt_token, ccf_url, demo_values, log_level): - - - url = "https://{}/capif-security/v1/trustedInvokers/{}".format(capif_ip, api_invoker_id) - - headers = { - 'Content-Type': 'application/json' - } - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.delete(url, cert=('capif_ops/certs/dummy.crt', 'capif_ops/certs/invoker_private_key.key'), verify='capif_ops/certs/ca.crt') - response.raise_for_status() - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - return - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - def execute_remove_security_context(self, log_level): - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - config = configparser.ConfigParser() - config.read('credentials.properties') - - capif_ip = os.getenv('CAPIF_HOSTNAME') - invokerID = "" - capif_access_token = "" - ccf_discover_url = "" - - try: - - invokerID = demo_values['invokerID'] - capif_access_token = demo_values['capif_access_token'] - ccf_discover_url = demo_values['ccf_discover_url'] - security_information = self.__remove_security_service(capif_ip, invokerID, capif_access_token, ccf_discover_url, demo_values,log_level) - print(colored(json.dumps(security_information, indent=2),"yellow")) - print(colored("Register Security context","yellow")) - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - - except Exception as e: - status_code = e.args[0] - if status_code == 401: - print("API Invoker is not authorized") - elif status_code == 403: - print("API Invoker does not exist. API Invoker id not found") - else: - print(e) - diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_secutiry_context.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_secutiry_context.py deleted file mode 100644 index a26988f..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_secutiry_context.py +++ /dev/null @@ -1,96 +0,0 @@ -from dis import dis -from email import charset -import requests -import json -import configparser -import redis -import os -from termcolor import colored - - -class InvokerSecurityContext(): - - def __register_security_service(self, capif_ip, api_invoker_id, jwt_token, ccf_url, demo_values, log_level): - - - url = "https://{}/capif-security/v1/trustedInvokers/{}".format(capif_ip, api_invoker_id) - - with open('capif_ops/config_files/security_info.json', "rb") as f: - payload = json.load(f) - - count = 0 - for profile in payload["securityInfo"]: - profile["aefId"] = demo_values[f"aef_id_{count}"] - profile["apiId"] = demo_values[f"api_id_{count}"] - count += 1 - - headers = { - 'Content-Type': 'application/json' - } - - # payload_dict = json.dumps(payload, indent=2) - - # print(colored(f"Request Body: {payload_dict}", "yellow")) - - try: - - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - - response = requests.put(url, json=payload, cert=('capif_ops/certs/dummy.crt', 'capif_ops/certs/invoker_private_key.key'), verify='capif_ops/certs/ca.crt') - response.raise_for_status() - response_payload = response.json() - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - return response_payload - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - def execute_register_security_context(self, log_level): - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - config = configparser.ConfigParser() - config.read('credentials.properties') - - capif_ip = os.getenv('CAPIF_HOSTNAME') - invokerID = "" - capif_access_token = "" - ccf_discover_url = "" - - try: - - invokerID = demo_values['invokerID'] - capif_access_token = demo_values['capif_access_token'] - ccf_discover_url = demo_values['ccf_discover_url'] - security_information = self.__register_security_service(capif_ip, invokerID, capif_access_token, ccf_discover_url, demo_values,log_level) - print(colored(json.dumps(security_information, indent=2),"yellow")) - print(colored("Register Security context","yellow")) - - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - - except Exception as e: - status_code = e.args[0] - if status_code == 401: - print("API Invoker is not authorized") - elif status_code == 403: - print("API Invoker does not exist. API Invoker id not found") - else: - print(e) - diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_to_service.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_to_service.py deleted file mode 100644 index bc54ad7..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/invoker_to_service.py +++ /dev/null @@ -1,168 +0,0 @@ -from dis import dis -import requests -import json -import configparser -import redis -import os -import argparse -import re -from termcolor import colored - -# Get environment variables - - -class InvokerToService(): - def __demo_to_aef(self, operation, demo_ip, demo_port, demo_url, jwt_token, name, log_level): - - #def register_netapp_to_nef(nef_ip, nef_port): - access_token_url = "https://{}:{}/api/v1/login/access-token".format(demo_ip, demo_port) - - access_payload = { - "username": "admin@my-email.com", - "password": "pass" - } - - response = requests.request('POST', access_token_url, data=access_payload, verify=False) - parsed = json.loads(response.text) - - access_token = parsed['access_token'] - - print(colored("Using AEF Service API","yellow")) - url = "https://{}:{}{}".format(demo_ip, demo_port, demo_url) - #url = "http://python_aef:8086/hello" - - - - json_file = open('capif_ops/config_files/service_request_body.json', 'rb') - payload_dict = json.load(json_file) - payload = json.dumps(payload_dict, indent=2) - - files = {} - headers = { - 'Content-Type': 'application/json', - 'Authorization': 'Bearer '+ access_token + "," +jwt_token - } - - if operation == "create": - print(colored(f"Request Body: {payload}", "yellow")) - try: - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"Request Body: {json.dumps(payload, indent=2)}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - response = requests.request("POST", url, headers=headers, data=payload, files=files, verify=False) - response.raise_for_status() - response_payload = json.loads(response.text) - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("Success to invoke service","green")) - print(colored(response_payload,"green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - link_created_resource = response_payload["link"] - resource_id = link_created_resource.rsplit('/', 1)[-1] - if resource_id: - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - demo_values["demo_resource_id"] = resource_id - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - return response_payload - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - elif operation == "delete": - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - resource_id = demo_values["demo_resource_id"] - if resource_id == "": - print("Not found resource to delete") - return - - url = url + "/" + resource_id - try: - if log_level == "debug": - print(colored("''''''''''REQUEST'''''''''''''''''","blue")) - print(colored(f"Request: to {url}","blue")) - print(colored(f"Request Headers: {headers}", "blue")) - print(colored(f"''''''''''REQUEST'''''''''''''''''", "blue")) - response = requests.request("DELETE", url, headers=headers, verify=False) - response.raise_for_status() - response_payload = json.loads(response.text) - - if log_level == "debug": - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - print(colored(f"Response to: {response.url}","green")) - print(colored(f"Response Headers: {response.headers}","green")) - print(colored(f"Response: {response.json()}","green")) - print(colored(f"Response Status code: {response.status_code}","green")) - print(colored("Success to invoke service","green")) - print(colored(response_payload,"green")) - print(colored("''''''''''RESPONSE'''''''''''''''''","green")) - - demo_values["demo_resource_id"] = "" - with open('capif_ops/config_files/demo_values.json', 'w') as outfile: - json.dump(demo_values, outfile) - - return response_payload - except requests.exceptions.HTTPError as err: - print(err.response.text) - message = json.loads(err.response.text) - status = err.response.status_code - raise Exception(message, status) - - else: - print("You must spicify if you want create or delete resource") - - - def execute_invoker_to_service(self, input): - - # parser = argparse.ArgumentParser() - # parser.add_argument('--name', metavar= "name", type=str, default="Evolve5G", help="Name to send to the aef service") - # args = parser.parse_args() - input_name = "prueba" - operation = "" - log_level = "" - params = input.split() - if len(params) > 0: - operation = params[0] - if len(params) > 1: - log_level = params[1] - - with open('capif_ops/config_files/demo_values.json', 'r') as demo_file: - demo_values = json.load(demo_file) - - try: - if 'netapp_service_token' in demo_values: - - print(colored("Doing test","yellow")) - jwt_token = demo_values['netapp_service_token'] - invokerID = demo_values['invokerID'] - demo_ip = demo_values['demo_ipv4_addr_0'] - #demo_port = demo_values['demo_port_0'] - demo_port = 4443 - demo_url = demo_values['demo_url_0'] - demo_url = re.sub(r'\{scsAsId\}', 'myNetapp', demo_url) - - result = self.__demo_to_aef(operation, demo_ip, demo_port, demo_url, jwt_token, input_name, log_level) - print(colored(f"Response: {json.dumps(result, indent=2)}", "yellow")) - print(colored("Success","yellow")) - except Exception as e: - status_code = e.args[0] - if status_code == 401: - print("API Invoker is not authorized") - elif status_code == 403: - print("API Invoker does not exist. API Invoker id not found") - else: - print(e) \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/__init__.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/callback.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/callback.py deleted file mode 100644 index 682d358..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/capif_ops/nef_calback_server/callback.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python3 - -from flask import Flask, jsonify, request -# import redis -# from redis.commands.json.path import Path -import secrets -from werkzeug import serving -import os - - - -app = Flask(__name__) - -COUNTER = 0 - -@app.route("/nefcallbacks", methods=["POST"]) -def nefcallback(): - global COUNTER - COUNTER += 1 - print(f"Notification received from NEF: {COUNTER}") - - return jsonify(message="Receive message"), 200 - - -if __name__ == '__main__': - serving.run_simple('0.0.0.0', 8080, app) \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/main.py b/services/capif-client/CAPIFInvokerGUI/invoker_gui/main.py deleted file mode 100644 index bed7c8b..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/main.py +++ /dev/null @@ -1,98 +0,0 @@ - -from cmd import Cmd -from capif_ops.invoker_previous_register import PreviousRegister -from capif_ops.invoker_register_to_capif import RegisterInvoker -from capif_ops.invoker_discover_service import DiscoverService -from capif_ops.invoker_secutiry_context import InvokerSecurityContext -from capif_ops.invoker_get_security_auth import InvokerGetSecurityAuth -from capif_ops.invoker_delete import RemoveInvoker -from capif_ops.invoker_get_auth import PreviousAuth -from capif_ops.invoker_remove_security_context import InvokerRemoveSecurityContext -from capif_ops.invoker_to_service import InvokerToService -import shlex -import subprocess -from art import * - -prev_register = PreviousRegister() -regiter_capif = RegisterInvoker() -discover_service = DiscoverService() -register_security_context = InvokerSecurityContext() -security_context_auth = InvokerGetSecurityAuth() -remove_invoker = RemoveInvoker() -invoker_auth = PreviousAuth() -remove_security_service = InvokerRemoveSecurityContext() -invoker_service = InvokerToService() - - - -class CAPIFProvider(Cmd): - - def __init__(self): - Cmd.__init__(self) - self.prompt = "> " - self.intro = tprint("Welcome to Invoker Console") - - def emptyline(self): - """Do nothing on empty input line""" - pass - - def preloop(self): - state = prev_register.execute_previous_register_invoker() - self.previous_register_state = state - - def precmd(self, line): - - line = line.lower() - args = shlex.split(line) - - if len(args) >= 1 and args[0] in ["goodbye"]: - print("The first argument is username") - return "" - - elif len(args) >= 1 and args[0] not in ["->", "wall", "follows", "exit", "help"]: - pass - - return line - - def do_register_invoker(self, input): - 'Register invoker to CAPIF' - regiter_capif.execute_register_invoker(input) - - def do_discover_service(self, input): - 'Discover all services published in CAPIF' - discover_service.execute_discover_service(input) - - def do_register_security_context(self, input): - 'Create security context to use services' - register_security_context.execute_register_security_context(input) - - def do_get_security_auth(self, input): - "If you select Oauth as security method use this command to obtain jwt token to access service" - security_context_auth.execute_get_security_auth(input) - - def do_get_auth(self, input): - 'Get jwt token to register invoker in CAPIF (Optional, only if token expires)' - invoker_auth.execute_get_auth(input) - - def do_remove_security_context(self, input): - print("Not implemented yet") - #remove_security_service.execute_remove_security_context(input) - - def do_remove_invoker(self, input): - "Remove invoker from CAPIF" - remove_invoker.execute_remove_invoker(input) - - def do_call_service(self, input): - "Test invocation os service API" - invoker_service.execute_invoker_to_service(input) - - def do_exit(self, input): - print('\nExiting...') - return True - - -if __name__ == '__main__': - try: - CAPIFProvider().cmdloop() - except KeyboardInterrupt: - print('\nExiting...') \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/prepare.sh b/services/capif-client/CAPIFInvokerGUI/invoker_gui/prepare.sh deleted file mode 100755 index ca0305a..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/prepare.sh +++ /dev/null @@ -1,11 +0,0 @@ -VAULT_ADDR="http://$VAULT_HOSTNAME:$VAULT_PORT" -VAULT_TOKEN=$VAULT_ACCESS_TOKEN - -curl -k -retry 30 \ - --retry-all-errors \ - --connect-timeout 5 \ - --max-time 10 \ - --retry-delay 10 \ - --retry-max-time 300 \ - --header "X-Vault-Token: $VAULT_TOKEN" \ - --request GET "$VAULT_ADDR/v1/secret/data/ca" 2>/dev/null | jq -r '.data.data.ca' -j > ./capif_ops/certs/ca.crt \ No newline at end of file diff --git a/services/capif-client/CAPIFInvokerGUI/invoker_gui/requirements.txt b/services/capif-client/CAPIFInvokerGUI/invoker_gui/requirements.txt deleted file mode 100755 index a9e6ede..0000000 --- a/services/capif-client/CAPIFInvokerGUI/invoker_gui/requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -requests == 2.26.0 -evolved5g >= 0.8.9 -python_dateutil >= 2.6.0 -setuptools >= 21.0.0 -Flask -watchdog -redis -configparser -redis -pyopenssl -pyjwt -art -termcolor \ No newline at end of file diff --git a/services/capif-client/Dockerfile b/services/capif-client/Dockerfile deleted file mode 100644 index ad7e503..0000000 --- a/services/capif-client/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM public.ecr.aws/o2v4a8t6/opencapif/client:3.1.3 - -COPY ./CAPIFInvokerGUI . -RUN pip3 install -r ./invoker_gui/requirements.txt -CMD ["sleep", "infinity"] \ No newline at end of file -- GitLab