Commit 58181d28 authored by George Papathanail's avatar George Papathanail
Browse files

Merge branch 'fix/payloads-to-deploy-on-partner' into 'main'

Fix/payloads to deploy on partner

See merge request !11
parents c4675cc2 71abbf8c
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,4 +19,4 @@ wheels/
htmlcov/
.mypy_cache/
.pytest_cache/
.ruff_cache/
 No newline at end of file
.ruff_cache/.idea/

e -i --root

0 → 100644
+133 −0
Original line number Diff line number Diff line
f1b2b7b papathanail <gpapathan@intracom-telecom.com>
5805914 geop4p <papathanail@uom.edu.gr>
ab2153c gpapathan87 <gpapathan@intracom-telecom.com>
1aa166a George Papathanail <gpapathan@intracom-telecom.com>
95b4d76 George Papathanail <gpapathan@intracom-telecom.com>
7e0a1a8 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
e7c0779 George Papathanail <gpapathan@intracom-telecom.com>
ba67f75 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
006a3f4 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
b5c88bb Dimitrios Laskaratos <dlaskaratos@intracom-telecom.com>
f2ede60 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
62d4b26 George Papathanail <gpapathan@intracom-telecom.com>
8db04a1 gpapathan87 <gpapathan@intracom-telecom.com>
0dc3e23 gpapathan87 <gpapathan@intracom-telecom.com>
668f15a gpapathan87 <gpapathan@intracom-telecom.com>
9fdc3f8 gpapathan87 <gpapathan@intracom-telecom.com>
92af725 gpapathan87 <gpapathan@intracom-telecom.com>
23918d2 gpapathan87 <gpapathan@intracom-telecom.com>
9f30d28 gpapathan87 <gpapathan@intracom-telecom.com>
21c04a4 gpapathan87 <gpapathan@intracom-telecom.com>
310f9d3 gpapathan87 <gpapathan@intracom-telecom.com>
c7cdf37 gpapathan87 <gpapathan@intracom-telecom.com>
99e91e4 gpapathan87 <gpapathan@intracom-telecom.com>
9676d5f gpapathan87 <gpapathan@intracom-telecom.com>
49a1e8b gpapathan87 <gpapathan@intracom-telecom.com>
3b64b8a gpapathan87 <gpapathan@intracom-telecom.com>
33dde08 gpapathan87 <gpapathan@intracom-telecom.com>
08bf480 gpapathan87 <gpapathan@intracom-telecom.com>
36d67df Dimitrios Laskaratos <dlaskaratos@intracom-telecom.com>
9d28ad8 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
aa74771 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
89a9f0b Dimitrios Laskaratos <dlaskaratos@intracom-telecom.com>
4c1a5a7 gpapathan87 <gpapathan@intracom-telecom.com>
e5bbc70 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
ddc9829 Dimitrios Laskaratos <dlaskaratos@intracom-telecom.com>
3ae87ee Laskaratos Dimitris <dlaskaratos@intracomtel.com>
2c7fadb Laskaratos Dimitris <dlaskaratos@intracomtel.com>
f18e931 gpapathan87 <gpapathan@intracom-telecom.com>
f5245d1 gpapathan87 <gpapathan@intracom-telecom.com>
be4c643 gpapathan87 <gpapathan@intracom-telecom.com>
9ab4cd1 gpapathan87 <gpapathan@intracom-telecom.com>
d16b9e2 George Papathanail <gpapathan@intracom-telecom.com>
e776570 George Papathanail <gpapathan@intracom-telecom.com>
344b19b gpapathan87 <gpapathan@intracom-telecom.com>
69359fb Dimitrios Laskaratos <dlaskaratos@intracom-telecom.com>
615a75e Laskaratos Dimitris <dlaskaratos@intracomtel.com>
ca80137 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
f64494c George Papathanail <gpapathan@intracom-telecom.com>
1883fe7 George Papathanail <gpapathan@intracom-telecom.com>
2c710c7 George Papathanail <gpapathan@intracom-telecom.com>
c2b19a5 George Papathanail <gpapathan@intracom-telecom.com>
f00cc34 George Papathanail <gpapathan@intracom-telecom.com>
2ef4e00 George Papathanail <gpapathan@intracom-telecom.com>
ace7d2f George Papathanail <gpapathan@intracom-telecom.com>
427da14 George Papathanail <gpapathan@intracom-telecom.com>
234aa2d George Papathanail <gpapathan@intracom-telecom.com>
c4fac3f Laskaratos Dimitris <dlaskaratos@intracomtel.com>
5019220 gpapathan87 <gpapathan@intracom-telecom.com>
1c306f8 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
ffbdd36 gpapathan87 <gpapathan@intracom-telecom.com>
115dc2b gpapathan87 <gpapathan@intracom-telecom.com>
6853558 George Papathanail <gpapathan@intracom-telecom.com>
d5b16ec George Papathanail <gpapathan@intracom-telecom.com>
8fb1a20 George Papathanail <gpapathan@intracom-telecom.com>
3cd0065 George Papathanail <gpapathan@intracom-telecom.com>
e3d5a42 George Papathanail <gpapathan@intracom-telecom.com>
0d19f78 George Papathanail <gpapathan@intracom-telecom.com>
200f522 gpapathan87 <gpapathan@intracom-telecom.com>
14a961a gpapathan87 <gpapathan@intracom-telecom.com>
d1699f7 gpapathan87 <gpapathan@intracom-telecom.com>
d97ed44 gpapathan87 <gpapathan@intracom-telecom.com>
d9c0779 gpapathan87 <gpapathan@intracom-telecom.com>
b9fcf2f gpapathan87 <gpapathan@intracom-telecom.com>
691c4df gpapathan87 <gpapathan@intracom-telecom.com>
26f6c9a gpapathan87 <gpapathan@intracom-telecom.com>
9baba9a gpapathan87 <gpapathan@intracom-telecom.com>
ed1acfe gpapathan87 <gpapathan@intracom-telecom.com>
4c6e50b gpapathan87 <gpapathan@intracom-telecom.com>
26c8c0e gpapathan87 <gpapathan@intracom-telecom.com>
5c06d78 gpapathan87 <gpapathan@intracom-telecom.com>
bc1f66d gpapathan87 <gpapathan@intracom-telecom.com>
fed9024 gpapathan87 <gpapathan@intracom-telecom.com>
40a326e gpapathan87 <gpapathan@intracom-telecom.com>
cb477d5 gpapathan87 <gpapathan@intracom-telecom.com>
91fa911 gpapathan87 <gpapathan@intracom-telecom.com>
07c60a6 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
1eee74c Laskaratos Dimitris <dlaskaratos@intracomtel.com>
081fb06 gpapathan87 <gpapathan@intracom-telecom.com>
2d9454f Laskaratos Dimitris <dlaskaratos@intracomtel.com>
4df132c Laskaratos Dimitris <dlaskaratos@intracomtel.com>
470d794 gpapathan87 <gpapathan@intracom-telecom.com>
f74b284 gpapathan87 <gpapathan@intracom-telecom.com>
bf8adc9 Laskaratos Dimitris <dlaskaratos@intracomtel.com>
27eb9a9 gpapathan87 <gpapathan@intracom-telecom.com>
5529ce2 gpapathan87 <gpapathan@intracom-telecom.com>
97e88f3 gpapathan87 <gpapathan@intracom-telecom.com>
993ace0 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
c3fd363 Giorgos Papathanail <gpapathan@intracom-telecom.com>
d2ef265 Giorgos Papathanail <gpapathan@intracom-telecom.com>
2ea3991 Gr3at <33185243+Gr3at@users.noreply.github.com>
82f3614 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
6f1df82 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
9f45c7e Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
1552918 Gr3at <33185243+Gr3at@users.noreply.github.com>
48c19e0 Gr3at <33185243+Gr3at@users.noreply.github.com>
aad20b0 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
94cbd48 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
66e9937 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
3df1e4b Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
51c6362 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
2773a8d Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
a4bf76c Gr3at <33185243+Gr3at@users.noreply.github.com>
f1ecd0b Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
15d89d8 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
ba152ed Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
ea53f89 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
a06eae6 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
04ca70a Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
85d6d40 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
098dde3 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
fb80e5e Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
9964e70 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
e2d6d85 Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
f7938fb Karagkounis Dimitris <33185243+Gr3at@users.noreply.github.com>
9cee43e Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
37c8856 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
f28bc07 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
a5e2f46 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
4f2ed3a Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
4a231db Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
ed9f3db Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
ab440c5 Karagkounis Dimitris <dkaragkounis@intracom-telecom.com>
cd80d90 Gr3at <33185243+Gr3at@users.noreply.github.com>
 No newline at end of file
