Skip to content

Commit 1656a2f

Browse files
authored
Merge pull request #91 from medianetlab/develop
Develop
2 parents 0d769d8 + a4ee045 commit 1656a2f

File tree

5 files changed

+61
-52
lines changed

5 files changed

+61
-52
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# Changelog
2+
## v2.2.3
3+
***Summary:***
4+
> - *Minor fixes on service initialisation*
5+
<br><br>
6+
27
## v2.2.2
38
***Summary:***
49
> - *Split jwt token authorisation for NEF and CAPIF. If NEF is deployed as a standalone component then only nef token authorisation is required. If capif is integrated with nef, jwt token acquired from CAPIF is required [commit](https://github.com/medianetlab/NEF_emulator/commit/16483f55d2d14b61d804c00eb8774119e6acffdc)*

backend/app/app/backend_pre_start.py

Lines changed: 2 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import logging, requests
2-
from evolved5g.sdk import CAPIFProviderConnector
1+
import logging
32
from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed
43
from app.db.session import SessionLocal
5-
from app.core.config import settings
4+
65

76
logging.basicConfig(level=logging.INFO)
87
logger = logging.getLogger(__name__)
@@ -26,57 +25,13 @@ def init() -> None:
2625
logger.error(e)
2726
raise e
2827

29-
def capif_nef_connector():
30-
"""
31-
32-
"""
33-
try:
34-
capif_connector = CAPIFProviderConnector(certificates_folder="app/core/certificates",
35-
capif_host=settings.CAPIF_HOST,
36-
capif_http_port=settings.CAPIF_HTTP_PORT,
37-
capif_https_port=settings.CAPIF_HTTPS_PORT,
38-
capif_netapp_username="test_nef01",
39-
capif_netapp_password="test_netapp_password",
40-
description= "test_app_description",
41-
csr_common_name="apfExpapfoser1502", #TODO: ASK STAVROS. THIS SHOULD NOT BE HARDCODED, RIGHT?
42-
csr_organizational_unit="test_app_ou",
43-
csr_organization="test_app_o",
44-
crs_locality="Madrid",
45-
csr_state_or_province_name="Madrid",
46-
csr_country_name="ES",
47-
csr_email_address="test@example.com"
48-
)
49-
50-
51-
capif_connector.register_and_onboard_provider()
5228

53-
capif_connector.publish_services(service_api_description_json_full_path="app/core/capif_files/service_monitoring_event.json")
54-
capif_connector.publish_services(service_api_description_json_full_path="app/core/capif_files/service_as_session_with_qos.json")
55-
return True
56-
except requests.exceptions.HTTPError as err:
57-
if err.response.status_code == 409:
58-
logger.error(f'"Http Error:", {err.response.json()}')
59-
return False
60-
except requests.exceptions.ConnectionError as err:
61-
logger.error(f'"Error Connecting:", {err}')
62-
return False
63-
except requests.exceptions.Timeout as err:
64-
logger.error(f'"Timeout Error:", {err}')
65-
return False
66-
except requests.exceptions.RequestException as err:
67-
logger.error(f'"Error:", {err}')
68-
return False
6929

7030

7131
def main() -> None:
7232
logger.info("Initializing service")
7333
init()
7434
logger.info("Service finished initializing")
75-
logger.info("Trying to connect with CAPIF Core Function")
76-
if capif_nef_connector():
77-
logger.info("Successfully onboard NEF in the CAPIF Core Function")
78-
else:
79-
logger.info("Failed to onboard NEF in the CAPIF Core Function")
8035

8136

8237
if __name__ == "__main__":

backend/app/app/initial_data.py

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import logging, json, os
2-
1+
import logging, json, os, requests
2+
from evolved5g.sdk import CAPIFProviderConnector
33
from app.db.init_db import init_db
44
from app.db.session import SessionLocal
5+
from app.core.config import settings
56

67
logging.basicConfig(level=logging.INFO)
78
logger = logging.getLogger(__name__)
@@ -11,6 +12,48 @@ def init() -> None:
1112
db = SessionLocal()
1213
init_db(db)
1314

15+
16+
def capif_nef_connector():
17+
"""
18+
19+
"""
20+
try:
21+
capif_connector = CAPIFProviderConnector(certificates_folder="app/core/certificates",
22+
capif_host=settings.CAPIF_HOST,
23+
capif_http_port=settings.CAPIF_HTTP_PORT,
24+
capif_https_port=settings.CAPIF_HTTPS_PORT,
25+
capif_netapp_username="test_nef01",
26+
capif_netapp_password="test_netapp_password",
27+
description= "test_app_description",
28+
csr_common_name="apfExpapfoser1502", #TODO: ASK STAVROS. THIS SHOULD NOT BE HARDCODED, RIGHT?
29+
csr_organizational_unit="test_app_ou",
30+
csr_organization="test_app_o",
31+
crs_locality="Madrid",
32+
csr_state_or_province_name="Madrid",
33+
csr_country_name="ES",
34+
csr_email_address="test@example.com"
35+
)
36+
37+
38+
capif_connector.register_and_onboard_provider()
39+
40+
capif_connector.publish_services(service_api_description_json_full_path="app/core/capif_files/service_monitoring_event.json")
41+
capif_connector.publish_services(service_api_description_json_full_path="app/core/capif_files/service_as_session_with_qos.json")
42+
return True
43+
except requests.exceptions.HTTPError as err:
44+
if err.response.status_code == 409:
45+
logger.error(f'"Http Error:", {err.response.json()}')
46+
return False
47+
except requests.exceptions.ConnectionError as err:
48+
logger.error(f'"Error Connecting:", {err}')
49+
return False
50+
except requests.exceptions.Timeout as err:
51+
logger.error(f'"Timeout Error:", {err}')
52+
return False
53+
except requests.exceptions.RequestException as err:
54+
logger.error(f'"Error:", {err}')
55+
return False
56+
1457
def capif_service_description() -> None:
1558

1659
try:
@@ -74,6 +117,11 @@ def main() -> None:
74117
init()
75118
capif_service_description()
76119
logger.info("Initial data created")
120+
logger.info("Trying to connect with CAPIF Core Function")
121+
if capif_nef_connector():
122+
logger.info("Successfully onboard NEF in the CAPIF Core Function")
123+
else:
124+
logger.info("Failed to onboard NEF in the CAPIF Core Function")
77125

78126

79127
if __name__ == "__main__":

backend/app/prestart.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#! /usr/bin/env bash
22

3-
# Create initial data in DB
4-
python /app/app/initial_data.py
5-
63
# Let the DB start
74
python /app/app/backend_pre_start.py
85

6+
# Create initial data in DB
7+
python /app/app/initial_data.py
8+
99
# Run migrations
1010
#alembic upgrade head

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ services:
8383
INSTALL_JUPYTER: ${INSTALL_JUPYTER-true}
8484
extra_hosts:
8585
- "host.docker.internal:host-gateway"
86+
restart: always
8687
networks:
8788
- services_default
8889

0 commit comments

Comments
 (0)