+708 −117

File changed.

Preview size limit exceeded, changes collapsed.

+81 −17
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ class FederationManagerClient:
            logger.error(f"DELETE /{id}/partner unexpected error: {e}")
            return {"error": str(e)}, 500


    def get_federation_context_ids(self, token: str):
        url = f"{self.base_url}/fed-context-id"
        try:
@@ -106,26 +107,62 @@ class FederationManagerClient:
            logger.error(f"GET /fed-context-id unexpected error: {e}")
            return {"error": str(e)}, 500

    def get_federation(self, federation_context_id: str, token: str):
        """Verify that a federation context exists"""
        url = f"{self.base_url}/{federation_context_id}"
        try:
            response = requests.get(
                url,
                headers=self._get_headers(token),
                timeout=10
            )
            try:
                response_body = response.json()
            except ValueError:
                response_body = response.text
            return response_body, response.status_code
        except Timeout:
            logger.error(f"GET /{federation_context_id} timed out")
            return {"error": "Request timed out"}, 408
        except ConnectionError:
            logger.error(f"GET /{federation_context_id} connection error")
            return {"error": "Connection error"}, 503
        except requests.exceptions.HTTPError as http_err:
            logger.error(f"GET /{federation_context_id} HTTP error: {http_err}")
            return {"error": str(http_err)}, response.status_code
        except Exception as e:
            logger.error(f"GET /{federation_context_id} unexpected error: {e}")
            return {"error": str(e)}, 500

        
    '''---PARTNER APP ONBOARDING---'''

    def onboard_application(self, federation_context_id: str, body: dict, token: str):
        url = f"{self.base_url}/{federation_context_id}/application/onboarding"
        try:
           response = requests.post(url, headers=self._get_headers(token), json=body, timeout=10)
           response.raise_for_status()
           return response.json()
            response = requests.post(
                url,
                headers=self._get_headers(token),
                json=body,
                timeout=10
            )
            try:
                response_body = response.json()
            except ValueError:
                response_body = response.text
            return response_body, response.status_code
        except Timeout:
            logger.error("POST /application/onboarding timed out")
          return {"error": "Request timed out"}
            return {"error": "Request timed out"}, 408
        except ConnectionError:
            logger.error("POST /application/onboarding connection error")
            return {"error": "Connection error"}
            return {"error": "Connection error"}, 503
        except requests.exceptions.HTTPError as http_err:
            logger.error(f"POST /application/onboarding HTTP error: {http_err}")
            return {"error": str(http_err), "status_code": response.status_code}
            return {"error": str(http_err)}, response.status_code
        except Exception as e:
            logger.error(f"POST /application/onboarding unexpected error: {e}")
            return {"error": str(e)}
            return {"error": str(e)}, 500


    def get_onboarded_app(self, federation_context_id: str, app_id: str, token: str):
@@ -171,11 +208,29 @@ class FederationManagerClient:
    def deploy_app_partner(self, federation_context_id: str, body: dict, token: str):
        url = f"{self.base_url}/{federation_context_id}/application/lcm"
        try:
            response = requests.post(url, headers=self._get_headers(token), json=body, timeout=10)
            return response
            response = requests.post(
                url,
                headers=self._get_headers(token),
                json=body,
                timeout=10
            )
            try:
                response_body = response.json()
            except ValueError:
                response_body = response.text
            return response_body, response.status_code
        except Timeout:
            logger.error("POST /application/lcm timed out")
            return {"error": "Request timed out"}, 408
        except ConnectionError:
            logger.error("POST /application/lcm connection error")
            return {"error": "Connection error"}, 503
        except requests.exceptions.HTTPError as http_err:
            logger.error(f"POST /application/lcm HTTP error: {http_err}")
            return {"error": str(http_err)}, response.status_code
        except Exception as e:
            logger.error(f"DELETE onboarding app unexpected error: {e}")
            return {"error": str(e), "status_code": 500}
            logger.error(f"POST /application/lcm unexpected error: {e}")
            return {"error": str(e)}, 500

    '''---AVAILABILITY ZONE INFO SYNCHRONIZATION---'''

@@ -238,14 +293,23 @@ class FederationManagerClient:

    '''---ARTEFACT API---'''

    def create_artefact(self, artefact: dict, federation_context_id, token: str):
    def create_artefact(self, artefact: dict, federation_context_id: str, token: str):
        url = f"{self.base_url}/{federation_context_id}/artefact"
        try:
            response = requests.post(url, headers=self._get_headers(token), json=artefact, timeout=10)
            return response
            response = requests.post(
                url,
                headers=self._get_headers(token),
                json=artefact,
                timeout=120
            )
            try:
                body = response.json()
            except ValueError:
                body = response.text
            return body, response.status_code
        except Exception as e:
            logger.error(f"Create artefact unexpected error: {e}")
            return {"error": str(e), "status_code": 500}
            return {"error": str(e)}, 500

class FederationManagerClientFactory:
    def __init__(self):