From 7829562ce5d662753f77f88d820196cf95eed919 Mon Sep 17 00:00:00 2001 From: Dimitrios <dimit.giannopoulos@upnet.gr> Date: Sat, 6 Jul 2024 09:57:35 +0000 Subject: [PATCH] Deployed d2c66e6 to develop in public with MkDocs 1.6.0 and mike 2.1.2 --- public/develop/404.html | 21 + .../OpenSlice_deployment_examples/index.html | 21 + public/develop/alarms_actions/index.html | 21 + .../CRIDGE/CRIDGEforDevelopers/index.html | 21 + .../architecture/architecture/index.html | 21 + .../architecture/centrallog/index.html | 21 + .../index.html | 21 + .../develop/architecture/issuemgt/index.html | 21 + .../architecture/messagebus/index.html | 21 + public/develop/architecture/nfvapi/index.html | 21 + public/develop/architecture/oauth/index.html | 21 + public/develop/architecture/osom/index.html | 21 + public/develop/architecture/tmfapi/index.html | 21 + public/develop/catalogs/index.html | 21 + public/develop/config_intro/index.html | 21 + .../contributing/developing/index.html | 21 + .../develop/contributing/wishlist/index.html | 21 + public/develop/deployment/index.html | 21 + public/develop/deploymentCompose/index.html | 21 + public/develop/deploymentK8s/index.html | 21 + public/develop/etsi_osl/index.html | 21 + public/develop/history/index.html | 21 + public/develop/index.html | 21 + public/develop/lcm/index.html | 21 + public/develop/naas/exposed_apis/index.html | 21 + public/develop/naas/gst_to_tmf/index.html | 21 + public/develop/naas/introduction/index.html | 21 + public/develop/naas/lcm/img02.png | Bin 0 -> 324508 bytes public/develop/naas/lcm/img03.png | Bin 0 -> 85045 bytes public/develop/naas/lcm_intro/index.html | 78 +- .../develop/naas/lcm_rules_intro/index.html | 167 +- public/develop/naas/nfv/intro/index.html | 21 + .../develop/naas/nfv/nfvcatalogs/index.html | 21 + .../develop/naas/nfv/nfvservices/index.html | 21 + .../develop/naas/resource_catalog/index.html | 21 + .../naas/resource_inventory/index.html | 21 + public/develop/naas/resource_spec/index.html | 21 + .../develop/naas/service_catalog/index.html | 21 + .../develop/naas/service_inventory/index.html | 21 + .../develop/naas/service_ordering/index.html | 21 + public/develop/naas/service_spec/index.html | 21 + public/develop/naas/so/img01.png | Bin 0 -> 372723 bytes public/develop/naas/so_intro/index.html | 25 +- .../index.html | 21 + .../so_servicespec_to_services_nfv/index.html | 21 + public/develop/nfvoconfig/index.html | 21 + .../ole_keycloak_management/index.html | 21 + public/develop/portals_intro/index.html | 21 + .../role_keycloak_management/index.html | 21 + public/develop/search/search_index.json | 2 +- .../index.html | 27 +- .../service_design/examples/intro/index.html | 2808 +++++++++++++++++ .../develop/service_design/intro/index.html | 21 + .../ExposingKubernetesResources/index.html | 21 + .../index.html | 21 + .../kubernetes/helm/design_helmaas/index.html | 21 + .../kubernetes/intro/index.html | 21 + .../nfv/design_nfv_services/index.html | 27 +- public/develop/service_inventory/index.html | 21 + .../ordering_services/index.html | 21 + public/develop/sitemap.xml | 10 +- public/develop/sitemap.xml.gz | Bin 755 -> 751 bytes public/develop/terminology/index.html | 21 + public/develop/under_construction/index.html | 21 + 64 files changed, 4177 insertions(+), 59 deletions(-) create mode 100644 public/develop/naas/lcm/img02.png create mode 100644 public/develop/naas/lcm/img03.png create mode 100644 public/develop/naas/so/img01.png create mode 100644 public/develop/service_design/examples/intro/index.html diff --git a/public/develop/404.html b/public/develop/404.html index 1bf979f0..4dee391d 100644 --- a/public/develop/404.html +++ b/public/develop/404.html @@ -1708,6 +1708,27 @@ + <li class="md-nav__item"> + <a href="/develop/service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="/develop/./service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/OpenSlice_deployment_examples/index.html b/public/develop/OpenSlice_deployment_examples/index.html index 5ff33244..1b7981d8 100644 --- a/public/develop/OpenSlice_deployment_examples/index.html +++ b/public/develop/OpenSlice_deployment_examples/index.html @@ -1833,6 +1833,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/alarms_actions/index.html b/public/develop/alarms_actions/index.html index 043f0029..01428428 100644 --- a/public/develop/alarms_actions/index.html +++ b/public/develop/alarms_actions/index.html @@ -1715,6 +1715,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/CRIDGE/CRIDGEforDevelopers/index.html b/public/develop/architecture/CRIDGE/CRIDGEforDevelopers/index.html index 63045962..3318377b 100644 --- a/public/develop/architecture/CRIDGE/CRIDGEforDevelopers/index.html +++ b/public/develop/architecture/CRIDGE/CRIDGEforDevelopers/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/architecture/index.html b/public/develop/architecture/architecture/index.html index 70450f72..971ee8c1 100644 --- a/public/develop/architecture/architecture/index.html +++ b/public/develop/architecture/architecture/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/centrallog/index.html b/public/develop/architecture/centrallog/index.html index 316a7e46..d14a626d 100644 --- a/public/develop/architecture/centrallog/index.html +++ b/public/develop/architecture/centrallog/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/consumingServicesFromExternalPartners/index.html b/public/develop/architecture/consumingServicesFromExternalPartners/index.html index 85f15968..30b12ace 100644 --- a/public/develop/architecture/consumingServicesFromExternalPartners/index.html +++ b/public/develop/architecture/consumingServicesFromExternalPartners/index.html @@ -1774,6 +1774,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/issuemgt/index.html b/public/develop/architecture/issuemgt/index.html index cb2a4a09..e54f17f6 100644 --- a/public/develop/architecture/issuemgt/index.html +++ b/public/develop/architecture/issuemgt/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/messagebus/index.html b/public/develop/architecture/messagebus/index.html index 325eaf33..de26e16f 100644 --- a/public/develop/architecture/messagebus/index.html +++ b/public/develop/architecture/messagebus/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/nfvapi/index.html b/public/develop/architecture/nfvapi/index.html index b0643361..03939848 100644 --- a/public/develop/architecture/nfvapi/index.html +++ b/public/develop/architecture/nfvapi/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/oauth/index.html b/public/develop/architecture/oauth/index.html index 86975efc..93638887 100644 --- a/public/develop/architecture/oauth/index.html +++ b/public/develop/architecture/oauth/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/osom/index.html b/public/develop/architecture/osom/index.html index 37930ff2..424d0f27 100644 --- a/public/develop/architecture/osom/index.html +++ b/public/develop/architecture/osom/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/architecture/tmfapi/index.html b/public/develop/architecture/tmfapi/index.html index 2a3ca15c..b2695c9e 100644 --- a/public/develop/architecture/tmfapi/index.html +++ b/public/develop/architecture/tmfapi/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/catalogs/index.html b/public/develop/catalogs/index.html index d8b21a90..f2f2583a 100644 --- a/public/develop/catalogs/index.html +++ b/public/develop/catalogs/index.html @@ -1715,6 +1715,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/config_intro/index.html b/public/develop/config_intro/index.html index 61f125f3..ca8e2e1f 100644 --- a/public/develop/config_intro/index.html +++ b/public/develop/config_intro/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/contributing/developing/index.html b/public/develop/contributing/developing/index.html index 81c248ed..1eb115eb 100644 --- a/public/develop/contributing/developing/index.html +++ b/public/develop/contributing/developing/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/contributing/wishlist/index.html b/public/develop/contributing/wishlist/index.html index 772859d6..a1f35c11 100644 --- a/public/develop/contributing/wishlist/index.html +++ b/public/develop/contributing/wishlist/index.html @@ -1715,6 +1715,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/deployment/index.html b/public/develop/deployment/index.html index 8f27bb8f..2fa7ed65 100644 --- a/public/develop/deployment/index.html +++ b/public/develop/deployment/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/deploymentCompose/index.html b/public/develop/deploymentCompose/index.html index e9a1ed05..5d4f106a 100644 --- a/public/develop/deploymentCompose/index.html +++ b/public/develop/deploymentCompose/index.html @@ -2078,6 +2078,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/deploymentK8s/index.html b/public/develop/deploymentK8s/index.html index 49340c4b..f39cd0cb 100644 --- a/public/develop/deploymentK8s/index.html +++ b/public/develop/deploymentK8s/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/etsi_osl/index.html b/public/develop/etsi_osl/index.html index d4907455..67e328b9 100644 --- a/public/develop/etsi_osl/index.html +++ b/public/develop/etsi_osl/index.html @@ -1731,6 +1731,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/history/index.html b/public/develop/history/index.html index c1fda89d..603f4955 100644 --- a/public/develop/history/index.html +++ b/public/develop/history/index.html @@ -1775,6 +1775,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/index.html b/public/develop/index.html index b2f2bb1e..f1077e33 100644 --- a/public/develop/index.html +++ b/public/develop/index.html @@ -1824,6 +1824,27 @@ + <li class="md-nav__item"> + <a href="service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/lcm/index.html b/public/develop/lcm/index.html index 53b62e30..76f9c091 100644 --- a/public/develop/lcm/index.html +++ b/public/develop/lcm/index.html @@ -1715,6 +1715,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/exposed_apis/index.html b/public/develop/naas/exposed_apis/index.html index 242bee3b..b7ce8ecf 100644 --- a/public/develop/naas/exposed_apis/index.html +++ b/public/develop/naas/exposed_apis/index.html @@ -1724,6 +1724,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/gst_to_tmf/index.html b/public/develop/naas/gst_to_tmf/index.html index 3aa6f8c8..58400447 100644 --- a/public/develop/naas/gst_to_tmf/index.html +++ b/public/develop/naas/gst_to_tmf/index.html @@ -1781,6 +1781,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/introduction/index.html b/public/develop/naas/introduction/index.html index 65811696..73476ff7 100644 --- a/public/develop/naas/introduction/index.html +++ b/public/develop/naas/introduction/index.html @@ -1731,6 +1731,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/lcm/img02.png b/public/develop/naas/lcm/img02.png new file mode 100644 index 0000000000000000000000000000000000000000..a98bcfb28dc42a3182730671fc6ec095c4c66a6d GIT binary patch literal 324508 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	e$8wbMAUw~4R^pJv7O3LqL2e^L=9Iv6t|{Wp4R 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%0D1w6Hs+@B+JiF{mp4p-bY*z0|EUFHNW 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 Dejj}S literal 0 HcmV?d00001 diff --git a/public/develop/naas/lcm/img03.png b/public/develop/naas/lcm/img03.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0afe6e125b54d1956c84075d5a9f54312537aa GIT binary patch literal 85045 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 literal 0 HcmV?d00001 diff --git a/public/develop/naas/lcm_intro/index.html b/public/develop/naas/lcm_intro/index.html index 6145628f..2faaa887 100644 --- a/public/develop/naas/lcm_intro/index.html +++ b/public/develop/naas/lcm_intro/index.html @@ -1261,21 +1261,6 @@ </span> </a> - <nav class="md-nav" aria-label="3. Decommissioning Phase"> - <ul class="md-nav__list"> - - <li class="md-nav__item"> - <a href="#service-decommissioning" class="md-nav__link"> - <span class="md-ellipsis"> - Service Decommissioning: - </span> - </a> - -</li> - - </ul> - </nav> - </li> <li class="md-nav__item"> @@ -1910,6 +1895,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> @@ -2914,21 +2920,6 @@ </span> </a> - <nav class="md-nav" aria-label="3. Decommissioning Phase"> - <ul class="md-nav__list"> - - <li class="md-nav__item"> - <a href="#service-decommissioning" class="md-nav__link"> - <span class="md-ellipsis"> - Service Decommissioning: - </span> - </a> - -</li> - - </ul> - </nav> - </li> <li class="md-nav__item"> @@ -2970,13 +2961,13 @@ <h1 id="lifecycle-management-lcm">Lifecycle Management - LCM</h1> -<p>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</p> +<p>Lifecycle Management: The orchestration framework handles the activation, termination and any necessary modifications throughout the service lifecycle.</p> <h2 id="intended-audience-service-designers">Intended Audience: Service Designers</h2> <p>In OpenSlice the Lifecycle of a service follows in general the concept of Network Slice lifecycle as defined by 3GPP.</p> <p><a href="../lcm/img01.png"><img alt="lcm" src="../lcm/img01.png" /></a></p> <h2 id="introduction-in-openslice-lcm">Introduction in OpenSlice LCM</h2> -<p>OpenSlice Adopted adopted the LCM model by 3GPP and mapped to the TMF model service state. Next we discuss briefly the process and the relationships.</p> -<p>The lifecycle of a service, particularly in the context of Network Service lifecycleencompasses several stages that ensure the service is effectively planned, deployed, managed, and eventually decommissioned. </p> +<p>OpenSlice adopted the LCM model by 3GPP and mapped to the TMF model service state. Next we discuss briefly the process and the relationships.</p> +<p>The lifecycle of a service, particularly in the context of Network Service lifecycle encompasses several stages that ensure the service is effectively planned, deployed, managed, and eventually decommissioned. </p> <p>Here is an overview of these stages and relationships with OpenSlice:</p> <h3 id="0-preparation-phase">0. Preparation Phase</h3> <p>This phase is performed by Service Designers</p> @@ -2992,8 +2983,8 @@ <h3 id="1-instantiation-phase">1. Instantiation Phase</h3> <h4 id="service-instantiation">Service Instantiation:</h4> <ul> -<li><strong>Configuration:</strong> Configure the network service according to the specifications includin the user requirements from the service order, ensuring that all components are correctly set up to provide the desired service.</li> -<li><strong>Resource Allocation - Feasibility check:</strong> Allocate the necessary physical and virtual resources based on the service specification. This includes any containerized resources, virtual network functions (VNFs) and software-defined networking (SDN) components. (This step is not perfromed in OpenSlice)</li> +<li><strong>Configuration:</strong> Configure the network service according to the specifications including the user requirements from the service order, ensuring that all components are correctly set up to provide the desired service.</li> +<li><strong>Resource Allocation - Feasibility check:</strong> Allocate the necessary physical and virtual resources based on the service specification. This includes any containerized resources, virtual network functions (VNFs) and software-defined networking (SDN) components. (This step is not performed in OpenSlice)</li> <li>OpenSlice Service Orchestrator creates the services at "RESERVED" state</li> <li><strong>User Notification:</strong> There could be an email notification from the system (if Bugzilla is configured)</li> </ul> @@ -3004,7 +2995,7 @@ <li>Contacting all related controllers during provisioning, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls)</li> <li>Scheduling instantiation, Resolving dependencies and passing paramemters between controllers,</li> <li>setting up user accounts, provisioning access credentials -this is performed either offline or via other services.</li> -<li>OpenSlice Service Orchestrator if everything is succesful put the service at "ACTIVE" state</li> +<li>OpenSlice Service Orchestrator if everything is succesful puts the service at "ACTIVE" state</li> <li><strong>User Notification:</strong> There could be an email notification from the system (if Bugzilla is configured)</li> </ul> <h3 id="2-operation-phase">2. Operation Phase</h3> @@ -3021,13 +3012,14 @@ <li><strong>Fault Management:</strong> Detect and resolve faults in the network slice to minimize downtime and maintain service quality.</li> </ul> <h3 id="3-decommissioning-phase">3. Decommissioning Phase</h3> -<h4 id="service-decommissioning">Service Decommissioning:</h4> -<p><strong>Service Termination:</strong> Service Orchestrator terminates the network service . This may involve: - - Terminate any related services that the service depends on - - Contacting all related controllers during termination to release resources, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls) - - Scheduling termination, Resolving dependencies and passing paramemters between controllers -- OpenSlice Service Orchestrator if everything is succesful put the service at "TERMINATED" state -- <strong>User Notification:</strong> There could be an email notification from the system (if Bugzilla is configured)</p> +<ul> +<li><strong>Service Termination:</strong> Service Orchestrator terminates the network service. This may involve:</li> +<li>Terminate any related services that the service depends on</li> +<li>Contacting all related controllers during termination to release resources, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls)</li> +<li>Scheduling termination, Resolving dependencies and passing paramemters between controllers</li> +<li>OpenSlice Service Orchestrator, if everything is succesful, puts the service at "TERMINATED" state</li> +<li><strong>User Notification:</strong> There could be an email notification from the system (if Bugzilla is configured)</li> +</ul> <h3 id="high-level-example-enhanced-mobile-broadband-embb-service-lifecycle">High level example: Enhanced Mobile Broadband (eMBB) Service Lifecycle</h3> <ol> <li><strong>Preparation:</strong></li> diff --git a/public/develop/naas/lcm_rules_intro/index.html b/public/develop/naas/lcm_rules_intro/index.html index 9addf4e2..9c18f386 100644 --- a/public/develop/naas/lcm_rules_intro/index.html +++ b/public/develop/naas/lcm_rules_intro/index.html @@ -75,6 +75,11 @@ <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> + + <a href="#lifecycle-management-rules-lcm-rules" class="md-skip"> + Skip to content + </a> + </div> <div data-md-component="announce"> @@ -1131,6 +1136,19 @@ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> + + + + <label class="md-nav__link md-nav__link--active" for="__toc"> + + + <span class="md-ellipsis"> + LCM Rules Introduction + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> <a href="./" class="md-nav__link md-nav__link--active"> @@ -1142,6 +1160,52 @@ </a> + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#intended-audience-service-designers" class="md-nav__link"> + <span class="md-ellipsis"> + Intended Audience: Service Designers + </span> + </a> + +</li> + + <li class="md-nav__item"> + <a href="#examine-if-the-rules-are-executed-successfully" class="md-nav__link"> + <span class="md-ellipsis"> + Examine if the rules are executed successfully + </span> + </a> + +</li> + + <li class="md-nav__item"> + <a href="#probe-further" class="md-nav__link"> + <span class="md-ellipsis"> + Probe further + </span> + </a> + +</li> + + </ul> + +</nav> + </li> @@ -1726,6 +1790,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> @@ -2614,6 +2699,43 @@ + + + + <label class="md-nav__title" for="__toc"> + <span class="md-nav__icon md-icon"></span> + Table of contents + </label> + <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> + + <li class="md-nav__item"> + <a href="#intended-audience-service-designers" class="md-nav__link"> + <span class="md-ellipsis"> + Intended Audience: Service Designers + </span> + </a> + +</li> + + <li class="md-nav__item"> + <a href="#examine-if-the-rules-are-executed-successfully" class="md-nav__link"> + <span class="md-ellipsis"> + Examine if the rules are executed successfully + </span> + </a> + +</li> + + <li class="md-nav__item"> + <a href="#probe-further" class="md-nav__link"> + <span class="md-ellipsis"> + Probe further + </span> + </a> + +</li> + + </ul> </nav> </div> @@ -2628,9 +2750,48 @@ - <h1>LCM Rules Introduction</h1> - - +<h1 id="lifecycle-management-rules-lcm-rules">Lifecycle Management Rules - LCM Rules</h1> +<p>Lifecycle Management Rules: Defining complex conditions and actions during the lifecycle of a service and any necessary modifications throughout the service lifecycle.</p> +<h2 id="intended-audience-service-designers">Intended Audience: Service Designers</h2> +<p>OpenSlice end-to-end (E2E) service orchestrator follows some predefined workflows to manage a service lifecycle (They are described in BPMN language and included in our orchestration engine)</p> +<p>So in the system there are already predefined recipes, which in each process-step of the workflow some piece of code is executed. </p> +<p>How is it possible to intervene in the workflow process and inject some user defined actions? The next image illustrates the idea</p> +<p><a href="../lcm/img02.png"><img alt="lcm" src="../lcm/img02.png" /></a></p> +<p>## How is it possible to intervene in the workflow process and affect it?</p> +<p>LCM Rules are used for defining complex conditions and actions during the lifecycle of a service. In Openslice there are the following types of rules defined:</p> +<ul> +<li>PRE_PROVISION</li> +<li>CREATION</li> +<li>AFTER_ACTIVATION </li> +<li>SUPERVISION </li> +<li>AFTER_DEACTIVATION </li> +</ul> +<p>The following figure displays the different phases that the rules are performed, during the lifecycle of a Network Service Instance. </p> +<p><a href="../lcm/img03.png"><img alt="lcm" src="../lcm/img03.png" /></a></p> +<ul> +<li>PRE_PROVISION rules: Run only once just before creating a service with a given priority. </li> +<li>CREATION rules: Run while the referenced service dependencies of a service are created</li> +<li>AFTER_ACTIVATION rules: Run only once just after a service get the ACTIVE state</li> +<li>SUPERVISION rules: Run when a characteristic of a service is changed and the service is in the ACTIVE state </li> +<li>AFTER_DEACTIVATION rules: Run only once just after a service get the INACTIVE/TERMINATED state </li> +</ul> +<p>In general the rules allow to perform many actions during service LCM. These are some examples:</p> +<ul> +<li>Modify service specification parameters before the instantiation of a service (or during operation) based on other dependencies. These parameters might be part of other services already included in Service order</li> +<li>Translate GST/NEST parameter values to other values passed later to NFVO for instantiation or control</li> +<li>Define complex OSM Configs based on other dependencies and passing variables</li> +<li>Define any dependencies when creating the referenced services</li> +<li>Dynamically include new service dependencies</li> +<li>Create new service orders so include dynamically other services</li> +<li>Call external (RESTful) services (via http(s), define payload, examine response)</li> +</ul> +<h2 id="examine-if-the-rules-are-executed-successfully">Examine if the rules are executed successfully</h2> +<p>Rules are transformed automatically to executable code (currently is Java). If a rule is performed successfully or has any issues (e.g. unexpected syntax errors or exceptions) appear in OSOM logfiles and also tey are attached as Notes to the running Service.</p> +<h2 id="probe-further">Probe further</h2> +<ul> +<li>In the <a href="../../service_design/intro/">Service Design</a> section we present in details the Lifecycle rules and how one can design them</li> +<li>Many of them are used in our provided Service Design <a href="../../service_design/examples/intro/">examples</a></li> +</ul> diff --git a/public/develop/naas/nfv/intro/index.html b/public/develop/naas/nfv/intro/index.html index 1cdb4a1a..8a3bbd39 100644 --- a/public/develop/naas/nfv/intro/index.html +++ b/public/develop/naas/nfv/intro/index.html @@ -1726,6 +1726,27 @@ + <li class="md-nav__item"> + <a href="../../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/nfv/nfvcatalogs/index.html b/public/develop/naas/nfv/nfvcatalogs/index.html index d53a9f6e..4b217871 100644 --- a/public/develop/naas/nfv/nfvcatalogs/index.html +++ b/public/develop/naas/nfv/nfvcatalogs/index.html @@ -1710,6 +1710,27 @@ + <li class="md-nav__item"> + <a href="../../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/nfv/nfvservices/index.html b/public/develop/naas/nfv/nfvservices/index.html index 60637004..8a42a82d 100644 --- a/public/develop/naas/nfv/nfvservices/index.html +++ b/public/develop/naas/nfv/nfvservices/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/resource_catalog/index.html b/public/develop/naas/resource_catalog/index.html index 7ceb877e..72b24ab1 100644 --- a/public/develop/naas/resource_catalog/index.html +++ b/public/develop/naas/resource_catalog/index.html @@ -1733,6 +1733,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/resource_inventory/index.html b/public/develop/naas/resource_inventory/index.html index 5ffcd73e..a25a479b 100644 --- a/public/develop/naas/resource_inventory/index.html +++ b/public/develop/naas/resource_inventory/index.html @@ -1726,6 +1726,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/resource_spec/index.html b/public/develop/naas/resource_spec/index.html index 3f5f0a48..4e051004 100644 --- a/public/develop/naas/resource_spec/index.html +++ b/public/develop/naas/resource_spec/index.html @@ -1726,6 +1726,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/service_catalog/index.html b/public/develop/naas/service_catalog/index.html index d54aab5e..d4b7e609 100644 --- a/public/develop/naas/service_catalog/index.html +++ b/public/develop/naas/service_catalog/index.html @@ -1808,6 +1808,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/service_inventory/index.html b/public/develop/naas/service_inventory/index.html index 35ab7845..2ea4d81f 100644 --- a/public/develop/naas/service_inventory/index.html +++ b/public/develop/naas/service_inventory/index.html @@ -1799,6 +1799,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/service_ordering/index.html b/public/develop/naas/service_ordering/index.html index 8bb7247d..346ac7b1 100644 --- a/public/develop/naas/service_ordering/index.html +++ b/public/develop/naas/service_ordering/index.html @@ -1799,6 +1799,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/service_spec/index.html b/public/develop/naas/service_spec/index.html index 09aaaf7f..56916bd3 100644 --- a/public/develop/naas/service_spec/index.html +++ b/public/develop/naas/service_spec/index.html @@ -1835,6 +1835,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/so/img01.png b/public/develop/naas/so/img01.png new file mode 100644 index 0000000000000000000000000000000000000000..a43930df2be8db5257b4d8e43ff419c9b9837314 GIT binary patch literal 372723 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%0Ak6aX`vcN)cJ)mm}(l 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∓js)3f81CZ*}#q6&z+iK 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bt7zIrh*eOo@N1GTjPg{C7=&B6 z;U^|yFpF`CQo+7h3D(8>qZ8tA5KsXYP&VU|oAeX@&n=FgsS}g}KjgVkO#LR0*7fH6 zmh@;eUwBH*!Jmw5LWaqEbCk!r{mJb;0T?Lmz+Zl$_9w)XFu;u$kCOk6pU!4mZ*DX5 zxO#wbFXtsT+;_cKe|+K*5=qKaEYG@k5z%Natu9vjS1tf8T;ws@_=(HMHce7=&*RDH zTlh!3<Dv7zv4it2sK5A?SZlbpBTGiXV%jH_{H&%J3mQ)v!{ZwTCKll^ApTZ{ltJke z(cDB0kI-Sr&;1iR{Lt+v*FTwO>`0L`w*ltAM3~;o7?~`(jcz1iS7OKL|8SPEEw<K( zw#T#O@kJ=)+qlGPo9KDue47M4A}T+B$%tm~YI_fF`}~Y84}o+BMcycDzxycuueC}& zLL!Ve%o&uxF@qf<3B?`EZB~cPG~lbOLGQVP8d=}toz6y{t<vO=B?u3H?Zmr{J-Cvq zSgNce{DBZJVZ?q3a>A_F`1z&i&AID2FoGG|Vu$}KdpI;a9~nH;-G^STVi`=Y<`_+? zeWSWm^KcQbl{%cy>v)G<Buk{Q;c&`5$wi!uAe77Nmr~aqnHZ!G@xom7Qnd(2`~cgS za1qGijgI`T(8~wD0~!bSKb@rA>+z4#9E{T33&h3^1kr8$`10h?PT0%Nx0Zm3=n8~3 z=|c?TdKaob(e#a0LHu2BoeK3Y`7W&+N`7d?99`71*e55hH*-NykqRTXudyygd#^Or zEZuqcV!}9Tp3HgTGY2^AUU*0;f=cVqKn#kM37rUZ1SW_Ouy%|7jdSLNLhn*BJSFm1 z)JFWfP#tltz9W-=iuG>&^RiR3N7*7`I9^jPe=J3of9<_44alA5%Sjjk%F-8{V6B^7 z&rZ(i$d#G=LRWMIK7vi*;jl0E6j5X^k$g=2NA`2rO&6-2aEK0#@jiVWXbZJm$DHnG z{ClbDpm#22ihlP-0u*DD&IE-Azj$8%9DiA12FEIV==EVNzF1$!u_O9Jl#10g$%%_m z0x}W*e@wk~SQFkG_fH8ZF%Suf5h{&<bPS|KMM}B`h)9>zV024OB&EB%9ix#cNOw1k z?$Pj!&-ZzL*YCRaCl`P0?3{C-_x*amZ_n=oBB{^Vl^mpH3GYTmfB6CALko{8Rp{Av z?kwv-qQEb=A6)-cs$5Gcl6+V`c7I)bNiy77cJwHew4b`7SUy3wqTfIB#W-7NU|d3O ze?%OgdH(Z{DxQzma*Ny)Z%8*en5m9qDPkrRmrNquL0hcTBk6=&S;lD<uBRvvyR7;c zz5$4E>gkh7H(M!qj6=oYE3{NjX(6Y;W2^kFY4+WD9XU!Za@W$q`oG_xOpY{4+hIGs zIsY~HWO?!21snHA%u?J#i=eZo`y;pp$PsDA3(7Q47t*mJ=)mea;h62L!q{rwTt<s5 z08#CqJX*sl-7ciSk(?|WNWGtTefem*p)TC|EMHx;bT2lCT&p;FA;=UpJ3hg{is>Mp z2*HPmfG$n6EmjVcuvTuufCpfo`d6+34^vt_MdofMB`?P)h)^r1Jj+H7%#XjR$$8_B zO~~1PZ1_9G4)YIV?Mtqo!LA!nCbvl*8Lh3E>OAouo{lA`WrGc#ad1vrAkh|c#j1L> zE$Ak9wXfF6Y1U5d)aC1H5f`inKCQP<_bCk?uf1ws=diCr*sY;p47;-<<ooYXV9J@s z${vAUK#C!*lO3GG+;DI_T6Zu_%A-w9#;Onx$g;6-_Q^kPIO;g@Kv1$&eJ__o!*X=; zaEF}nq|Up3B|j&dRrbXg3HNd&U6OpxWhjSwJZ{Vg$JipS-_B?0sJ+Clx!H<oEg7Zy z_>tu@^V+h^H)RXGpCpO;(66v?DA3rz(Fbd%wc-r{^*bf`%f(^U`29J}*+SN*2x2^^ z$UCqWUDfb~uT2ZSQ=}1~odIXRKU;qu)8*^+XnL$!hV+_$7Vq&^`}=QOm-bc{=u@7$ zGgD&^hCH@QJze{4AL8x6*CfTG^*@dNNyzY@#(a?iAK-~VfojUna0h%M=~_J;gvtg= zvS)vY?{)Z?==&+4@awL-L0X6?E_dz0^kH!-27W<*Dbh)iofY=F-C)YoS}#ShvPr#u zB=xdLMdxADYd&NsQE)uT_+d51%ViFN7Rb4bx0Nsk2=>>IY|Y#M6?UB+Jv6Fm`q5)U z>-0*`tZhSkSo?HlImtvc$kij>T7nZ|d#+E+Y_i{SsvZCfDRPY~UYjUf6E0bMKj!eG z6pfp`gU+S}4`lb{jqht{BR8m|{<S%EnJ$2J<!s!vJ}Rea@zxhvl>#=t_;}z}04~0M zT(ZmP+7LU+G^E+n*rv-7<a_pKgDpDu4Woe<y&p`va#p`ix+%iOW7hXq5<O6IOXS33 ziD7@uewQNfAQ|xS{ig_bZ*5x1ZM%KXc&g)azy$|=Exc1PO)hP8<Fk7J?7_$LPMYlZ zW26c3A|Hdrjk!4Kii*W$6<(ayO0<TcpN!YfeD|Gbp`9+8j<G9lp8R2;K&Lh5hqbU{ zl|K~tgI%Gn=n_G-90)7cJjN`L6-AJW3}-rKM>@)r<qe*gp(f*f^M2~wr3ydU&9c-J zP?p%|rX4v4rU|XtUT&prTTNTAjx-LdZf=|*WP<yE?`d4P=bW4vypKx<hTPK^-WB*> ze59q(G%td>&lX>Gn)>8ZVy?_+?pob>y=<|bO>1nR%M~S8MQs9zAO54;k^*KlW75R+ zTC~t6@+)oYb1l@N-O?elBjDAlLo@xMV8U2R>G9$N9-@3s5_88XH`daeJX@7;o>2Q> zY_PC_xybKmg7w3%JqL!-nq7Ts-zW6T*Iu+<xozLn4WID03!8Gp!MynrZM1}6vD2P$ z(Ru7t@19D)URX{ULx1T`5lk8*zpe{UDeO12zHK;4GB+48tWPTdA*+x38FFlGs&s+g zdr9UZ@}+`=6GEq_E@vx5oBenH@&F0@)l_@I&mqa9ErK60eXJFliQ=1JNd5rB4c&pq zrl?AlGn*T?fsb)bH1mVrEoa3$m8u1uyc}Yav;lQenNr(0GjsAwQRIMl+OR;)CfmXd ztvlEL`cR9@QYgJWxFH<rB4YP@`GMp>lrwM3Y;@f^hL>17_|2vd&mCBR{|LTy@LIt~ ze+*HkkNYQ^Ljh?IWbRZvydYh2F-acV73<P+eebMu%+3oE2t@|@qOw9Q`)yQ5dc=4K z!vSCuC#nzhKWtsGfg4`PX?5v_)d@9@AV?kPASh%*sLRl$(@sb3B`%K0x>-%bs*aP+ zwz^P`jCp{gq2^Ru@8`VNhSqu<`--wS0}FA+$}hCYd$>wgE_DsZ3fDV(rw15GYPr97 zfaPp?v^>-{R_57@J`)!HiTLWC35ATIM@JQ{+~4t(%^PKnTNQE87&B&bPMg{)xf;ct zVb4@IS0*F|hKfjG4PNcx&14zlWO{!~gsIPj@SeF=u+sQ0Jj4t~s0eRpe$9{*aD-2l zvXlnPZYbWJEg7ziTB{?!ZDz8cD714;mum{&9`zYh%bTvKPA2pX@-rjwpFiqon3jbc z$@wAqr?Yz$^+ZW&Mtq<$JdBKxrW~m6s^Zzn!K$L(IfGW)u4KPIgF;=^wzZZKMFpJ( zd7Yt$U0lzYn`ZH@y?0Xb#aV|U(>7Z35QzgFz11n%ZF7^WUC8ShGuts+r~=aOcU2|^ zpq;u1NZ0D3tc}JGgK1!ErlJj1ttcu+MuA1qeYGoma)z}Ibezz^p}Z7ij4hO#7fNx0 zs?}mZ8d?8Z?s;=+FnTP+)<4C5LiTC?v=|iWF%gOz_ruaPG$V#K|KF&5kBUY@G$c&H ztG7w&^|#_OLaTkxF|<sQt7d~-N6B<k?sG=-&v@(_dg0b0om;cr1o{VY0M1U33Y28- zCNuzCcjL2_L7p9h8*4dSsF|E;%Qt<jwheO(s&^8^4REyl^FZ!i<|HmGusM}ZH-P_5 zezy89`HipM`SZSufqhi#aeC&Alyqcr;LT>w!fp6Ew@>)I*A1N@SCzEUQ7CkCji5Yp zzzfX+-z<J8xOXfvhyWO8>HwP}zQC;WbIA)v9DMmxaQcAaE9Lt`)cKzauLMLd8%rCA z{&_|)-*Z3=1v3f|h=A*u02}zva^46=s;YI=;BWnmeDRn!ZfWl1aQ)LQA(jb3d-Xyy z&rA%#6_WU5c+ulQIM?>(3eSsLh)q$rLAnQoKT5Jhb4nMVcS9ZjXlaeFO=%@KC0w*Q zU#f%GZoKeX*WMfaVxygC8P@P*gw6U_K)9#M4A>-|L{$jEZf_Yme3W)@&Y8~;ER@RD zib(GT7x#2WxbHCbbbYmPE~_pX6R+x<%=hM$ZmVY=sNS744$D-o{c+Y1X1tCIftwoX zQsEFxHcp5q{OM&Wo?ghCDXn&nD7)$7s_N+$UeaAL7m5ZA3-46*gy_&kOQWfIx7)`j zZxasDuT#7EJB4?+Yhihp%@E%)VXZ>5kQ<{!i}>dLdE?xiS=IXb9o}f_qs4Qf!UgJp zy&j`A!-RR`Fdf~AA7$p6_!Xev_{X#ASM3|o$uPUn0_L_}&($U8f~?bDxBzjrk7I*h z_X<VZJYxuuk1t>KOGqV58dGs6vx_(YZmupoPWp#;5g#1B-1L9cug?n;UM)Hndvpkr zwHe*7@`7^gY9SwgB0|t47MWGPzY!L)mg-MahH{R1==Y?@LQKI~J}GMw@2!Gg(d*>y za+a>Ijjt7(6>UlSEQ}Qsb0->n>@=q?T1f1jSAU~L=BGJDR`<PL??%Nkl&L>+XRNs2 z^d{}%l@aRaDlv^bK=MYr)Zl_^02J-x*6Ui<bsm27k(8g&tSu!(@O$cy9#g0vq`WD2 zptpCeb^;6y>>TO8B#vmQ)E{G|Cp1*$8y7Fnvot`*=ctg4P3YOJNAu7@KAdB03DNfF zm!~HrGvj3jN*G<8`xOv1MShB9Hv>m-qE(PW4{!wJcRA#Ka0rlpsy)SiT<aZK6Xn)e zne9K~QbARi*jUcQ!(rm;QL21{%-$1rWq8d{540^y#GxT*{a_TBStNTB%mh;oIrtf$ zoj)e;RObo`BM929mA5$nqkXzF^s$NU-bPJJ*S510%>V$CvXIp22`$6@%CvI`(fpxk zH(BZmgJhV~0WpE)LK#mq%$smIK=?7^vrL{&xRWEFo0ycPpD5|RBM+8!;9!}wCeGvr zrz`j25VmTGBs<_L>ZU_5NPb?wjz;QLTh(73J2uJDsyi?GQR67MlpMXH&xt*jV@AMN zrq!HY_b0zgbeMaFn5;i^=l2N`U0?R?{GF$<T7PBoC*+ufaZpAO$$8=tv@Ic(Eeo_U zR(ro)O+JzDpY#nz=9s>(brtc|6-ci`wL2yjb&O-yzjB_mm`>Iq;o}VMW;YNO^*Qcg ztw%~t|3*(&d!Nj2dEL?wGL0UV<8R0X5P%QK+Une!Gk#DkfgGR{HM$w{dOfc+PA5;9 z-#;`ko9Ju;vWQA0cl`QxoC{hs9N91k&?f~c<7v&QDjkma{o^BH{61;Fok5v>TRhjV zc`ESYogGYk-`{>Ab))XT$49{6L^}!7yo5`RP|1c+D_mOpY;^qlySEYF6+t!+<YZh2 zBCm{3>C1s#I9ooH4Sm3l<3i7Jz=Lxinqz-gRXb4cd-s!jxgXjlk=_|q@YKN+PEObc z`RUM-xyzlf%f8|SVpbuPRaMXtW03Vy^qMc8JLw|Wwwg-7QQ6;>bnCT>!|<f`*|>3w z$H%?4t&AdbkcYMpIk+n)mHl6!*&PGRAIHEzL}OlaVBHSm?X_AIp3_4UsiR*nL+N~0 zWs;4A<)0A8R9P$js`FV2!#1nUiEty_K8Qx1@1uNf?{(b~3{3}&lCu7hCLv`YQl4k? zQasqcb;AcpFi!#*lI!x_`niEpO7!)ARpZRg^DG7E<JyvjTNi*TOH5z(T8FD*bm67c zQ-x7!p|_aMLCqO2{GywHRrK_b99xRL4f&v=`9zYa{+y4iwd3)ovWt;Zr-zas95;s2 zsIzm0!Khr0*eJ!IUG@c>9eF;5YR6%z)O%&^@@K<*zzQO@f-5j;XFD_W?BhjF`I-cm z(S+FZXa80paywn2t_OcYFmtHn#eJVtdWD|GFckaVjbbrUc;$xJ52^R^*I#Sa8A0T` z6(QV<UpLFzi$l$WAzoj@W+qun;w#(4e~h6&wJx0!^L}ku3AKAOaYN$_s;G@_&Rt<J zFQxc&xthhny|dEE?L`=Zw*Js6Pn$%Zt$bB%<)D`~6cQtTD?>ZR`|Sb5i?DD*Oy+`P zD@m0x{f*X^ZkAWB)gW4#F1=@NC#U2p;Js2%x9BeF2P31*BDhbI6pN8-@s<R<{Od&> zf*6iul;Hd6{D~2xI7k6s>s(#(na+%iIfUM<?QOd2R71)|7*j&{7YYDM8d0_I#2Gyq z5)z(cp+D3op6t)WUYojJLrNVTaNG-`>b>*CThHk=du3qA%a5Ht<pc`WDJSSf-OmM= zR?C@BZj;E3#w2`)ztjzx9YXU%EhQx9FXZq68C*2UCI#Zu2UW(1h1V$22I;zPOc}|= z2FQ6={8H|_udgd}L9k}?!>eXNc8ZmAg3TR{n<AC5IiX@B*$PUU5M0Ixrg@Dvk5FN9 zMux0DxfK6-KF9LIZAn+mBTHD5Hs{t9Zmj>kc`C*j<)f(~r-X)BzL5sJ&}SGTY^L|# zUqTQJb^VW7EcgDuT^NNMEg^kn)P}_8@I0=@XvMMS6!C)pUsLA#Y60+3eaISq+`nI9 z6T6oByp|EhCO;r`g;S=h{^1^alF-5wB&e6SH~YRd;L(H&uLSgJB(xbk(P#h+g6uhm zh-U~7YSZ^x)_iP=FNd1yX%VRELuJW4nXX@TV~tcMQrqWW8SBkk;6c<D249oVP`B{Q z(yRb^)A%HDh@Je%Sj34rzz#TN`c(ni6^4J!5ICQs)~Wy*zf#|*ZdV&6j(EiRYkP<) zi2m@?k?eN7>k)BSE1x|+(+6*@6wvo&8R(o65W(9Ce0>)yYAuIYFv!<()iN{6I`BIR zKgd;0t1_jV<n1SNd={Q^4^MK)OduwEyo=fIwPiv@pL~PNA@Q%JT|`r12sEXz*zS2n z!OviaQJV~S#3FSsX9aIo-Nl&XNr1Yxmg>b?9VY;ft+$ex*Fv?S{tKs8Z>IYb!hPn} z&~0w$?~>EZvm{F>XX!KqvQnb3oK31;O6NgO*M%z;l#nIi<<dav|CI5uD5)`VX-?IU zzB*>U7kvcGIG%{t=43t)jeKX&yPYL2PO(EBLWO0I#Ks4BdSR(qWw=**Q<BVbk#zfo z7D{8<vVgMhF+qoDKs4lv6#IHoeN(XBmt`#%@7#=(Uhz7F0efbx!S^jl@EgVI&<t$F z^d_4JIy%mo=32;A#_M!uPJxP!=&nND22<dV=xKbNWNO3>+tb$!T_mkIuWRD6gtm-n zXnsq+-A8(yRNUDWNVnF-H*YcTJd>|@Z*m*LLUnA4`bG$Pvgu(&(yvkb_Z%V*onQ;b z;h8_>fOB0x@9}r{*4NF`Gg>Mryiw6UC6ap<6ex96(jDK_xxe^}mtL~a9%Y!9vm3?K zl~Yl-bbq!x;7l-81q$42%P7&gy@#z3n}^B_32!{Tru*@Xl+7Yl=d_BMPM*7H$rX~Y zj1q9U4a0!ox1L^$EgcjM=^x&GV}67mxO$5J2ZO-tNCvs_%5$pXDA;1-8RK1e0ny-V z$j~Prb<oQB%BSO|#|YJ6w(DdgO6>s0F8`{fC6bEffhA_&O)HH?qKj70DJvA2a!>Jh zt4fI{%mY;+2XiI7t1mZO&wuj{W8w`IRa=^aLZU0XoTJc5BA}&>mSfJFlXV+Zh=W(` z?FFoLgw?fd#^8%bqwo2ijmwr8wWCxsqpH*my^+UnYFl0lE=F{bi7`+))s1^Y=-V8A zVP$P`Lj7ujnwA|%Yg~}MBq#fbwz#;c;E|A#fdk2$lW3CrLVVm~^hkJGJU5;kak~Z1 zl}AU(({KKG=+f>MUmVqQLd3*Q0P(?4|G^Gl)E|{x#A8UMPVB&~^-%7+vWLpG22Zip zObjooaDSZV1g}Z-7G*`bX4~8i-Tau`rk`&*jnW41K7^S%@zqA5YeQ5Pq?LC!+CJYh zVa@LzA}SA^-6ko(m~^d-w}GSZAqL5il=jIfmCD^oD(A7JkVJO4J7X#^cW0Ezw-F2G z4#dQ<&5^5~uStv@@<}dTOn$+$vc3DfSBBM0oQcHoYFkt%Qhk~(OEcm7J31QLp)>jh z;(hh)C+C2A;E%$LY3ge#)EpKPTDber;WXTY<ma%43<y>7Iw%wsofXS84BLYNS!gFU zT58|dX>470c&*}+oiQ)oZQtw~BGc$4I0J)y!;UI=XB40Q^`W{Mi7id9tK>eyiYt;P zM!i(CASf0#d#lZY6f$HSt37pMma?s0;biEPG^KTdETr^4Bv7oKl6&XhdGw%Z@Ilgm zxqZ^v8~R1n-$V5*wf}mMo2g^P5lOGZto}P$=iijsjPb|*rudH<l;T!B*K*lNYbdsf zg><+->7}?;(67pl+iN}p{@>%2boC(s=9(l>UXXSO@gQ6NHSl!HYx;Zsh`-8&6DZ@@ z(OM*cx_=J_5AC1C{>#!v1bXcA&@6O1dx*VH?^nd_QBSxOTU+3D$32+zt2%y^rm8#q zB`0^LHxxZQ{9DQLIKQtdq!42i(Js?fz`*EPAtCrjlOzdDF2Xc-4ER-aA>|v)hN{x` z+8<6rLa&wGufyvdre5p#tV5_8V$LwApvt{vWzKUqPg7g}pNB-p3*%eyP_jj2WD40a z*ntR93OYRzK*edO<oVtlGoDOEyv)OlbxBJ19i2|d@H(?`Q^}4fZw$f6EvRB%?-&({ zT|v*opU6#RDC41e`wXwN&4%DK%NW|Wmn+|$+9BT;QJv&-Gim5~owjx|jBq`<9p*Xt z3pboj){(u)8w=I)Blsr6OJs+N2F{SWSO!opkwjT9j52ys`!T^9AD*y-HJ{2m`@P)2 z?iPm?{^Sq*J{E!nVEU9}<4kD6PB3@YWJ_C+1--kq()R5Rjz8Too!6eCC7i(O?bMj# zW>in*dRbyitxMG*_FCtHy=jc!Z%MS!#n~VRfFs;7ocw0GvLX3>F)f6y<o(%DLX=IJ zm)m?Gwp_^PDd1pJ_*P*d&a!pvsl-%k6y4-F#KeQ_<4n<+PT<<2Da@4cd&&4M6O*<D z>1XRe_!#~6glNIlW3qMv^PpcTo`eTjvSL9ebp5pNL^4E@LEFC2wbdjnz!!#i%Hzt= z!f1dgpK8RGrSalZ000W<ksA$d?*tzgG}L!X?l5neU3>lu^#fE&F3<7%fTVB^Jt#C& zR@V4Yu^rgxRAkcWRMEFlUeGuE&(B8|cb?SW{(Kh~oBmd>$TXe+cs_o9%8V{Q`>MBV z6%nm@Y3cfylw1;-gtD?=zn23-=|nqp2M8cNGVE@S_cA~I%Vm(m&jBO*0h71R`WBhJ zVrm|k^BUlAx+M1PiQkMSTTKNb+ITd(L{SFCf#M7y%LhHvw*6bsihu`b+wm@6ct_Di z9}b2s1r`+}0)A-x*leV*7z*8QEzxJl#-tYvhPc|Gl2*P9AH?KXmcK{pC}2iB)_xg# zlq~2<+b4?FJq)52X9(NeM_hA5b8#U}8D8TSo8dMN(*rBsyWuZRW^?W`#T=UdjnIhP zcJTTHH-(BI!yPKvyxQkMCw;u>G77;MW75K1l*+{p<ra(GK&?N3rgjet>+a;8yo{#h z?F^$q`aw>&^5^|e5RZuo&0!<=1tnDwn#?^7X6H|E{fpX2B{rXtnyVl?J954GoT>S6 znyc2W?1kSlZs35iE2vL&>GOLPm9^UNWbsSOH8=fV=8Qx;&Hlg7jNeH_Y_ntN3k1+L zO-F)cK>*UBN|XBdI4G1a_>22&n>_7zs!v(am3eD4zCy6#+49XtoG0qBG@bNdjOGcP zlc?w|$<BVSB-zQYAod5~ye&MB=K-Tl>cWwLM=m5Acbc2>hs`!J2QCu9oL$O{H5ko# zT?zjtL(&ia_}lLl5Z57E_=Uag-x-w}x}?BPzq%jRk?(c4VyGBVJ}c90QKs$W+4r0! z(S<ZU?$V@EP+CUv!V<ay=7n5lOb7RIZs`s^C&$a|P;k1UM!rf`k=(~WIeRzSd!;4- z7w!S`lC@=z4zu)R1&XoiN$_<v4Oa#%yytuTPR_$X&0n1M(GOu42cMB{Cd5~BFY2zV zurlbZfh`Sw1zzv}41jkfBCIbOO@K$leUHBG6Pj;9%Kw(E-gJ2FK5X?ce$m`uD?%Bk zU9@7Px~6risja0%Id*D$8YSu$8hYg*wIJ?6x$8|srtjxR>Tovwrlc3DHZl2u`X5c( zA;fHA1s99(3Uzc_XMVM#Nkn*aZt^<OfA7Hc?D8CoNnnccO0A6~6>6V;V1zyWr1V+w zG#`Uv1x4YS_AETK4zb_lX5jhQQhNM}r{%|l(2hf2&MazEsf_<eK3S@g*K<2;)QwE; zARy~<+YxG#81o2OP-h<|K2gb_{$D}H_3DiEBhs(vIu%RmEvxi&?>)@5fH3^;??`bE zf?ykY(PZ-*hu!`T1Lp_g(SvpjnBqDuM2#-rU!ZwL;k^9wZT_cZVeTjeBFx_E0{@xB z2b|A#Jc8fFQwqAr3*oyOuP!q`5Om#oZXN!n&}0D&M-B517DP~w6!M!{b*Sf9Z5D79 zwzQ<Pen|e{(1L#Kz1K0I;pzE^C$%-~+DE!iR7D<=<=|hkdze$Uq#Mpf*Jxws$`I|( z4&R>F0jolEA`)*E0jg$z19&$(6bt!^wk^;@l_N-Vd+nZt<KSP+%kJ@{@*GR{08VEh zvL7YacqLjx-PC1x$rpr<eeNFU#~LV4zJN3yCth!vG=4h}CH*Ut0cU$_x~~#u^;;{- zYbEw4UVE>qM7XuC*8@2LIl*G%$3#l^99{9t9`nVVmJ@kKm~;#NT%p__7_N_TWLmU+ zzsA@r(H--;1or3!p&ixC(p9El+=oHs*&;hd>vkRcrQg^(aBT<LPMD(TzW*D!>e(u) zmg-;>LTezgaHQd$yhZl8wWQ$(mq}4Q?{c&BOsVDuA4v2whB@dGbbA2KN1gtZt-^@$ z^B-6RO@qDusDVq4ioV8JynU0jHF~XAqnc%xA~Lv;?vwH+l13pmB)@R?sKi^lHCX&^ z$eFy~6_RW=dsh$7VT_^3U()-=9l58qA>N_sS|P&s%yRA@r-7A=B5aN!f$|eGg9ra8 zR`+5>afDixxKtq#s?21$?ekF~V`ir8uAFj^x9qFYs$O*@1*78Pxe3%Mf0w5`clhZ2 zbiDB!C6SG@$;;!76zKx%U~xh;c2^a@T$c0el#kh46;wO?akz-%C7D)RgQpX6BXmIU z*}<?PEdn*yxb!b(X9^JGQ&GGCSGso5a=<SVw*FE4?3pw7z+ETF7TFeS#39+{u4oq& zF{}W^l2cVB9NPg$SxZ^|1p@j|8|o9ECDc)4i}b>BY*j940AJ4N`X{EnM?4;8&9Rdn zGmn?lm#Z|oos#brAr}JYjsBdod1%7k^^gv`7>AzGH~6i$fpNP}b~eH7Z7F;nknP}m z^+tvKo)?APU2jNp+uL;3=t+{#J%z7DP%9Sp3d^Obrl?>Z10!ue_ila#Y`9RM^2vF@ zhd9kO?KJr}BeJt3m<I#iiPF<d<L)+}<Jrf_HP!o%4op0?g-B>$1%3RXfhznK%Pu4o z_0@epdnc9t{Xh?<emYaf_>!Tm`}4ojx|NguEJI~{uz95&513prLsyM;{1e!Vedq|^ z1q_b0&G0X(E^ag7y^GXisF9bBNF%#pQSUv5RPwxHNzY$z=&2yKV$MiJ$C(;BAcpI@ z7ebhb<bYmD+8PF``!A>7sCrjMOBvRs6mOF{OdJt(2D3%yUmxL10kJyx^~0Xm`HB_E zQ1v_QoRFxP)&5k_*^!Qx`|{QA0mOycSa<4m(^Tv%Cqb{QNhpEXkxWo9wNQ}07aq1u zStG`k7C|7)HI3&~u72~V?}>JAyA4Atx#U6>3E9^kYnGifk|FBeq{S7#Cv_yh<D<AU zx4j>Pt#n3pzomFl;yt`3`+)${&VlSW`|WKJ<US~pS?il%beLSM9_8g}+c3#Ww(utY z#84AH%}!)R*4Vf5Juezp(k){2@VDr!rI?d)C;Cgt#W^9CN0stel=|L-#nAz<iVpaW z!G6Ulbx9^AYu#){9h@yLd_j5YHG2d0`aqujMOEOg8&&suU%b9V|3=D7imiC}qbs{2 zPey4pn^aO^8SJYAK2(d&KDrZTivL4Pd_2^<-Km2=R1LO(sBd}4V8*?@;vp(h{p04k zT_IT9L3pny_f=g*hW)>syM8@62ku#UCE>lSK94*Q{5BOjYq{N#KWG7yg1NBMix)~` zh{hsM{6mmJ8Vu{u?2Y;0&Y_+QI?l%y8U4OM{U%lv;DdbvkNHWTOI%B|b=}Du3@GbQ zpN91sRTc#`bs;aJz`WyYTElDx@3rRG#H|cj&n^$*TY2)_btngmjn)L+jmUZCwBHz@ zwT5b!HW3U4$0g@xPgC!Vu=`((KCAGoJSjqVSCq?P`c+0VY}q!~-;1}Gu=1YcbLc(I zr-;v*@meKfm!m#!tbb9s(!Tr4X<&Aw&1`#~6F~CesL;EPBKX;l`f2rl?H;A&g<CJ% z9xuBlOSKyGAAO-6mF|uH51F2bO-+^GZ@B_SNn4YdTUeAlAzzvyD&N%_t2<dHa^5@{ z8OSm144HPu?7X18PgB+A*OK`ee^Ub*p2G8(T_PmP%C2|$D~;ivOgrNuK<5eS;eY%; zcjkts7JrL?^Ox5W{@ZiZJT09>w{xoQg991YxdwRaoqws{#1H?bHh#;&@l8`x_kCa} zahAfdbhgt9+aRjynbpPcn&j<OZH~p@HgD@&jG-4lufSrk$)Tlv`Gz0K$d-N}n}M4? zOvW?Y_AAUS3!DbK?1|(rIULeAD0{$bHbGe{LMAvgCek3i<uHfF@!Yx@(^MO8l3Yl; zULYw@tNp9gg4Jc~ii?+n_XzK??sc%DtFm_lfe;2UIP|N0#1AUY=dz(Idb9RhM(8;E zU5KKvC%NAefsD@f*y+$@<KeE%o!faCbK#0eSNPU5b*k83S8hl+HkHz&<&}rLzLIJS zlPv5hCVF0PvHYKUsN0*9Aa+yq*l|QH7TW>s!0eib2@MI#ChD||T&PnMIzC456^#;O z0MoFek7)|i*Ax>muSTpazy@=WJmCeqhC>9tQa0krsRU%q0f!grq6APQMV!SD^h!7= z^9L_~>;S)iROniCK@-T>D&|SmwjTkb`?t;csgS^GOLTGN!wxQ*8o1{<@|^(#yb@op z4}D3MQ!iG(f<wH4-f$~G*<8BA#va4<t-(g^D8SX^V!+;+kLSeep#7DU+mO+6qPC*u z40+ZFo5jcmjPApJ`M-jN)|RRMxn%eK<i4dbU!(UIYp(PJ=Wjhu{GN+j*|Meylu1XN z7@TQo+?|jOFn$NFN`_KsLPzcPj=)+f42sPm?jZLVhk|GJb&uw7r84#56LN|hVQgN; zGR79E6LiYlMjM?O;W-Qnlht0^2p-`6cnxF!#~XUfyb^PAonsjJ|Ez>59;-2mg|#jW z-uqDFbqhYjr6BZTLBqmNrDLgC`Lo$$MUV2w_dQfm(9+xocL@j2x|A#dU`2|jo#lQE zrl?9Mtuv(+9ceNO%4n?$1Ifc>gQ$bjgM4IgM{vBfFp(EKhYEteb6^Rbg|+UVJ{a3; zmgA=+R@I*>W=L3pd4zOUOpfBnK}@IB+*X|?M$<$BeTmDA>Jl*Wr3_}=%oAdK4grZ! zR@F2X7R2DjB9Xm;j*+WuGR&FaAE46Do5Q_cf{}Yh#W~R-r+9jNey};Fsr4(%S;Ers z#TdzV_`9R66kv&gC*)(XZ~5XuVNQorJeQBum2_I7vxHA9I^c0>M&6CN-i(!pQGM`B z=q4t#;9UClEmtD<;>jkmFB@aUViUBwbV9?&E;aR(sQdGfw?2$zd`I3l;~9f-Ij|M0 zJ`8{UuC;l)>10(x$#N;x9p%t^!JlXGWym<gGX;2k47z6&H#vkH{v4>IACJ53%>RmS zx&FDbdCxpH-JLTP-0dW6i{2qfeoK;kZ>X-0O!vkN4V`v|sq4Lq;gn8!dA+QInvH1f zTH9L4cU%DeM+0j;TX?{^ur}e7@<U@-Q|kH$50Yh`KXA}~twSsTLR83x)d6;Pj_n!y zu<ib2xPb0#@JJb|%e`rLjSdmmAs{d>j@A{q)+TgeKLI-Wz@r`lVi;t_+Z11+Kr261 z2#y8iJ&A`*9vv>$A0w*?@0OP(FOkrh-BGGHXR7(F#?omk?6}Q_e%MybR6B>*fFpW) z-6Wk;0oH$Jv}e<tBu>N^?Xps(6vh1V=jK<Ef;<ND=Pd#Dcdn@C7)R?8M*In3vDIsF zou{h0!D2yhs&-?X)R+o|&JgBv5SW5O9On<}S)}EE9PHGYXm#J7!?WDzpF0`Jxc%vK zcLn8Ovq(;Rd0zmr-A8Ol!^9MvKv9F9jP<SO<#HCu2Jn<$WjaW5>rO$(e2i}$;NS{* zv1IOHQ6pRt@Mi6Kjbbbly^2d+2g%Fjn72U+=ZRFd`FBuLv4QRFS>Ha4W1Cb%ls-Q$ z?#XTSpN&w+7a>bHIZl$jZ7uvP_)osErYpfD4*62>e5AdDsAdRt>zbD9Nqd38W@o&F z2iSPAz*s!t8iOcyZP(+8ygsjS`0A4K_4&b4Q^k;K%asr<#%b(*hym!PC3vNkHo#tD z-h0C(5ZY@@@X4UrT_bNo1-v>S{d^)rcd}(aiyAc<dvNqyHsXM6lX>zPH!n|q#_f{v z$!504$;85Sl0AGy=j3-q9T0aPqc-&)`*_?v`%frMP9ZebQdhZ`qQGZ5EgoDX^x^^N zz4><8dv_ud?|L?E24!F@UZK_U`&fGMs8YH0c4j3mH5pT>hiJQo$a%3($X9sPrc3G9 zMQp1%tW8X$e*oXA{q{_HJ@@vY@Y2-S8I~(PtmF56hqa@D8q=T43^f5bKp+U-S=|pr zB8h4~MK6Z;xhgE$!4U^xohkEC8OFl?D&m|G3ZA_wQh%CFE!%-c%c^wg-P;dnUadM} zw~stV@eIWwOLd%b<q8|*J#!5%mi_fL#!y+2WS+@Y!$I>=$Ks3kKcjnN^mg=pCI?1L zAw};@DYag&F}Upg(uhlYx5U@N*L5X&<;gm^2o(0m43mGODs_Qx<gupZa(%dAP;-AR z+Y_)z3O+C6vQjs+QRcgO`2jieXyrF~^4j(VpYwDiZrZx_R#ufkMYXP;PV;R_LsnQm zKy{;B{lSvs(9y?kPjcKqLO{iSiO<=~HA+l+%^=4XP<&NE2VtbsJmiN`OR<LxzMZ?h zco>(I^ft>eNw%Gg$l~@jQ-UI|b7MPI7$NV;n}59`$f0#Xk)iVISIITDbUX`)f%F-X z#_fm^y&wQy;0_7E4D*d%6bnB%2@=k08e}<3iD>vunLAOgD=Pv%d<sW}+n}zb@0!!z z^Yhaq;EvBiUq>9YaSV0}+zgN8S0>$|wi6Va*Go1AvUd%HYp1D1$icp3CgG=8=F~gA zW|+{Jdr2OKl?p!dyh`nDpl%QkY@NOSdTDYYjP~2#y*?^oi=k$0ehPX6q2NQv_SWg6 zjOdFA7s#1X<pdQQP0aXrYe1VsoV2=?6~(Y&JL*W&s@si$3Jd;)hmyNXPOz8z4%Y*Z zR00nGSzscxNV?FEiNH1TY>DgD%>9E$=&i}_AP@6{(hapb3bH-W*5K7x9{%PV4VIIS zC#P+Qmr4J(8#k>M#M9f*Kf_WVL3qFDCx&jj)5@xnhk)XW1x3uDnpX_aohPT)ep%mk zY^KRc%IC?aD^0nYkNahNdS{d{(>`=isGNbiFZTsp=mU))n1%gZFOmqe<oCMqr*zUZ zr_2#UWssoTHl^F?-d9=?zF_3Wj;;0{XAb|32E<kkW1K`$3-BQv{Rt!yh>VnmZ+pJ3 z@o6Q_4==;s<co|XMSh|Ek<VG57X5zy1x*wow2>?D4+fNH&m~@N63z{lTS_`Bo>Ft2 zLc3zw`iC9JI>;Hr4P;9uqN<DaJr{qg7G{=)j9fi-Hxv&JXjh9M+y`{wbwAS!a(^_& z>U(}+H=EaF0OSdizV4Bv^&Wk$GQ!f3(jehTfn2KdS^I_DWjks5c2E#Gux!7kytMER zapZSP*0zIgX%^j%46l4!Z4brvt*sWT=z71ucD>WH(rAAmBto`$xbzE2*ras%tSI_~ zk_pc}@qTqj<#GpjOE&fn>P%qe+oz4k4WKI4b#jNJb7f>T-#&d4(DCxG+^@)ZiQf2l zC-~muJI6?4SQhs<rN_Op6X0Wz8>$1ECZ~k8#Y#~*EQ>;C&oUR3Ec<*W@CerH0s;e{ zEXCv>o6(BpNqFA7i`dk3bmTBk+B}g3ujKL4soZ?JRXrL1Uid)b>l{TuzJ@C3+snp9 z{hpqls*OkYix?3K^el`o{~W$5KF0&(jigpYaWgWnZw@}ir0%AuY*?MXwv-lf12~UU z4nH&#X!`sCg4nUN`JgL<vUYJ@PUPk!#Rh^8$d+1f+6?t;YT`EBss3VTSLyY+XeNZd zqA&oLZ}*h*ucQUr>kg9rWbxu7%dF&S%i;2bbPzBYz1`m34&U8k|KDv8Vs9fVZ!q#C zZ#bOR)3yDLepQ}>N1Kfg<WT-mX4J!J#?#j(n!A5vI6G{3-NU9A&TmyW&-Ds4`u$|k zh7m-n;^9p$tvBgcyKz)5XM6T6h@W4wo7zMaJm)BzN1W$5IvnO26Uu*~;&30KJQ@DD zU+)O)j8av4Gf*z|85kK^Fn#wzxQTdI+R{<Rxp@PG<{o%P5_WlJJS-Of<k7hed=~w` z!+M57;XE2E%iCBFM07;9!(17NT;I(dli>O^w`9}efqn~IkeZ)7C0k-%#f7Zm&b^S5 zB}Ahhx7J8*AMT!qHc1NFd{>NjU;|>+3h75Gx}WJ+iu{JA7o<NW(|IQ=GQ1_#6RZpG zcPC?!+^ETTXnJ`u_zI&nV@_O8e2B%=AlcG(>|nsce%|XgTKjkRnBH{~3!+GA)5=G2 zC&{gQCAhy)xS2Gl-zp6sw_kJ}x4-0N^_*wCQB_SOD{%;$*G9wv%|6+33-#Wk07n{2 zkE&12mhFAqwwv9}C(XVMdo5>bPk+1@^u`*hJV|(8L5DT+A$0@;4QA+!nP*HO=N9k- z+mi?@9zY=7azUY3fU0@hLUCs(Db@eBq^xm$S$+5IBHQD<#0`TLy)!NQCP&2B%p1{| z844wnQIWUfAO%%R4LAkiVe8f5StA$3?{K7|5uLA_cyJ&oO_r~7<u4Cuc)2+T&n6(? z>PRtKMt1foNddojtKU_957<5~=7DYwHRx2S4JS4pR~J3Oq{MFNM~ZjM4VP@!0;$2$ zWQ5J3EleHmcs$*5mZ2gb`0t7$hfk_kTl$dMiJHOas_k~Mvws_d-^AQ*nz)XCA+W7v z-aop6TolP^T$o{b(Nw-@g)0M~VF!%6=)rHeGrXApbzMrfVIU8cD->Bis8-Zqr57(N zCwYlEU0dXyESYV((L}vLH5Ms48DiGte;-S_umgRauSAC}C2OE6s3aH_X(KSPlu9ri zZuZo#5<@ul8Z_I0<9w_0f>=r3tx<CY49=m7bB$|J_9#<8Yg07v#)M*EpBO)n%-h}& zCm5%Ut5vvsHpEK2W`48!v^O_*^)uDt;c~_UNZ5Wo7QktqHfNkRQI2=!=Ztfu36Xpd zwI_w88Fvj_+)jI9>@3kfPegjkb_12-br;}NtlW+SeM@LVHApVymDnjQzL_{8YgUdi zfMUM$j)vcuRWNZ21Pr=LcHM2ax>Kv#kd9FR=dUuFPB<k_7x^lBw_201THOq!nqT?i zQYM@=o6_lHHcb`HejPM3#%T%4tC&o<pgw5cjIPAUBZu4Mtr!r;F4{=iPM7v(VN63m z%BW%};AWte&%b$d!5AZ@X_D83gmTa`-SavAn{zWSq+V;_XQekGbT$H>hN=z7wvadM zeSILJZ^URAhB4}IsRnx7Uu(T*=1DN=Aatz{csMHz6ODzr;qE`X8%v>#(Oh9R*mJ2B zBdN!8vKGnC3`uVJ&&mt#o1Fh}Q$x+>-YUz*wW9YQ(Xu2E_+xrY=jIVN*$Q-B7!E<) zp>&FT6DV$0oA_8xoB99+eAo>}@u8p8H4n~IcIC>~Cn4cVw6c5pz)d&mV{zW~7cba8 zI;k_;%^_k6__YNh_Blt525Q<3z(1$XQ4m#Z<<KNuRS}=fa^emNWKLhLo1#>6Go-|u z^~^|rS7iAma^r2C`U>mNz&`XlXq4G&`y|Jrf8DGBimcbZSot|lGrMjjaaUa;HV`1T zU+GVw0<viJq6J0S;q^-YT;R+Y!3WeJjzmhqd*ZFl`2*zM^O?OCVIL*V5{3wR>(Aa{ z105&ELtck^Z>;z=I(c<@{+w#9sFX&z0fGAm)^|M|otyXX7HUa6h~IgWd*Axr_T7H3 z287l_%Gay+fPrjPnHPhWRLpAiH<$Xm>rf5$5($q0()ATYK-J+dZ&p5uZ(1Cq1{@q# zE>h04h8PA)bD-dP`MaMrf%Cd8umn3^v+WO#+mXP903Y7qK&khSE;x8N-ah4E?olDp zxQl#Fn-u>+u3E#=QiYSGM@8G}TU;7d{)c!r9*)<4O{HHHo8#W%9eIGRoe+cgms5FZ zjDkC7UKD2@ili8C_5apg7TR7z<sz~nkf=i7=_842pJfH-j&e@3cM|A(xbE7-cHPnU zThQ#YcrZLu;?n515C(aZm+@`zHDDq%WH!}@G<0iOXMz+cUDo!cE1el=Wf+IzM{eSP z^<8$5gc|o>R84kDYVkAIECfkW*vok@UOf5shW**I*xojx%cJ3s@l<&yk;F$=*P07z zilg$H8XA4s;@$De#B4`Lr>Cc@@6<>%G-{>?JbN}LGNd0BmY1$3{+<#OE8Zcd!t3en zfy}qb1fI>5r(@MqGah27!Z!{4@HDHBu0pDHymx0ipQe)xtT(oruGiq3adAoVOY+-+ zjKK8{`#aB1O<zTmymthrD}5L!wM33iW&!gBy)Q*!Ep9g?Czx6{YD92t&Aj${B+q5~ zsl^nBys8wMaL#LGVzW~<VJP>n#?I)t$*-Znua?(A-z1H6b>Gst?=3a{JvILI1MIWZ zT4jgbFn4X|xhj2^9h%{la34$};d*B`bX5ge^Q0B}LR?@qUaqISqy}kqVf*5}B%ZUS zq^?JDbJZ7rvQ#|hR^Ecd6`}7$vOTGn`qNpLTCq?Z{T8&DSD5moVnR+zU8#vA>;NO- z)HDLX`l*UGN7hBv@MwkYW^-5DiFDz}a%pcoP!qcd>mLa{$QcK{Y$Jgg0jtLQKU<Hb zIg(yyNO)pF$8sbG=YZ(OJEWons*KcW?{+@A0o~YebV})H#3#pAHtY(%a;EV%s#<;n zmS8xu{1fp#)@k4i(lyND_ey@xeZ1cPJ42RY6oKEGXTAzpeu6Cgo=yVU^*dwkSvYY} zQnUqDmd`-`aZ?`Vr7Z1k#N0=p^4F|^NY*&OxN(vfe4=|mR&0C&p}V=Lt8*)tTj??d zi#y@LP3yaLCRR#oin{$Da0uePk@F`*4Q?xE+8NXjwtze^ZcvVA0<mvk42lLKcG(}p z4x*x-eB2y?fuhGNjO4D4j@ShxQa*nCXo*DI32w)YoUh#u!=&?5Z*MrBJQ_(y7>YZg zZKvzZ*w%LE75)}+#HA;wP_U}zMQu+UMX(Ycu0+#T4Cfy>4bO~Fv`PH_(c=kyPv*&5 zC}LY2^-Wme7r0r};Tfo4=j~#Hj`DiCSjUq5-WLfnV#kzF`+87!UtdfI|4QhP2esh` z4VY9&fw32w<MQ*8;>n8fZ9@6gy1OWeq0`W>R4Mywyvt=R<D9rr&FN+{0?=vF*o*4| zIyWc6bm*2k{AQhQvkX8za{euLcl74s5YVEeDs{vdz2MTjdve2g6S=}FV&p5-eAq)& z+g$m3#S2-_<FaWnkojYo1#FKBBd@X(b3zxLOx#KKUnKBc$gfGHt>}2~Uf!S&{X;Xd zkNaDbMrH>a>ftSm@JR9FeG%>9t6sMQL`%<pi{$UUGS--;+_S4PXz;VT^pgjU!ff~m z?rFDexs<{1%mFzcWGER54QwUCbAdFQ!9VI@JYTy!WjU*rFdygO)Aq-b8*^>f8mymd z2yWz@%g{9DvXP1nXJ(gd)q}8VX+z_#O%8M;dhX?93EetjLs5d|0LY<hIYDm(!dgwe zm6bH{P((j(8*wf$d_kMTTBZh?nY6n8P<UIrh~e2Mj<Gt-3L@7U|KBe$U{Dw)by=7P zo!YOjRkIIC+8~}=Cg=eO^a_vkU3dcdR@S|QPx(-{t5XU)FU#|=H)W2X5(@_27V0D< zZz)tEO9ySdhMKO!-~$?>mh$pw%=?S7xkYfI-}T`6<+m0eS(acNsXZSc@7OO1Pl-{p z@*F2VI>JmY#3js_tnbc|G%r7ID3@boOjtzS&XuGuLnJhx!J8P`#A|fTpXPR{SL=)< zEiNw3)hqa?eWh@+bT@Bi3R32|It;jQ`S*{aFdLDoaQ+ktL>^mYe5EC!8O@-5rd(?? z<2K!5$Hm|~Y|F{ZWvYJHF<{)iB6jw~QIZyOL-OA%T%N3#ucFjoxQtQq92J$RK&XSz zE>F?=g?Abwm@h%$oGIb}dn_97VkPI9>xc7&o0F^BPn#^$^&YsYjNaGWmpdC3nM5yV zeCbao(tUr-du=||Z-HQ|!e}MZU!Hf2xvYCotG8nF7`=M70CM*UO^570qZOF<{s5`; zym)+hNj<OzK_J}cym)T*`w}--`pQDhrkc&TKsST9C(9#%W5N2hxEg8242>Bnmo7^c zT=4~heMI-lbf8j;3rU*W-UFBG(h-O_P}|6=h!>UaJvQ!bXuL%?_PZ3|d=<Q+8w3c6 zdmvW@JB=Ro9H#c8eg#ucCtq(Iyvgid)%LWMPY#9ViPO}+#<(acL#L0uyTe@eUXae8 z40t2h63W}JTfqYHO^Ca#g~X{Mp4VY_eTl5Y7--87zh`_?|IfZ#6*#ScySuYwKDvg@ zo4b74oN^-jW~mL)@HIyZ-VenhpI2Fh#KLd8hWYKJ*{mu4i=O+hj?KEUByZs{H5`yD zEa>9{&l0DZBMlN&6bW5s$42E$dSgHHZsbHM2-@k2=Y;@{cEgzHpRW^9?mhsJx761s z_}nb4oeaToBsSWeulc0Y_*EiQu`wZ|^ehN;^h8w1$cl34!*o2Vew{Ky6-sk+LGx)B z^q0GZCWj#mF5n>+xhZA3{CT?3w3)M4F1A2L>q_xHZnC(%C?Au!Ib2_sg368kFIshY z9$}a)X-DgQetYFI|A1Qk)5pgT<fQZuH@{Bj_R#QK3sy)!6Ntd1T~%q}x;D0JzYbbJ z6b!$|Bz^_8$UBD#=TALe%)xNXa7T*fRxh>z>Bo&L**Us~#KAjmYIPcx`=xZb<GX2& ztJxJuc*|=)<RBLe(flL9?r($hsgVoFpOEoU$RC?oI?QdB_PTT@kt+9glcj_4rPo7w z#=WD#QW@a;J$w+ItfV{?ov(8?Lbe%$uj-L&Mb7BaM$|w*AbX_@sK_>#Kr@B{jpi3z z4@J@AiVYWJ>q9Sm?gY1Ubh#rW=SZX_ILvrGU3tqNK&iG4u_=eAN+A~Mw`F@3hL-W= z$Hmg5V=nhiZ!se~E=P(bF{9u=QOqAPkAeU1VZsOlp=oU1=P%tPaHQH8af4BU4PO1P zTv39~x7f-c8hzEMxvu&EYuaSWy~nEOzYUZumlrjC^q2|fg3DzgMcE1v!UGxrF#VuG z8lE)1!?__D+F?FIVb#$l59MCP3YKN2T4YYD!E$J|R9xE#!SQudAP^6-Ffp=Y$jf6J zDQEaqyBZtp(oq^~b(sCYW$%JoO<(lwZ%Uyjq@h-0;cJHTwK)YEwciS>OC!fi^%P`$ z{qTutKgcPP<}nyFXw2^!Vqz31P-!B@1+l82Kzx!tRjv5CTAK~hp1J0Tm+*60U_nb^ z?T;TnV$EiTDcTb5<w8xDtANTPjvhN=&l&cz!hB<?Dz&txaizI_{8JXLCt1uK%5kVb zA&oYrRaHyx-oc-)KWDgVjUR%KE)m5>HHf*u;<C<ASxg^>i+sL-*e=c0?D=xG$tX3I z7}J(+r!Y4-LkZTpAlBJ&;vyfk4-F&qJ@+TP8?pzaiB>}8F|q+a7z!USFqTh2YdIOZ ze}i41_HNe)BC|yj_U~)tuH&>Mvx)6jrl^mM0XH5amxo9!%(Sl3D3_*C?^yBECA|ff z=?2IYrjQ9ex8ohfU%%0k{B-OxFUo?T)VJEDT#DIG`fDcoUu4C9i*1>LWb~C}^;}^{ ze5zO|#NVKX>@%Mm{^tSzP-AOBON<g6Igw1)285t<%+C1Sy~+FNV~1Xtb#&4(@new> zt6*f_*E-BR(N^TZmG(}GTX^fs%#Lt5ItR(svq3wHFV$GE!)fNW8X5-!TU$s4h!v5u zY$IA;?|xd0$s5(ot*`M%LZ#Oyf7X7zD5!N;1-@V_aHOtB_DlL>`czpxM}xIb1=wk= zme;8JG8BJfkhq`6yw834USs0THu$|&LE9hnTfZ>a%~i)BVX7)Bd4EUpM}EMlj}F_= zBs8L7Bk*5SRuuFMn0`WfSUDR#XJ^v*!Ina^x798FrK2lwVE+T6ST^##O>WgDIn|s& z9dmzuE`_>HmF$?CM>AgrPsf!O6c2lziZWg%ZUP6?<yq2fV|5(#jH0F`sZ%&}B5Xmb zDGdF@{ic#+9Ld>N40N3nDqnlz@T=RI;q~0RgW<7)=-RD_Vv$B^KSCJbG&lVOEFUC& zee#*SB?q&Za<&!a4PB;TCrlVo=pZ+=K@yG#6={Ch1>rftjdXwshMh^ed5b(k7qS$x z&8~TCIG2b9c~TuQj~_eF_&>Os6o`0qXrW-|G>5OAMx`1A>(jv>@X7u5pN9KifjTIa z4q5&-DZ!^fCeru8onpKXVsNY$l0Lrnb6WuO<n>R-PgMjF)=SE`;W9dKWNmhiu#Y}q z@sbCrK|PSW7}6czg>o3^PPVjke_|K^AF{qXp6$2&ml{!usM<u)mJZa{j#;Bxdn<~n z+Pi`fVy_zMQngp@y%n)59d-~6F>A(%+Oy}=bDrn<J?EUf@`u+e`9to{eP8$cx~}*8 zeYHfl`~3-@JW2p*{kbMefLk!cZ{O>#lXi-=srK>TYiHGyuKbns$|L+3{N?WV5v!Xm zu|xXK)-$NuQA5^yhS<@c*lVX`V31H*d*g>gF)`UxEEsjC=g9z>)wBkG;?svRV&zFu z)@%k2rhesO>$m4t|DH`XeZkMc4~j3Y3*}jE#=6*SAz$((n@LZ~%Ech(g$7n<AF+=_ zP0`!ah(%J_HQgMPDiE(WEt)98gUW~EQLl_!sdrvu8kY|SX-5u@uXo=CdJFSRKg^e4 z7mb(E6m{*rExBg6JiUpP(RaM%O+LONVUZ4;udn5HJvLZRp)~lSxm~*Zniy+hKDH0> z?ftQT16;4zPv_&wWQt-63oR9YYGx7mjftt<pP&D1zNob|fBUj>PK+R$bpu1Mz3ja* zuk&Z()g{;Ve-a_B5NA@M|6-L*`uCYV@ERbq?rrIfQ69=ew~%*1TPU82*00E`c`GQQ zIdCcp3-`~~>}{R2D&Sfc2sQXYwAuevzgYYxnElJ~{;CblPSy|SWqBiGfSC=5+WHqI ztg?IvowBp33}C-j8XGI#0x#vwP&8BKw^y0=>s<;_Z^JW1Npvdm{cLx@^9^kBZvM#I z1QO#Rn*on4%rCT3p+G5$PdTb*+9ar4?nJp-J+z67u5$XJy8rV*+*Fm}cx?r?U!D_v z@4!qi{h3^-^}`jAgRBCTTPjd`Hw&-JA~IiCn6bGm+_4=K6=3{e>v_BFK>hR*lj7(j zqTerU$Bc!Y{W_%=;{GiG6+7{Cp<hOuWRcMEq#T9nbx*DIJmSkMD|>vQwfime^o-t2 z&*c=QM)?H-*OY0<A-g}BXRIHlcwZmBG9NoNkU9KqZqn~CcO1tWNeag_JUQgt8Im>~ zjwalc@2Gq9TN3;F7Y+Sm_q;LX9}QRcyW~OR?|F#wUX^w{Ef^ZDNHbqG0v!nyIImVI zIBiF{#puQa;VoO;bk$Q}3S<DTXrveViOoiCTq<Or+f|TO?0TDOc}!>$DOLS*%@%1t z=p&@{BFS;W8+WYRUqkc^e8IB9BR70?so`13`I-Qnldw>ia{eH2G98!LI7fU%D{#j5 zf*JRK2b6fm)Od4R`e8XjGDjUAijX0myhuexr-?aB#QZ14RGE_BA2TXPq=q-`Bg-4$ zl~FIn(fI+eV`z4&L-b&?IK5X|Ab4Y<Nfz81boP8!cU5iKT__JY%C}iOg2IP&R@v_0 znP;xe`)>&6dY&UnGI!@Vl&-7cGUP+i1ALu5q;Q2f#wT_HJwFCKg!*Z##1^d*eXIzd zw<5?b1p$75$=oI4;X(mAWt}U%nD03nK0cQ(R&{ZtZf+GZNMVZ-0_cqR=!Y&&)s#oT z>6|%wL3i$HFCvQN;7(@B{dS&a_uTJ#Xr*0`3wprVfX$a>8`^5o^xkzATyl`0?#H6? zbc{bA$GSAnhdRD&o!msv1o4-F2YVooQn+iA0@U3jR}ODgqmkJ$K#x4{Z7KB~A<xO} zrcmV^WQp#dL_D3^TXGJ*1J3CWHmWA;-0SP^BRE^`>omMAT!Bv`{v52oEcG92Rn4`L z0d`v6nCQsWS@UZvixqxXv2K12Tq^+qLaX~bJz-XQUc6*og!O31rM7Vvg?Q2d<_>@N zArP{+Ip&U8cuOzGB-LpJ2~TFrE4~v^@_rQ4R|x_y@{OuiD;*bWv+nYZdg3ivnAb9` z7Kmoop$RdmLmV2GrHlB<cZ&F4{$PPXIwPElwzO0!@okHu`6b0lgMq(h+W$)7>faS* zBcX-CskyA*b(jdLg++@?xV6Ey`+x?cLAEH<IdpN|w#IUHIj9Bw{uZN7{`Hf6;tPP! zHT*T>2CE!pZtJk9RkNj^YGhSenH~9DAt>diEMwMXik`iFY)myxc5wol5YEo_b7+R- zkZ)`HlDSFZ0S}u!@Gn?VQN9aXd%*c2^ATVqT`$@3u)utUr}WpDt@AIVl=8kub+iii zI=6+&3x20jvu+n%(J9zGW_fR8syFh80&#G$InGj_pW`!#n=dg)o9IZ5iLHr*^2U>T z#vAHO+f%>0@O4jZzT&wg`Ng*AS-nmRz3Nx1(H<<D^>%3mT}-%ygkbU=uCx+GTD^b< zbdcSznXO!_!AA_m!CE=N>qpKH_q9Hasqt0-{xyx_7FFc_Zsgf9eT<rg-I}qi`^)o- zGHTQ`Tr84_r#$Z}DW^WLYv<HZ7!}u-hBc9+dAr1`?~XLpOf*dX4v(3SNIov}AEBdb zB%KXjm*XyA21%CADqHz%qLi93G?B{z#j5FpXFU3c`dJqw2HyDxZa7uxRfvF>XD4rE zG4vB6VR&jhbxHuH@HaB(+kGc0ynpwL&-XD?%jMXO^h47x3uOEXp^q5FY>Hg*oUM>f z%ReJrjwDG6`#rr~pOa1rtxtM>u(;V1PAoL3(HO({0)NWGcg6Yq^l(MuU)=$qW#^t1 zu$*eToyY{G@+o@l;o_j{vn;loW)H=}X!h!z9XRKj1IhlL`hRucZckI$b<=gvD|b8{ z;g|1=h#{*|nD5vfehK7O;@<lF!HfO2??1kO;j8W$O9B_^fA;Okz1!R;D_l>lp#e~; z%ar%I#IMJl%}~;wDAbEIy+RY-Fr>>%B-7sI6zXV8LT~h4(SH8MJ=lXPJL4U-U>%K( zzO~*+bRfRIHTL58fOC9#@~#Z!TZ#b*AANCqLGw%U_^Yv`+#J-yJ-yuZ6Nft$alhr= zt~7~G3hnF7x^)KIG=#cjr9HHa&G=gM`-!{VkNW5)t8KDZb&fCJz6w-u30{A4<3_Q& z;bxjrsMMfdTpW3t6o0&5iiCcEJ2TaoU*LFPx?Pkdam0F?{f95S@n&<?PZN&x81Sj> zEAv?5<4n-?#6!LFoeQARC4#Y@_*``>W1t}6pj@D_oHpWulCx?so}Y~gqNT_6LGyI% z_^nyE53MwELh9wQkkvU>6-Dx*5h4ECFX?D({PubFqplH#bLDiMkQ|h?*mL#X^Gc9? z&OMznccW)nx)j_^DFy~Jkl_>gI!XpO+jIL>Nq$cEPcgIRI<9_xx@LP6SJRy|JA?|T zE4W~rRvy6_&u8DO#;*9VP0iGzPPn(Pl%JbM6WcA66ir7IR7v{u<YhP-T~$5VMjC(( zg?uEi2hj%s=&@~XYKQ7GBu#eiD+hDCbS@x!ob2I(JcqWl{&BLqjF_~8{8p~U@t*;% z`7IlI@yGaUJs!N<=L?k302L|1pFt^$c60)@at32SiB0LvNj)>%PvEXNQWbw1GF<ki zowX~J72oh*7}AR*f4Wg8cCJN7fR3$MJo48~_jY#|j?fn^+LgnC*JZp4dtiZp1s=&% zL%Q?<vSjx2HM4Oem&u{$G1p;iC+f6_8FhX!CP<@?&F$dBc^1FH2*=U68!bB-Z#Jj^ zQcD7ekqH9vvWUbbbFb>l+?O%@8<EH>E9Y}k`slUu0Dlb$enD-3Utco3rNT|kqzIU8 z*jz!RDFAj#$`N(l^)C^rE|zJ|3t-Dgvt2H(b*Fj!(?I7DKLmYD-yXS|c+Bx_$=hmK zlu9O&5=QSp{B79}=^xoMwKv~VX{Y49DR?3zaQo3}A6gNwR$#*P3UEPWt0o~UD_sqD zO)Nhhlr)#VS?9`s|Bf>!R5a|4OTMuwp_AB44+<>%rX4-!8E~Ph9qsqZF8M=oW4>bP zcUt}XbNQMkBKKs)ij%bX?Tc<1T15(#CYe027x?Qw`W7FZF$Rvut{RYGY9B<MV<Y}@ zmQ`T(!fmw`Y@}2n%O&;gOW>G!bA~WF$nIqO)rRwe@x->8+qT*Nh>B)sUj236bMT>T z@lrM8IhLYL?+6`#mpI;b-fDw^0qpCT9}hTgmIjrBh@J7lvA9);(%qZN*2x^0YVD=2 zm(A_Z<N)*TwqWp8>f%jFb$B_~Y2=n)-B?Y95vHTECQfOlxWse8z1%(4P?H8n$GCaB zWD#|(cKl>GN|dwvxvzYUZYU#LwN>(ZlPbhbT#>a)>QXFm)lc!$0T-saxEuOGb^LSu z((9^+6{1y>zxCBPgp647N7J3MPk3@Pa$L`mE*+$)xh4$q86@z2C`e(;4r>BM4k-ZQ zMsbq2{&BVEz0hK%AY5v}U`HsM-S3CDo2m`RQ#DV<jkJtUk*irptIyWz?1sytY<L_y zN-12F#&Q=J)yK}=0$=K%KP2C`gcmo~qz)Zdwm|ab-GesG7(w7UZzZxFp6*uGC0q8| zuE0>I05CX^?Qaaf-W^gur7Fm9jj6pU;*@Mltg!KoA~1Ei&{dYlYGK<5XH0XT)B?X3 zzpoTH!QE;-uF!fB>|hbnavm;L-;k45`3Lt>ce`p`Xe;id48i-<tRrCA%h&U@GMzMw zQ68;#g_hx=R$Q|OekkeuWPkDZzbh@^$j0OCkUv}qHiu~49q!zT@6QU0w?1Gpq;}KR z9MTvDWbR`d)?nL1Eb`+zb4$0aWBsY_`h74meOay5(!v%AU)_GPN5@iUc~V=-8Hi9< z98$VQdcJa0lX}2jMGm2Zi2mI9P59}wN-I*&$SoYJaWnbDBO#j1Z#n&7x{qM3ktI3n zew7V1$*2cUx<39)_PwLCw4Lp-6r-H5R{kQ}MPt3VwlFNO)ZM(bF1B%n_XH%+tc`Sj zc=hH@>TkqdBU6j31w}UugN-iv+Y^+;qtX-<OFa(^I`(dG%3hD6I$5R^)f0@0ptMrB zE2*vOV<@B``)T=DNXIJTv`Db@_tj0mJIWNbS1W4sF27H`S|~<g^ts&0C;U5GVZtx9 zQbYTKThvbQKi4FAOx@E_;p81q<hQZn-;!@qM&E|N&ueVr)4b;XTi-YM9WYlTf7rbo zv{-EsE=)-rU8jj3m6>T?Dt32U5Ie59k`!PuIYjuZN(qs^pL*3q7Vwg$g)=v!zr+BL z*<j{A>xbZs=(D3lQu@4V#Qb^p`>bC@|G>^GFT7-nOZ;O=ciaI7;q8$7QnD?F7%<hu zftq;+<U_?oZlhedFI+)Fc|b!JJoqNbT}>{^+n#Ssbx+icD1ouWAa7Bl-*fMk*p0a* zS1p&_W!|PxbnDzF&y$Ee4s%H#HQ`i@B$Y8=BK96U%RI{IzB*P>OUk_@PtI2<@aHQs z?p~T|Jtl^ReV28KUun=Mh&v2L<}!9t;}HZ7b0&MBSlq}<SXvaI-;hh<>%6ezBE2C; z7KNVBzxhz|p(}>#i69b0bH3(+hi>)qHY*EZJo6aH3!<+&4Stum_-qv~7}NJnAV|W# zx+TP9#Yfo+acY0VAY8O_#r{wK4bJzODv3I)I+v`vKx4A;5bkoK#Cj-;-v?Vbb(x1b z(dqKfT^`<*5-2@m01~d>fr6>ewsu+FQk2qUIF=QGDK(31my(8uuc2I;Hq>&>x_Ps1 zd!2VR?5{GdNvQt(wph2?wsyX@U<WEiRFSQu%HE0?%y>UA@12iz2Kd@(iu{Rvds++D zHl(f@kn5|XmRMJ|LVp(A=)~Eblj($u4Zc5%D^kOEwGKyrWN#I$DE(B`6a8AiIKgVz zF-FECDUps7_*auI{CfRBi!af_`5AOe%H5)^ZS%6NGN!?{-7-*~=*I-fvV@Cy_^IQ~ zH|~`#rSt-~4<U+mE^NzMAJN<M{f_JEW-^suQUoY(xWC3+jA_ObfllRbs~l6obTR?8 z@Kv|re>yGUUJkLErCdi}?)82zzZSdo;dR^zZ7$O#p=hUXj~Q#5VAhX?5!Q==3{}gc z-vb-2w0#k%f9^`YX|T(fymQ_r;r;COtJ1U*sXWtP``DcFYc8g_7_J=h)Nf<Ic8nr} zBwU`|k(4-g@(hSv&ubnb0Xo?ir3NOqxET!nEciEtT|b3?r-?^_2l<9qK1kR42RqOP zZqayg^S5d=n18;RXw2+fSo|GTJNJw}tS00k{}LctwV{&7Jx=CXZmcY?j9V92hZn?* zx2%`s<Qa@xqM&^rQcl}zsSoa<N~JjXCFRGp#wDz45#!s{fO{t0P%#NS#|P`F<H~Yg zd#otg5v@=*AI2am89Ur;a~Z@uc^BbmE4*onLFe82zNC63rimMALo@JM-PhRAE?{{Z zccsiZgONQ2(ycT|6?;m06cg*Ve+8UlwGMIc_vT41JO8G=<I@^>-U+=P4y08BXd&er zG4Ld|3ya7YJ|(r6vD1@Hgf9(a>|a1^5S1#*{dKq}-l!tUC;|^5=2O8bSxbT|^@(9$ z2keVwdST^umJjHcN?uk&Hl!&@E)BC0|Max|`Rsz2A4gTLjHs#@4`6ntGi-G1OP>aT z?@P#O2NdkLg&ZaF-{F-%sPSCYA@6t)b;p(1&Z#IR6ZFLF-77casrcZoi$(vbN+bwY zXXAQUPo{T%LhWlUB~{{68vSZgu0709RgJfDM%D7bl%(e+RIHO5UsybAo*7agIjQHX z`{|Zp9`uly*7nrwJ}bi3_gyKkbtMHkYma*ux3{l{|A%=<sH#-2J2~W#3TYX-f}ofd zSOr}nLdd@ct87zj#>A3h*kVa?Khz_YMmrTKD~H(e)LA=!^^YTvOY)tVKQ>Tjn&8c` zdDvDx5;i)iohB*rE{P{u7aLu$<MZ4Ez5fQ%KHB5UWjrofyDG~6KO_lYggO$v<hD?w z=4Hg_Q%DS0t`|pFR4Y(Vj}pqK#$8|<v!T)*R%GoCY~<Ffx2u(B<2<!SXq<dZUjTG8 z_R=lEsQZPoeNDGCwd&hS$8ONIiH)`84E4+yuKR^aZI^wz1T#aKm(q{)@gA$?8+-T@ zk;Msv2X$myJ11~B9nIDQmRmQYZ-cMwfRxy6I2Qt33_p$<sz`V|g7Qe-h@f`3X(V&) zQ*SRgKIGR<%_Efk)i#$|<J1k74Z3Rf%X+7wcLe7c4NEO<$#Un_L|~oT?zlSrxn^P- z`gXHc-sL#DI3--ZvLQ{ERJvIF{ZVN1<R~%59>QufA4Q)VxY2pz`(wJ_7rEwR)ESGZ zu5+>s1{{Q@MS;s_*X<>l8blcB_Dd;U^ogM~1B=0B*RC*!qArj0uB1qk=uW&N-rhDk zuk;|20lT_dq11*yaVz_)=z*{4Jqpp6t~@SsCY%SC55+&m_)t7Y18AaQ2wY2;v(kSi zYsK0rOH;M)Brd-*E?dH?!A2q}V-6BlV^BN^?uOCleSV8iDBPGEx$J@A-m&M)NIQ;5 z<tnbM4e*)PctE^+%)BZ&w<_!pO5VW4I-o(*D0iRhNs4Ycmo@28cVmv$2|kd>ZX59H zfo>4HK91eCs{75k%AGx*;M-LtE8H>PKbBK&g)8DW>eeGm1y_ang*o=GYy0XTx745i zj&(bT)zj3>3)N(dVm8lU^sTie2uZWMm6YL$?O!NnFc4A@s#C)p9H~ma8T`a*2F4{w zb8@T|LouqdaZ`y{d=KhhDmfvyY^8u;KR@{Xc#kCQILxIa|Hj(vAltJ)2N1ByqW;s) z_IkE=`WT6`mq&fkl3pAHZ{w%lL5B9u4n~Wvxx$U+scHbFf%bfPotG)B^4EP}&)q5w zEQ}7CMjz+wffKnte$6r_eeY|YTYZ~hNt4WIJx$!b<BV;;bEoW;*LZYq@e~tey_<EO zILw9+46PjD3p{nN;p(=Ir9y-CRGoT{M(@W4y>Spl^yAd!r+tGwoCWAMFUb0GqbDoT zFV81n!)ejEmVpFGh3_hCGYzHO@M~t$aG@&sZf{qPk2m=PgRNPwjVyu?dw~`qk&$*0 zcCtt>T0~Vo!Y{Ud^C6F;)?QR<F_#GC!&*xpI<e;F+Au&3xZtsjVbESikx#RK0ED>T z=foKFd}#24<1H2WcRK@$7z9JW_hkfn2{S$U+$*U*TnFjVC2H^@yN;b5GDT#lV=FTn z!d(=B=7uuHeO53%@6@<=S)wrHs=o<JWUI`D>o#Ycp}JsDb$Bq(#}Az=HwV47_Dp@% z=@#N_U%@ZcH|3d+gOn0^-m2Sy9QB_+8Hjk|Nq3Ox;fL<kAUEY{><f4Fg!fR)Y(!gc z1J8;F#7n31jgQuHHsG>Kj2JLMZ5?uDTljwv?m@)Lon4+3=R$VIe*dpf23VSGg(}as zTZ>f<L`f)0J+6}M61BA#z=`Q~qim^r0~9{&ls(nh=1Bhx3Rf14x8AXf7HOIf=3yu% z<_K%&t=Fd9$JuE;rL>5|@XCjzr_Bo!zV0$4k5y;C1-v9+n8}HfZ(!DlX`p_$4IZFa zO`FksvrI{QbY^VGQ?Rgp>rVMA!$f?7gWe@N<f=#(+B2AR)>O!3!QXQ8Q{Bfct(?AF zz}dE!G?i8Vo|7!aVgKdBes{X{7ryQux=eL-VqeK+jQSVxw<BfB;_i2gm$zo-?cKvo z4Vn^%(U!S|Vjj?z2n;CbUP9ST`1H;r@u@InPY~%D;CnD&)ta9k;HY&aS4mFx5kiY7 z1eo6bzPtXjr&VFjICMo0DH_xqcFs`Z15&uxtD31UHqX__dxxHI)DyvLwULiFRB6!J z-26ln!+dI0a)9{J?sD)-W1C@6xVv64dJ?G^lWg0M<YwMTNhS_IqP<n^ZZ=hG#xq-c zhkKTW#cblIECU4I&Y;tzXdE`@9tG|eM!|!c-)5zK?UC6qT6u|7e_uN$(HDi|&GnN0 z4gT8NtuN)T<T=j8I;$Sa7Af+e^!4zJ-&p_3Q)=ue<UdtQ*cBwM;L4DZ!&5!E-Bs9M zzZhGMD<5-{D8xM$oF_a_Psw(ru8r)?uWfJ$(h$N}zxCJ55sAbSfMVj}>gv2QbG2n@ zN78RA!g0OY_+)FP&s(~Q4?am%zU63lDVgvL*kl^?1P;#`Bj=mI#EkH=JAGdu3fJQ% zmP`%Z(Mz@oumpDn??<$@Zf*%b72M&Rn|G`1!X~cjy3eD{g;jMVkjnh-1WQdsd|63* zW%L%(uK@i)b<vECzA$0z2EWbgtM8Xy+%WP9NB!2!-ykS@J3;+_B-ONm3S)l0<FbmD zmXh3MKX^9P?gCH{hvyRRZ#xFx(B$h#xmA4L(|oXM$~!xqXmCn45U`u&qN#VV+g!?y z;jv3U9p5399JpE{C2z*GNz~e0MLaQ+mMDSc<x>~v8#h$3b8!<DT=f6p6-+3j9pQqI z1jZU|%Y9>4SNRE5rY#SW!+f9hpU?kvnR4X};Go&>0UpjBn-sHeR(bi_u?t^$NeH2v z8$|^5hW9qsdK9A(6Bi|I;6w^*MjiHyZo9VUZF_NdlI-U%qfjElOLBcE>2$kZOo<OU ze<0wFjoM7uR10!N(xcoJ@7;Za3lm!!p}#ol`Zi7MT1Jnb<&yVhM}ZWgce@%F1(K$( zW=QW>Oi;aMvzoMXJ6@o5y%KPC3yeRUT;Wh7<x}6>5$l;eo^(vOjIw*R$@`w^*KDwk z2bDhsijR4CQ8_^Ppeh<*F`KOEOsgZ)@SYh%t;Wz^c*dctmtyf^foTuqup|y?&Dc)X zslhPW$g_TAj!{zI)DlME1eDySJ8zU45ebz^jEX88#mE?PXIqOZyz?2uW4?yz&KLN+ z!F1|<%LLPvCyxW@lg;KcoC+hID6CF#Q7)|v16=JPwK47Y1ri_9YZonWGD^ON9&`aN z3mLlez4zUP%Z)H{<`v?~k}e3bjY#N?AjPTk+x2rFH|}LfUmVpjKi>_V7TB{U?a<?E zFG_X!fz0M;%Xv)^@DzxdxBHvf<lBU;RtxvHIdE^5>SEX6w<teKE#jN~1>__a2jvU- z=!a6FTOYPERvZG`#VH5nJB5?Lg(KdMP%mAICi~1)*k_N+|6-;ddgq*aHNnIOWO=br zdcN;C=R$I$D;nG%y(6J0agV~(Xjn!1=hUq2M)^@#i|nkn_%4|O{lSl(5(15N&VqWd zSt#2PJm4-(3?1Rg7evW$>Z+zNjmi*(Li@G%<3_6aE_55EukO%wv8vqf)zenJ5lLDv zA8=AlGs#*g4J@Mz%xbib^rJosEh-%8A#@8yhZ{3L&S@K^K{0LbpOlnB?7Zxr!bDk2 z)SVm+&}k{kd`gNhcl8a_DYn5<^v@OAM!h4#z*u^w(`Z%mf;(jvsb<19=2N}hb$Cfy zQ1E(MrgBs=d)ZT-^jogx-1IbGggWv>zW?ZHWy4(I6;Y0iicPSKUTkXpl=LO!NjtQW ziX>qcVDPXejnS4vfu4-pEI~3!Y~qb!ev(4`#l8WggFA-3yXhvN2J+`Ar|4$;o$rh} zS|%Z5G>$9tEG}X}S$i_Kz<sj$<lm<ap8T+@?xEwhYPM6-r><2gU-q5L(8oRj^#%o9 z3-xO^{!*iJCl&D|^cnrOZ&OxC^}XeM4YFS*j`X~)Zgl}!^YYWy`ej>~wA(jFijth) zr>NrgWcI$syQ>5|d6;5gw|zL6$9bVZvZXvgpzx4;W>w$6h+#g{f!#!l=Vz&APGvwO zJ~B%9`^0~$A>0&b_b0VaGePWSyw@|EG%B(^C&wikd4H($uTL8a&L@StScg2nAEs$? zGN?inNKn05K6qPGAEPnOI7YvBHEe5^n2uhbyy=BvqDmfcfrh>9evph3s?r`$q$JQq z+Lns=#@SkZzxqC){;)N;uIkMx)dLv`{V10aiiGj{%NqB0@J5-)oJL&#O8r40(V3?^ zLloJcqUhn>q|a3;4DArFT)|lC77+uWz^+?bZFYtdK9_&|&+7^9XV}&dVRXM1*z1F5 z9!tbChcpo^2kto2yJ<LeNVZDBLD5nc8<vy~OjD{~-qNR|UoOA<iMh|gLR3nQ18$!i zZ^E<?wG|%qk3H#1D4TqFZf+QQ&bIX+*)L7-Y+!{~JuWUzOb-rAbd|F9V0jAEg<Tdd zi^8OuYgNeX#eRkr=vnOE^JZgvnPp#p+rZ_Ol=l#4Vj}(6q`sbSgXG?i6-KlIc}Vkf z2}wc9l20?Lx!3!u8vBwT9{vQk)jY69wfqd5tXODMI$|t#U)q{C`MQ>L4%>QHf$6Ip zsQ7M}6C|Sb<;~VTI)L|NJ|o5Q^7zr>y(7;*|G*nHd!)QL9ztBbbzkfqkU3gEb2lQ^ z!p$Y!m&Lm_CZW&Gr<*_@iDVfuSmV;~F=xwSQV&Fg!->J(7q>e5iyVH2B@50-HKciZ zGJbIPy=Rhok`JQaMrHC)eXJui4*34z0dz!vj$LZa$CHKHew!#b>+e(Ang`rGpS?@m z$N&vBBgvtzhS8;5e6(dmQDE{;boY7-aj|kv%v8SD(+#v8fqz!Xb@02wuQa~P(|sX> zHBhveap7_Z{K3$@|D#$_c+XwS9A&Mu!C82J(PQ=4VfE?5qBU3%PDVw1AVW%(U71GI zU!2EbSsK0QYwZYCspHPXWK`iC2XW2-Pab8N)+b93jK1jA`ZsYbm*_;adOIaAE<A&{ z9l06D`$$MS$`^nGOli<m4(VM092^I7emwS_)&`^%AR1q5AE?7Rd68wd*9Q;L{M)KV zw_}?)GPT|9-iL$dc|=2~{<fsT=D$S7lF-cDl7Cq|;T}eLBQ)_Oi_jHY5f|50Gtu$} z9|&j2#czYL4SIcNt8f>itDkj77PWRij)Jcya)BPKI@do9;p?`O`S_4^p3B(Emg!=A z|8EE4X~*?o2N$U*1C76YH1ADyg%RFz5`FW5vVX~4!;nZ-b+w}&R4gf&@u?CZa=I00 z-3DHj$+}El*dU9o&q*9kpm0n}l8b_g6NEdG(j7!_rccvnAdXM<()lWVJ$6GmaI0q? z|GhrWLx_93$eI4C#le5>12l1640F9NX9uFLDAQX!L|%MXCd%JYkq6aeotY#djol5? ztt)JK1IUg(Pfb)l6YiUFuZKLN$`!m`1!jOq{2CgXQfBI@Q?>q1qrq?GeZgidWf&mb z5^&f@>HlMci~6+i!L0mW&tV)L!)D;<*tG0nxXhnpRp}to@~$~wONd5Va1W1OD5idl z_ra>%Bj2qlZcRiYG0A$SA_MNMi(TqmSP~PqhB&q$%|9(V1hzG2NmcnnD^=Y;PW(s> zm|nnV5P{EI{u2~FKEatIwt5ESceak1(vE#w#61S3chemTWf$-7{={gbQZVj#Vd0s& z)Z+~{MjsBHCPX)GOhf3JKIoK;3voZFzUE^gy;lC%{l0RR$V$*Sh<b=jTJI?HRCCRA zC(=`TaCuekutU}P+k=)<*P_>EoB4&}hb%XNxp~7zb5iOJf(BEqDXo*0G5(&JE=De^ zI8mM!f6?aswl~*wwe$3adRb|rjV;4P8Y{f<CN~!YC)n^Txt`&~%F_EaE!|n9(ky_~ zRr^Zwq{o$O6F6v*VYVmJBNSu4(%*hZn&GS}?<$&@UH`t@(6n@NcVB&#wwL*W6p?0S zy`7tJgYmfaoY^n;t`~x8;R7`+(2@@y66wz26_`PEjtsJ@+x@sU2%g#Q+)Kha=r*z7 zunycZi#yswxZIf#1^4LA1d3oZtk89#;NQ@C*q3`1&ANphkRLn?#0wKL9Me*%waEz* znMq)W<?-B-cYM7P!zvx(N-8|kyJS9qYs8wogGC!G%M?@z94o~cLltaHkwGzCU*xQX zzIufCRg<5;{nS<=`oYiO=6w8Txw+~5b&pR5ZDtBsEPt=niECgbvr{!G{&^=$n8v9R zJnsnu{12l!w(L>{8TF%+!12Pdv0=2RXEku@lw?Bc316i8A{ckzq}AtB#2$K$ABj=d z_ly_DS!i|&SdwADCG|I6^*)G$U5G^peOkX9?cV9j=1av}o>SQy_~vyBKa3BcSX>FZ z452;#RC&lUZ5`HJKrT)=ZVLxT6GM|+#aCM6rfCL_9a^$h66CN8zDAzQ-tp<g5$}HK zMZB`5w_`CXsxKiO7z+3=ZCzw#k-~O!zx>W`A}n&S8R>CfXGq#tM0#iHN~W`}k7eJL zOmFu<!u@_+01R3<(CqxI!?~e{aPnT<(TXqgzSO&JtLxo#D*h4c6g@v^ndTWGge$3h z8_ON&A%1z8?IQ!&W&pN0<e_01^}rQI>U+2U_Y$S#u1}*@#pXA6=D0Z5p(c@k=Bex~ z;z-C?Qe(9c@D;Afs!Dd=^7kLiMtNr^-B#q`*Sl@t8(`WJS5Xv*m*$ZbQwu;<WK_Cb z`l?FwV7OPCF^a-3Z@6q^i2Ig@b0-ir#UtmTIg5qB(MzbZrv-jn7O$vBp)5cXL9yY8 zzI{3r4#kT(0^Tc<*nYdKqW@WtL0~}|_k2)Etzj^Qq5ef}|K$h8Q65b)-Hi){f~~s# zfM7)z(1ZSN#B?IPeTQ52*Bo4tlJo<#{@<EO2u;`9ayKXK?FQ+>nT>hbt&M?^^4|T+ z8oXNA_QTFUPD>M)<Uk{iNn9MevAD$4&$A$(E7g>0M~MM|dF^%Xhr=I=-(>?e<t(-Q zYX+N-gCht$!M>8`2ji-TTU1K-0bbjdI@=UG(IQekHw9c(IfffI{CnFSS5*8B)C)N` zTIQPhCVbg=%Zpt_)!<cZRu;!zBX5AsBMY86EsAndjt1(Wbn+I+<{zqc)B!@WF9d1P zobrw`-dYq6ElF~!q0QKgwa(jqyZik~#31Oo^3K6BZYkXxT|O8yEXxSMo8~P(i51uB z1qY<y&Zs0P?XL{}@4LGTo8@oe5s-0s<N)E(aO!(wQ<S;}^>{@f%e@^59OHl~X55d| z-Fm)(R6UF@R7Jr(O<Y*2!mn*ee*Bp>9Oj#S^{v=^)E4<TC_073gZ~V$BWPKw83z*H zBI!612>WSuu^3gr;CYVWwrHpr9<(RtyKr66wdJ$kZu(j5d+i>RyGvpBtH8StzzhN> zXED|6O9!9ctcwl$S_zK>$1zin=R`wcF6-{CmxxPzilH??0l8ZS2VU?!#48l&Fi{FF zOZHS$UQ00<7R^%HvlalX7IN=8pypbh2XrsuxvDV{P3_gmz-mgaOBDTjonm;EB506~ zz^HbF@<Xilh5-kZWqRGP?Zm#Y^-HF6p)A%by9f*8&K0+cfzFKV!2>e9eK<b?s6Z-n zi`Aun4eq_$vi5W)@!;2AceKCnT)X;}VAD2)zc|4>3BU+$cL&B0)1&xTMBvNfRpPM1 zwf$}w_ZpOO7z^$2;Uv{Vy$C02?<@_qC`MJ~E3F;toU|_MaHKu__F!$@`u{{Q+j)`h zlu=>SzOdfWpxZxtJL2@1w>D(APcJ$YKaEetZ%hkkAU0@N7eEdLB%~Zydjwx@dQ$fF z`Y7aa$<(`t<5^?l;|9WNN9!&v7rfbcS;oYW5IgFdw{99dX%NhP7CXgE6Yqc+wQ_%T z9d>Ou&31xijQJ^oPV4&`0tJlf;FT9l7|7uogxHO<z`K2_n1UUJ*mDna2K{{7r<hfm z1o(qyDR7K}e-E#Jyg+XQSuS?(3?6-|n6v$-AI6gw&<_(ITmB$u{WRsLDRg+ZfgIh@ zsSN_~RmVH{+O5rR|88KZV4Q~JD&PVAh#+y)-wMmIj*pf&cEEp}Cr$v?7nZur>Jp#A zOFg|%Xd5D1$qy`@_+P!*MxNOG4_B_+x90@1ad>Y)n*TTQ8{|fXw%_WOOQ&hNrCPL< zV(K$#y|)vwmZCtDKOz*<5$ti>y<fP_r)l}u?TED^8^v!2kK72#;gwKG_;B)SU}$6S z@2!T&FDEU~(#pz0u8Yt8g8@!wyV3c#0q3kK=2#Lt8^rzc`nx)j%PM+3ZGNjQhBh{O zzWct$j`5@>`M_25a6k7uUFi(*MzcK?0U8w?A7SKB!Ry>>;X|R=%38BHWh{Ui)?~K! z`<t`2KWtrLd|$ZeK7jQW*Qqko6Oh36J12^x9%8(MC9skn&bs(_8vhCY0yC!~O|adW z*$h;3mR})p*m)54?A2T#K7rT<M9hgD_;F^g?5sP-v*n)lbSz$iAkr;5X{;^&u+Tq_ z2IYOV#&wy27T~b{4gas&g}T!RB9c-}#z)V_1L^}2<SZ#TLvMTGWYaP4NrDsK%=Y2# zMLOmIo;+7N&nD;<&Ft}9b319|VGDfX$#1;0wle<J3<#;^zQrFzMfkm%i|EFv!N*uk zH1y5R*jpZ`!5_%vDGSe9t>wOPhR}X5b_~AsR4JpmAob&}?=;7yUV!;G00ZdTQJ&&f zLq0!<8Gg%QYrp$}DneyS)EewB-ju;Eei<MZSjztQLJSJdv{u3o_Z(Wpw@g3i;&%I; zn_xT`gv_~!F5uRg<=D3<yx5qLy47z7<bT+O0&)O0lv!qb%vEG@_cqrFbB&spf2+tb zkbV4K2pCUJpe$v)A}SKtO0(@oyC>1zAV(YEc93kj>pXs-Qd;Uf7oZU4lf(fbra>@W zZrlU<;6RF#o5g>fa!k}`k8l7FE!X=~ENReh^S>}$EO<7)3m^fus===iLS3r>dA8S! zt9t=oXQ_s&y63wBLdd2^Ggjp{FHgO4#i}$LQA+C!sjl{KKOM|a)Stemfe9Nd!e)9W zP6g#GHY=vB-P#$|`LFHpzgMAgbYO*yejyN_S~(I>pXv;)obCAhW$GOUpjeW30|6++ zGCCMoUUlH&D=aB7-&FqbU`zYoBwERPBD5-pp}=;~il4a$Y=_Vp!TTY;BIph`uHfn* zHoZgR=}366Ji}5mOmg;guxYg`<oum!IYBuelh9z)`k~6&mkND!76KT0x)jkUTt5HD zSnWtvqsh+U^dPgNP3vysFKkp@-{@cH1sEY`cx<_P&Tb2k2WS36d=*Q|q(~~+W9Or( z==zy$wv;<xvT%9U?EW?|!Lh&<Xoo~X82~z<^6a6rc$60pE}*|{XE}AvBOo+&R+e5B zQMHJNDT;5guG>pGOy96>`FDRsAqBo2-4EMMRW53cf@T8=%(Az58;artoso*n0Zxtx zuP91ZPcOX?3v()@$TF3~SLi9<^-sngJ@|HQ&$qqlWSzhw(Gqg?CUr0Kzap~t2$wp% z?t~Z|CQPVDT{O9YfCUm9msH!}R!EQ7kHx7pKlamQu<{|`)>^pQA4Gr{YmDT0g=0l6 zS~39pGM6GhVc@oL+tbnqkPtng@jtk0SS83*6W-yMC%t|8CiFtVz$R~`7`XHST?gly zm<rfJz^?mHA!9S^F#?Dm9MBb4)l+BP*0{O9xXFE|knlllm!BacfUxX}#X=>pVV01@ zBx10i!2i7>QT>PzaTEX;o)tRF4cC_($`t7+d<Ci+1NIE>J^B_?3oC$OlwE5Rf;qB8 z+O^1<R4egYfSvx!Za@tqLjCuOXG7~m;!JE}CS%fCs84p|wbsyj{)S^nK5Y81U9ak+ zF^rmYPUj}Ov%yJN$OT51FYpf<P{ckzJM~do|3}o9X`V{(WC{3fpcs!KvIX7K8Hzvo z$(D2*+-htY5{1d&?dk0q_?0Bez3sRYKyZ*7w&)bCe8}!S(?0^MDCPYN-mTW7y*^!H zy2vL$px!w^4og)x;3F^-Bu@B=<d4h^9`hC_B>4B%KdRhjS}bTC&~RGz?(?-~AC+`~ zYUeNRjPAF)_BTIngZ-P18Yr?eLnS-QmO2FD?A-^ZUizj<Rcx<1^We6Z@UPMff5b`8 z4)nL>pm$7jq1Oo~l=UuVvOo_`J68lee;4RFmBja@voU1V*8YQUaAl+Cl1doGVmHUy z$^Qlw;lOt^Rb}WI<m7MR<Gl?K(P`vFLB6UfPhkOMU-Vl{43#(~_DWDw>Edh8UWMmV zfWI7a@`J+9Wd*RWn^WsxXJKlmB3S!U*12Ob*XAq!d{ixKWWj&FH>l(d(~k9Tt+^Tq zS@yikf7TUYw|d3a0mTGfsFL%%v#+Ixud;r04o<rESCh5sCkk;Nke<?R0)KSIOE_>= z+Bu}jZYB`r3qLP;|Dc0G@2{lV%dGGUF?b0NdxJ%{`ofm~ldbu9wS!(FL|+u94$(q+ za>bM6p&n_epy)%dK?#M#fWUU7%}R#UV&NC9nA9I>YlH3+yH={npDnY4s-+Nw%t4H$ zrql1&#+nTK8C@qL9cM2Cw?3~Vt%CZwJloz}?4Ux1BN!DQ0VAv`GV#)#+q6AD;%BaR z6L*KN)NHQ$UHtq^bY9%L3XBtiy+}BM=fMKZIq282zwA_AEmx0Z%UEUmr16%fYASz_ z%wCor^Bz@JyZwi#YJo<79VA?egx7Ph3qVd2r6^!4-e5fHcnY}6yuCIgPM)MKZ-_0l zrRJ}4nkbz(-oUI!ex5bdh-^;+C;-wA5NxQ%WpV{2YZ|aLb}DV+FvP>zVS1oHAeO?B zo4UVE8KZ-(Pxgpb#&|1uX?e!~4=9``0nqxvvUr%~1>70GSI@ARIu&%DH5gRo+TM!w z#*(Qt1>j+jCJ7#ZW4c_^SjZLD6llbz;G~|nZo5l^j70!L439JjZ2@(eqrr1_5y<nC zpGFlN(jMF~sxb^pq-RcLLAiFT55c0g&pd-`leYq18e}ugb+u-1ebSh<!mg{ooAKm< z#MV>n;YnS8W{P$P6(bD8t)+U|LfXD&O{KN9J%u2wSE9h}zFKF2uNcYZ;zG_wjO>0q z3uv;}XT9?A$Ms$q!rM~tU@bYty58r>b;f1eKLmE!7i2?9^4y;{Lp%W$<BoQd9wPoO zBmUr;N$)*CpZqdeQsUu8h0_2rzHv0$=7~yT;yUDub(2qe<V??-BZTY_u2I{raBUaD zEBP^?(=yvFKW5fi{rILy#d`F0?%NV2SOszIUz-Plj=6WmY~I3dIeh*LZM>VD9n(1c z#oO-vGobC$w-0&|Xpycfu5>>>r4rj8fX~?N{hwEoyepC8fs)Z`0CeN4cx<YJNYP?W z#W6lqe873<x6{HGofZN!@}loK)WJ9~CE;?mnT3|@?FY1-R=F|5nOT6dQ&sC0)Z+8Y zn>v|z1?z^i%9)`od_Gwt5Cca6i}F^w@2dz@Wg`HSW7aQMq0(op(F0ZYrnUdT-KoYU zo9T?u$w+70mXq?hz0^gGFG);Ej7iM*Q6}<3UNq~DS<rNc?3Z`Y`!gWF(l4UO1Ll*C z*|W4;+8JuIpO0DZR0$O+ooz`2KCO?c+KvH#v1M~VU9He;h21AvhY@l}H35yJypFSD zl<^a%01ke_USteA@(Y_t?(weTCoPfFOPRh0pX-B9rL423*!L$d!Y`GT(-Uzchaqqf zX8+(>`Ds~)AAJ#d)4A{8$6FJ_o3~G#`0e*+Z_DQ8jAWVFNE`;T8TfQhjQC3AY$tyH zUSCQ1;4_B&APBR1TH5W>?$<-A4??z)s+Clg?Z5&|@#ie6vq<jk;1&Kq7?~k&fB$^% zhv1vpZBzrti45$^4lq^Rc-&V}`ZIlXr5&)GR9}{0M7tQ|=H}xpk^@23SpNgo>)z*c z1J)``?CzN4ewvS<k<ygFOk1Jmxy;M8ucEU7j^2lhCM)ns(UkxjicK4Ny!cQ*v*>^} zE?UY6Gjaf3;r$xg?np_qU!T4v57LZCohlsYr-MOs5DPm_dXRqye+FKU?VtrT=pO)Q z1#eejnfl_1!`l7`MtcB>`uhUCEs#TD`VXKH1#5AhWc-Uk!1ZZWtg916S)YmVPRkz? zM409g{QTYi3~1BHA<_J8-*E6S2Y;LM<P6Gm+kqUZ=M7lBdA@$fnfF7FM>Sj4?*^T- zb+)KqLI(XEFXjTiTQ<m_D~HTqAIRr&s2uElTa;~A@aK(DraRCTds;-{!xMu3qX%1I zY}eD1-?jNWCE1H}c%jJ$9eB$3>d(p>j1y^&FN2}#c<o*J=C=XSq=19g%_{4n+l>?( z*q=q&-70OL6G<O5@X_vac0`K6?2E(sAm~LT^X6DY%#ex65?^(G3Nww@o$6kHmORP( zLnooqVQ<6vyPIOR!1Fb{w*oom(>AH53Hzn)ccx7rN%|(rR|%3nGe7*&Qi$869>y%{ zqvE~1a_Ec8<A3j9nxrNUrAn<<^ZA3?PVDlqzqQI_-9(@0rhE8+7oPB+ZTe_A+j*pB zwo0C;vedHx5_pdov<$=L3GYYx7`s2hEGKuGMQ|Dxe->m|p1MY9M!rs*{<v+zfza}K zHBjzG(l^Z;zn}>Q5t91yD~<!RQbFD;^$Y{e3_#xKlQtO9h)>`ZLiuE2C6?<gix+{| z%mdQ`Imko)C+F;*@7W}nwH?|zv>cbuX-ofwL_WH%s;SEo_h&~^IbWw%Vqw$$j)ihS zMG7d0M0ciE0RsTq-de0@LvCc_y9ON)wvzPPj7G&EG><nk%B;dd9b2fAzmgr2)tAJh zbvW(AxI*qv@MR<TO}W3{TBYUsaR$urTB#ZD`t<nS>V&1|lGucAfQK8tJ`P9z(#I#@ zIOLpYV+@$i$jZvXdg!G$n%a}xvRN-ObKEvFxwaQW58U(+-$C~F_InHQqNBlw1PxbQ z<x;&TayLCFVei79>d49#{%yoa9ga>Uo4Rb-gbuy9IMKAIvkTE{n$b3W87d;{&7LV~ z$4(ayp3hWi^Ei{Rc<*;f^e_g3c-~Qi9}zx__;Vsy@uW33Spz!EUw`|_Uqa7uA-M8^ z|29d{e;HKxx@u&h>2?lr(|-zrt|%1R0xUcm5`il^5AdJVJVPDkDqBv?Fx{_z<o+qn zW{ZLlv~D_fuH9t4S`;042(ms=ckyJK_f4nhmvXvTe;OF_Qwng56v^5uX}%0_<G8<j zGcjbf^xY~oh|c%S)EoF^#H`5JJ{os$n`y>8MA_V=qEsnBp%fEKS%m^r`o<rX0al3b z>88=22LJ+h`;kQx{D#`MqSAOJ)SQmNSilQ;gW78lh9s=r8UBV3f66$(eH}p4lKlr# zke%Pn4dV_pJ(4Pz#R4Elh;!WhW@piM1_eq#4AY|n%`?dVH(D_6%pe*B2^_e?i$R#e zCeZla&X~x>W<XzCwkZT?i(`Sb_Bn56K#Nu6wx%Nfi8eq*G;o=8EaFDuug>c!>>Hnu zdKlN@ZO-^J5nG@42IaQBthJQ@4T_(~g4m2$B{XtHZoBQ>=;)}^x3@Qq4Gp`GuRC;{ zZnf4d@x4cJO1?@#|9Y$SWZ1gii768{`nclz@No?f;C{GtmLo6~)25Xok{CDp*Wb1% z|4d61{eIDdKM2uOq_CtK+HtfHZ|P2Kbe}p}B!A!WtSelEd10ruJFt|dYDi9aqw7aS zPW>wg+*fwMG840VLdy}S2>tVs9EN`%_TkA@T64_h@VI!IDpU$<!F&mW;yLUx9S%Hi z6L>ygnl+<LHv#SVcDjx3v3EA$u^K_~N@ldeL-xKoZafuU^(CI+5mx>_+mwV!4D<Ye z1bv_9p9$$o&!wpC{wf@YCl_Ivc>WLI{h~lAgI;6&5dBD;&Vz&`{OR`t9gnKaeAIC8 z`~(PbS_a5tT`gOjdCxt6G5}j=&|3UV-E%K?yPVM$s-ii})pWjk&x@gpPSGXX`lM~) zWb~Sebe(}ql0<2sk={O9I}(Eg#_L470uINe?ostGT@@?v){jgi>Hh|`pNkr!$&R|F zhc|PdoOgaueHPVJhbz-=_@bC(xu!Bp!5@^Y8tF;rYi~=g7%J)%$ON8O!f)m>g8)Fu z=H1w%yD%V)9cY}o5;oNaclN+~I4p}T;=O=Uj_=bLUF=6Ju-*0tWf^<pDOT#4>$LxU z4Fy8n33aV#W}m`TtcQ1`5N~d(L!a*?P&nIOTi_VZO=WBTqJx#e_UmuQWKGxt>tOl2 z%=w9FvsRzGO>M>dTMW7dpPmivM7n83g1|$-1VOi?h;Q!%>n7a-t6iB8^W9Ofg}9wo zc+!eDgEf4f%A!5!7-_v7c-p`33p-V|Bz$RgH`8bY)tg-K{yEY(fXA$~vo43tFv5HD z*}^KxrYMMU{B4S+fv4c-r;rd&dWDl2Xco@w5hG%){P7y>cO<u>B3NtBn|49wIOv|p z!V~WvM=mes8k>MM^^@N$HeM_ruFLSyY$jK>zV@u5soHI#>Wh-5YE)&JXRJ@`)Omrm zK5NlB8QgjW>11xNtV!j}Uq5TW;xBbL)#6QUM1NQMjHUw#_yGB2%6}!FrL)*TzUg$Q z@%=`^Apcl1j{t!p>hk)gBrZ4;@!ktLiA`NS_*S8?dZz_o)iG7Z7yFdtE}eDBQuoMC zTuUsKQn3ml5^v|NYt`2zX@0-E+Gq{r9W9sk6vJjl?RsS~SBgY46jN)lSHI;ash2J0 zs`SD&&p}KxDP&<;V>NXPD%(ZvHF2ezkUI>NgJGYPRjS$^#?#CmicQ%G?kvkrc_k)c zw0s8rfj;5itE6(9Cvy!yEb_NFHwYsn5uKZwQ#I`R{+~);PfyqkLUyHfNjjUi{}`H7 zT><-OJpokva%S~pv6;Xh;vQ*JP@pzFn_;_hcOLZ2-<uw_GR2||d8;{ZEuqgVKcN%G zrL0XY=eIF8{9-6e!LNK#Ipboy3OTMxq9$>IzzLZ!*eSHT%S}%n7>#Cq0GFnMlXdYD z4u~RWs2logzBD~QIN)8LGgfLorW?xv!BO@4molMJZ<09Pa8KEw{{V9zpTtN*dtGA3 zZh^66YL)Q9)~KPc{lBWw%D>3L_0!*@e2Zf4hT>YeX3r*cxZC%-cexeM<~oi)`hFl| zoKwGyl8xLvR(}J+u@QgYf(f<^uARh4IsODhz^64-dk1ef(T1TQ-ipC|CG_5H7L&2w z1D$PGc}*=%nO=-2URQQs;^LA0LBHK+|I4}O&x~JDZ(iaBjRpLQEuJlGtci1>?`ju( zo~1!^Y<I~Xm_1Q2E02yv?i`&#L^~t=l?acAkkubv{V+MNKICik^ovFJ-Uu;fG3ZFF z?ICdIU}y-gYKSh13_S(Aqab1Qa~Ne187>QT1Z75H@Yd(UAh1T-Ov)rh?m3gXM$O>D zLD)Pkki+fidO_%d+3K=jw_2WxOW>mXMzww7ftoL|xv~SF;SB9a^*}yi6}2i_YtF)% zW+icczsmfd7xCw^pJ-Ku!q6p;p=%EE){smFEY=~-x=-7G5a+NwQkY$m;f>80a_i*4 z1?<(o^DrxCj+hZ)el%x}O&?<;*tc=D`Zv)OtYr8w#P_FI`Ei^dVU(7)))-k~R)1y? z+co~sD^{JDeDsvR5bOnFy0fMe{u|J4#V6b1=T}JRn#Gja?|VOj;dB?C$0B%>C(bLY z=bxhGB@o813+XR^IbfrfNm4?z<ex1c9(vR8%}_q)bV9u@RItvpccP`G-S`;Ay1f!S z`48ar<IVhIq(M>U<fEMoOckZh>zT<V?KU?oJ9Fk-l-)IN$Eeh6HIg5HQT5bExXAa` z>blhEn4&FD#~yh-H20kt(W<<{;9&5r`(EeW>`@Gn@nW$itDB40GhbuITqkO2yyhIc zscE@M7nnUvE$SV+Q!L1Cs^X*s_7vbLpL|kS^gK(hWyTmcfko>Hf8xFHVL%^$o3Ivt zK>-f|E{~z~AD^W!837_f89eE==mV=J^fZfXU_z+S|6=N`<C=cs?qNbwQt4Dt>FydJ z0!oK;DiYE$x*J58C`h-XySrgZ_h^s-qr1j7c=mms-*ex;>$U&(@AZ!Bobx%ynIY2s zvh2wTta=>hielcPW9<>fp9}0&4xPSh#3Uh={a{`37xLXLFRRGo%@n&(NlS~K`(QXz zbj9dv+2pj=*G+qkhcvV>*tx4&Fvd(CvzbZH16$J#5i*3E8OC}<JMC(aH*wO5Jln6~ zIY_c{EPaC49CG#em9uSz=}PN2;nl$2?Lf|*Z~fmP4ZeGtp1;^$|IeAPC%HLvxj8R- zo=fkOnRp|U50k3S5xZzesj935&Hyule|ZdP2<Og?%GjF0r@mn9ypCMI7m;Zk{HWUP z%~++DT|@3!(FuJf1UV+2jSG%T4#lY495PeFFbdya^in{M_`6*emT0~;a)Rte*(GZh z^Q{9Rbww$FmBf!p{s4+TBayGlUo79h>byG>%YiQb#*4#$Ek2{OI9rr3;!q@*J|-en z7({cu$nExg<7(0lLSVnYVO7Dnf@Uy8(UV%JNbICpFCH+jl@~obopY>)PinmDe|$)O zf72yv6LwsT-PR%=HW_-nl5M5#6^lEL!dk}eT~0XYzNWV5#%CqUQ*%0upjm>2IS)up z1$7b)x5LEBZ{o|V?ulbE8ZLnrWY)6}hwMJ?OMba%rkHFc5eGj_@5rLpUTe$l`2my8 z2~D(srFY#yJ5QIg3>`4{8{-?cJTmeLr%)`fAJ_fgU@m-eQNMFi?26e5cXHcn66zWK zN=R^mo^HH&8zUy5?d*WWf}ltFA>B<`U%4G>JTW(MLnw>x)MMhcztb&dbUb==o4xEa z*@5w(+~4Qw;;XW(&tPEKM+D=pZ3WA*&>Yz@Hio=|h)h2Pwk4z+uGeF&luOJsLfUd5 z+lvV7&3B4j=(EZBvCQ2gsAYa1DyTLfUv?kxY4L|vNq$#OlgrXO*83CL`${qAg&xQX zyuPV>4$z1lypy<MGpAG_Gpg>2yN<1Kq(WtI(;ja131Bx6pZRPxojlsV<Ug9dAwO|n z8=?UO*sYA7h@kr(=cl{uh+7t<yE~6>lYO>L|Mb5{7K#a$I2pADFz$M64vuvc?Ex|F zNg5r%gdEp`ivwUbMC5{gY}9(lizU0reTW?84gRUn+_$3)e68=5#BziNa##gk+T{lQ zlAWB=kQvxFuD7jCTV=tdGOS++8PV8mJPMP&-H7l`JO<Y{sralXkW&HaH9h?qS&4Ro z?6589JMvgULYM=neQ1pT*-F_MJvEoDOs~qCR?p4d$QM@mVN>{F<zsRArE!0(ExBXS z&zKX}dVS*>W5q%zcG5U)hsmIT=RG08b-B?t_=MJ?7rrO<_D9jnPNS{)!VGiQI7#%@ z5)tHU0U$-Up>(^cLp@EK=SR1N#nYB24^QKv6m!K|ELzZ@s}XO__>+~u$B+NfS+n?k zrya>hdh<?ZKGT3hS`Pk@M?g1jb^7;8*;$)CkICmjM`77sOMkPj4=?!L7icK%Yc;>I zg7`dZ0m)(K&+6pPMni5cA_-_M0*PX7)3D5^+P5W*X7|)Y6ZTh*<bNhw(v9>+Rt-8? zk6rI9N*?T1^9L<C4i5N!eu?*GIJUwlv+SmoEl(qkAX0W!%)Z)c7UBEmW%OTpWZp%A zv!Gm`dpNo8cY>UuB1rABP#Va&SH_dRf`3g#-lgT}>9AX{)$jH_Z;WcI<;zpjcchce zRh`3{Ul?U~fRj+sn{<MBW37gNGI#5B%$GNYsZ#|248|Xjdz@!CDJmQ7BCt=?1JOC# z{VS`y(Up%0wKL!|Rej2?1^%g-^`3oHDz1nn=vy1)RL9zy&DpFw2V;Asgoi-zM5}yY z00=B(HmiWEi+&Uo7~DLQ;-4NK87cYwI}LW_<(1q$!QfKV(UHZK;=I-p*EwI9M7UiV zuq|3{a1nz=#3EDjTKl5{Ahp>VNygXzyQ|6|MNgGIJFv__rKtpA;2-W!#wY}oU=CR! zk=ni#F8$pSJ3M>cv?83O%Dv;f-sxzV8aQjPOb5QR;20=ZWGAdjo1hzqC-_dVzQZty z5|c9+T5*h**=wN;a_pW5)AZzqh`{3on>%(c3<E}atN9Go|K}W@re6R$Wp5D9+kzur z@tGt0BH56!P1$7(Ec~mS*FtK|Zm%UBf`QqkG+;E%mVbe)<=!cJLDsW5`(}5=c<rMj zUBy_{zTd!PXAG+~Crfi(f{OnX$ZL3pC02m**Bh`$0(Rp}WFR1BBs=raDHVQLo_u#P zf7poe=8X$3m{Ad%p=GDkIL?*lRG3T4&;PI!MMtJ+mQM3Wkbmj$kF^ocss&jB+nf5S zY5CA@-yfi8+gsi<bNV;k>lyP07#-XwzK&@?&%)sb`o@I(=jnU^YmN5zlxz*3`wb+I zMfd$a_a&NjP2ob$*a2P_DuBLU0k!b>-abD;&{_;25+!#eFzeZC?A^ZL!3<KKZ?v@3 z?!k0zQ5Zz>hCjp^?ldO+5R?Rch*?KRH-Etx>t1$~!<!wyc~?ALj_@il^{*hev2qGb z4x1zm{El_Tf`Pine^=F_S0^(?{&g6>2Fi{%?Vz=qXF}vw7U2Fb-f0m}ZWn(m^0Xt_ zzD{1&H?@jvq~*1Ov9Uajoihyl_oT|_>1)lcCOj`n*1HXBhGGhkho;Q6{eP~&tH_WL zt9}((yWHTf*@dD;EIEVrA*Uac_T0Z+wGo}s4dbx>%QHs~Rv&L4^+Lq{!)fKPBq&^v zkw<Sci{#!-XJK&F|8I@W=s?^ZFy(}t*)XvX&Z0Sje<q4Ct%d>&FA*2>?52A;?6gxu ztG`ryEjQ4Z7_JD{D(!B?r`|34%%#q;4du?q?=fX#fsNy(XpKus56F^jVZ(g5{RpSS zGM;w47!xC0bK14hFWDgO$}cJ+GKqBUexE7soVS$WkRc8a`CzWE<mEk~VdR3GujJV{ z(f+rSz&INeKPTLC4p#Hc&V*JLHm~`na1D=OQj+E_&mT|d93PwWtnpj4gig2;UNg>D zZ3kp|l^aY~9W8$%|3#>#rpB>EmtU)rV0cv}@2pm-3Z+&=^LdlV5`850Jf&2#@e}1m z_+meP2=MUH(^vAVSQ-DVEc;mOEm<Jol1gB6asQ2%>$DX+p$gTJpNqi7u5ZWoD8j|h ztL+PcDs)2H79*)41Ipy2V{V+CFh++PEtz@{+ghpjKc%Ez5x~2K_6w+}M2(-rj05KP zei3|enUJ!T+APAxSoWPbV<5Rgm^>U?>XGfr?`7(P;kI|Foq2K&R>V=LAk#=!as&e5 zU4ggys(nuqbhf}6a3~m1<|&_k^v|jpQW=O==zGlHVO87^ii)RcT=%T54vm)Y-i@I} zVdM|lLPLj>9}4PK0_;D@@gtu3bN7$f8wt>Ti&}a!jPf-;B6Xu9DFMddp$w$n$f<8f zD46+(nQ<x<%qRzZ@%`1vw*~WBa_=Oi*y<!QfF;t7a<E&l5l*xZ``?g9OeRS0JO@4X zJyQ4v30&CRF5fLW3Fa3g>mZ8s?POWdI=O!ZSENt#_W#~*P2;CsWPyJWPRBBlNwa74 zaJ>>#i*msU>_87<KBV{eTgbgX@4;3Ij74vJtDo4Z5$<WJ^_q&f_#NH<s!H&<yJ?a> zFG!H|h@@>cICxE&tE?unsOybMK`tL4m@pgQh1Coe@I`#;md1&^7~!uU7<_0y(PDC7 z2|1*sX*o+G-Dh9In;leAOKtamv<@tsix_fr?Huu9i6-|s)%ni&2jqdF|9iGEN(iHq z6-m|wNz+g);@<mC$%{|R5l6UkEmr|dO;Ky?u{Zv?HQ5~GowggeSiCz2O)w14u&Eu< zh8ifGr=YLblFjbN4YR~s_w&BI+2b1Z$C-g{r_wqV$ldg^uucEK5plP-b&|UZ#@(%? zs3o5jYo4=y)bpL+mY>4;YI1Ulg)OU7{3Svb2xV^e1gVb4lr_}kTKJ#gWyl=a`(LG` z?iRU*#4D3BzNO6#VcFi<o}Lm;1jDps!ltK%N?K}SUz8nT(We^&v)ZaQ0eIW97`Yi6 zx$Ikbw&!bekF%&`rgwRnuJ>X`OWA6|S`vx2OaU?&i~AYNdk?vw>y>&=etwYbF0?F2 zG4-~EoSTCuj|iqbV_4O}#0Y@|B7gCU0B;FZHPrI0IMmy{k6(J34s5|s3aPoFlc-i! zZO!iB<n$EhplA8ND$C0YF&=`%?5|3Xa+Nqszo1Nq`tSY7zwSqKh<bk_*DxmvzAwWM zd~1!VE~c{_HubEd$RTIr?C42)73O(&j9J~%D6LvgmYpUp`UP<sBCF_PuWngLxH`CY zJ}1>tQ#e&L)yK5>|JE|6U96d{r#3^DhEJOK#2vMQ?O4!(g)<sJ7SFEMZ!@EIg8xYc z1ZP%u9RK^AF^y%DZ?8QZqtv5uy<?!0X1<<OB(Gidg(V!m58f{=o}Mk`wU)&cTrHD@ z*PMRV2}JJR-D&0aKP<C<vEJ^YLk`38idYYkm^8aE7qfD~a~%EZf)FE?iO$xhKw!WU z*F)wy>UI3xe=pW-@1-v?mhj%Ri)?hhf|gSEt}<QyYqdzrCYuLxVJTJR*xia+A`za# z!G31`q>mI`jab$F+8l2I)WwftHyr>w%sob-F%&0y+gy5;sh!><xc8n<!$q9k{+Lu- zu)k?^QV)$OwW$qiI}>MA&%X$b;f)mYy>1H%bQ6###29Pnve#w1VSVS_xcENNRb^!| z6m=qH(#StN*>yO~j|sCh*JAWUj?<k!d$k3g&^%FL*ZT9Rdh(sfw5ky><0&tycS9lP z=L{&yD{#d+e2sguFtQ#(v=w3H?Ek26{9`QPtYkeCVd^eve_T}|-A*5(7DUr+8F(*A zrctw&>52&ER-jsrIeP2oOq7m=e54&sG>jZOIf31V++UHCO?g{|)L1T9jNt<ZJ3lf9 zAu<>_L@S*?8blai^*>SQIpIu$6OQL%xThlcj>~Q`In4jbmpJUU-AEnaQbX?wUk{^2 zNDWTEYs7PRGGH!CHG~k05{-fHM`XEn*Qh7i9_`Z(`29@0ru#P^&`*BS5g!xUinNm} z9Lp3NJZ77%#H$ZNdLIjJZl_ulnYtpMo0lCc((<Nh$=y$7H&|4PKl!qQ{BEz8{Nv|O zzjQ5{z_+X&NHS3|5p8`NYV_^+@*X49Tm_aW^|dSD;>K5cWMp{HPVSx({dN@sv&W10 zD1~G?0Nlcq9wS=j=jKZ|$uYK13;1q-!IoC8*JZ=1`l(`5Who<j35FJ6RA+!aWS-YS zlINrBhfQ$?L4T4lz}2^fN}BPB!(d~PgV`DT{w2}N9d3SI8(P0U$1=uQ$tg9NO-y!B zzU;)4aT)(5XJgMCG1;-BqNFN~2_NB$s2_;%_mD9lT*j_VtQnyxe1X9Uz|BzLBEiME z*8erGU^}xqQX^RhlHVKc=(8atA9sX7n!+%t|K9U~_`(;vEq}v`vVj<X{9tWjybkmF zB@JX*NmYDX+X){A;5UiF!V&3M{*P&H!nm8qc6M6^BW$E&@E-Ze7D=6d>^k1L`(^6# zMf3!N+Soitr5IZLYq;KQ3flOg#`n+pKO&(O_2b8rfJABL)tshb6`$)&G3QN$l9G}P zYf~`V-~S!~Z$0cE4CAu0E41|PKNX_pH)ed1&;V3R%7$$a-o=jRZdgz7>wS*-$Ml$< zMpONB1YAE{?kzTTbU)YF;G1iiNGAtG9+zJHd08p!3d0~cnZzpZlpwBU*6<^_<TeG= z23#pO{^6ZC`9_Vy{z59r%{GpfI7JFaK6$Nq%PU-zd$LWPfVc8e-vF+p%Nrtq1+-*X zOVkN2)>f{;bqO?;Ct3ga{E7eeK9X{L!;mc?74?E*BPCzf#(iqd^}@FWo01$K+w5mj z`WFb#GpT+xW*k`=x9pwI@bPRW3%|KJri>OpifZG|3`L;V5f3urW)0@&A|DClCSP5M zSZ#-qM-|=>DY~_!2nOD|k=1H2tVVZS?JzQJPIe)pF+PZG>{_ILoGarwiIdDhDofw1 z-dM(aF~LXMj_@#+fSgsEmtAkl+Qe^1zbS|W=!TRhE?f;5t4xYOH`vN08ZZNCC!YXs zmi_WcVSu4LKgF%YR$F!O;`o;-%y`<odROaqCRA2Yk!Sg^3EwijdD8+~Xl@Qo^+Q&Q z@9kGxD6;aUX$jknZ+XdFF8q`^QE7e%RXm^*(X%eRni^C}HP^HO50-tCz1+#Hp82{x zvPb6iaQ8F!{+sO>AU(z#vAq89o=qj8U>(CYk}J)uth}|$2_oZvxJRCp1~BjkEEE?N zO`ZuC%}Bd;{k_nXhN+X?9RCH6R`A@7B50>MxsEy>^Zn*(B&W8ab|8qwC!u>MY^z>~ zSps3`TCu6SN{6xo4q3LJfRM#kD{NC@`nhwwAKFjL;nIN=&^tp{#;r=-374QVHi!J1 zsl^GRHW^`H6`KVM-4eMcL$n=3Hvd}ut7aL(?6d1MV_TVc_8+WYeXF3$Ial$R@8AB< zVQym{4)RgSB{FIjJihW`^3H=3T4`q5><U;gVO*L=fz2&(!mE;&)<prc{pQVGSAY1c z3lEd6QhodR7cL(T(FCDP5HC2W`>&rE8{Z4cSo!croPzPc>E6CiF11G_HUaBCFV^v9 z+pHoE>nECy59^QNxkpH}mz{BM!CO;<XG*WWzEBd3lf-_M6f3{gu+SkbEs0uhZgZSm zmadnse=62Ve%ch!R#x6t&JBc?`_E~mRypOzt~;|(Mh=B<;wsqH8_ZhCPQHDSzcq_^ zeg|3?Nq*Mowl~ayhDeL+3ebsA%?Yd@!#oC3epIDlRVi`D)hKgTZExe+?Oi;G1!tc- z_$@QAn@=6_j)%rrt$I}+db^|Mza~6rb15csZjBhc9V~<Vh)yetntLy(NKs_keKGwk zn{{leyIrVYJ{0QyX38ZS8`O)X>JGAIfk|C4T(s~7C`squ?yhz#ldptWzJGd=V5@QS zq%rDKVRBt1!|4az#f}VWL(Z&ajze)Nv}l@6Oyd^r8gV0jJxOJYuBxSZ?#rjis;@a| z;-_3gY>M~l#kx>`M=%*1^bvM}!J=t++jurAsn(9hQ``Ef`h@!#P*7Gee<1volw727 z`bETdsDgMU`P5aW6i3fq0X}Uy?l<k5f^h|O!GT<We+t)6xw~Fm2VNjYQU1nEkC~Y5 zfhIoHH>1}$@_vcwZQ93*@9hcdkHZp8k+~!sqP3Ti_#YRl^$JhMqzc!ME!Xv01wzqG zqi>EaR`P8(6nlwZ-OVlY>({4g-CUO6;cfdrx*0U4MAW3wO0wG4(Tmngq^Opr_u?wD zU9NZ48%CKwHmr06Ypr$Vgqs<BCpbk3E~qsI*djmivNM=l0R5DWCFSS}Lr`a$ciYD^ z!_Hly*xEj3O=(rDb&(_SlHbX2H;q2fyD$BU`q&%#bsa(eV6pv5`VX#U_l+gH(YM<O zt%s^Q;xHTPLjz_3MHXWJY<@wCtvX)X^2JM|jKQztjy)#IUI9fT8Tb>v$XA)kLa2Zn zxjft3YO~gis?L2?lXh=j^xxcj`o^ZF()453&TFaQo8jqbQEq!*-!#o!*1RAy7Au;2 z&s;PK`jTC)2-)?3Tcw8zbQYg!n_G1-cz~WDigYvB##{oCl?{%N^2`15>Pfrc6TQom z<9n~WKPnFqx<%{WGt0ZJb~#0Mmcc3W)ywi)a)=fot%vmW2lF;0G$f+SW1^F*TlVHs zk1C;Q(#Fti+?nXSAc7@etGMC1fE0DVRWQS@H7%MYCh0lAaC|13I5BpjrF}1l9AR%E z+06d7n{lwNT<Pr0#h?0O=u6r-^`8?D-S5lhM)f-N%dH)nJoMWNYdst6jsbv7w+rsU z8Fpsim~Mwp8bOp_d{w`iV0z}zG33tl#Bjej`9b$MZ`S?5pxF?N!ag|DO_s7qSa;x< zYx*zN@4w%q5yKUW<=->i;7h@FIl`*OS@)pPW7~C;RRzxGzbK<-??Xst71$T1{%x8x zqo~FGOB#x0M)~(Mo@YS3INpJ>m(sz(Z(B7|^I~@EwgKQ<163D}F7yzIFGopukq2=B z6?HF#q%8LN>DjZBWxH-i&bIXBXKIcw)p`FtYgD?W!`KywqlZL~fKxx*bpDZTx94D2 z+rjuh;K_tOaePg6iZx99u9Dan3(xe0p1C6HshNOc^;rw^3fX8kT!wM-D!$6v>Iota zsyQl+hq`hM0uGk-v>@>uSRY2$=dkpSwfWxcl|bJRESZo}O>;oN17%cZU7w;_4e51e z97vO|!F|z2)Td*ZBx1dtH9YMYD*-I^Y3rejTDF)J92ViN!oz4PA9wUorQ5GclXd@S zx>QSb1wX{1n#xWt&f3B6WwGYTE5?GX-Bx!RHf^~Q|GsM;ZRz5=ceF5{S2S!`_;sQ1 z96#GEC4yKldR*<w!Pvh%x`7u552GiPL(PL@&1;&?E5QWLtKR8%K?rKYX(Zs%5eVaL zp7Ii3!^|D4nyuwURtfjb7Tr<)gX5hWT1C%*r^u)RW*6<A?h{<rf}4&L+{^3bbp`R2 zOYam5!iT$NdINTWnyn>9m#wX_nGi&ENKqpCJdS-<>a2O~jE{jqaP15*dQ&#T=-BGo zdZ|17`P+Kh`;eK+le`qi`N=x!@?BMLD6wzo1qFOCQ@s49CDWxfd(Hczk_+`~{v7iM zoRC`tn>9rDyx+@%p47do#9vv4K;+kOxlh<4;SWbW_A}`cKlwE1EHVK5-(t7Yp?mU$ zHEmwE^RxMrEM3TvDN>O4dVL-?e{uK;y;ip63;vW~`1XI!Z%N(#)ehbC@#ZkmwZB!p z!7F!YYgrdk+}-u<-&w3dD__wqtLA$9zB4JOJ81Doqct&KJ}DT*?k2hv_RppH#dy6V zQ2x1p3tVjYqk)~P!r7C5Xz+U1c!+b|SfHF{7?{d0@A81B6u?Oo)khWARN@ufpA;)K zzx1StBl(2MK!Pf-$v$@NVg6M^u<>JvYg&#<hl5x_X&@B(+je!&Ys2`EnxDf^&>&(t zBHB9e)sDCHUzq6I_UC-<avwdcqPuhl=>tC+KeeR4n7#6y@54LvdQ2sh78H27LLqxO zEx2vqDsWrOrkzJUg=0Qzkau;2x3utH^l=|A!MtvlO?GNi^(n}7xX&cDBxGjP(w`T2 zaA+x8c$2CnTiT>oYd`g(5j|K4DydA-J!r6OaLHcky4xRdFy%zv90}hH6;{sx)E2*b zbNgte>5v@Or#JRdz3yr>zLQ=<@HOhY)%CA5%3ettW(3fdRJ<;g0}m4~Z7Q-OcQIwe z)r`QwuUKgTymRg32xojvo?L}N6Y=)_c^I**rm(|%p9$cB!ss5ZK=(gA>TzC4hT0Ic z?+Sql8m)?aM0-3a<yXLc5O<^B+9xt7m%;<A75+7)Q?f{FRpZKi;_ZsbtC;Z=!v245 zx-u>#7U4euMg4=42jWiJNUZK&YD2Tqrkh|G3pH(G2-5OFiFvsTP27lg+oO*+goE05 zocd=xb=<-(-mUj9$Ba+>At!J{gz8kmCBCwj{;RLyT>VlK|K^vD_VEuyeB@OnKQWW5 z{1f2?mO0B&vb2j$ndgzIm8@7w@_F${<63jOafm6%xcNG$eb<xy!aBu-`s~I3o(r|% zAU&fHtw!>S?%KJ65L0yWQ|<lcwf!LN;ZCaUMDb4Uj~8_%ChM(~9qzWtPxjK&DY*#i zu~*Nk?eg+3LTZ#>p~}cW8F=KvrP`6)M05wuj@#0Yz5-Ll<uz%T#BB!|Rs9Krxj%*w z9*mx`0WUWI`_ewqOQwCZ#CS4PNZW;ct55@=Qu5|%jP*iB0rlwuRCvQZ!5_cl_%glh zQw9F-gD&XJ<f5?MhXtk*RhS|H*|ge3_d9;sn-|&A0S27gKmWeWmI+?j{Z9KDPwRD( zpgPomIOBV0v*1yzHiLQdGp&QR?VOk!y4UdsZwCzXMrh!BL5!Z4y&A@Co{BkZU9YvE z)muj<1gpB070+L}TAFKnT$IT)x-o%6aqi6-SAl0g9*?+`*ockZy^V*)hXG&*v?ML= z?yZKVBO8oJc_xm@ygw0(P6tkIqu0^lIun<TI3a2DRbk<bALaM#v(b<7P}M=Z=$-1v zJ#w}i{ok5{ngn_(P`Z$OU}T&tcMHI**lWl`a)TgP@aF<?)dlEbhP4dc9s*-?DEB*< zgO&ue!*jb;Z`Lln8bQ_uR)-}|I@i?a$*$|dvAID<G79YeDjKYwxw<rLD~aI@FT;ZD zdFGl(d;x94&46+bOn*Md<**r3h-X>Q!L(*oUftb*M&12|&&lVe`$m}lt?gY4lKRa; z^W`hm$(Ma(_*J?t9@!kL?SNrvjG^%O$8pT3%3NB`94#Pp5S@TM3kA)iIqwRi^nJ4f znopGkHLgC*_wz=p6$P~?%V?u!@O9WdX>U7-=HTq_Z<B}ry=*To)I=7VgZ1ny?ztA5 zgDve3k>KA{cP(?EHR!qxrcv@v9-9mccEz+10pE6%S+`SWvA)-NE$$VQ^lVf`ThN}< z`@Wte!A6~R4(2UsuTgBtIrb6Xg1c+Z$yd*~it1lr$Ht}hnoZT5#hV7nfDiAab3(p) zw2CzP@D-?k`u3ytIoXVMPfQ=rb89)e(+dC<T7g*Q4HcO+%@STzpujF{J-RfIV?&n3 znnq?b6sN+d_5u)mu(+S*9v#FnDk=ei2_`OcYeWjlh`g)rLcQqhy3kLl(q6I=`m$8- z$bKT7@@1ho_ZAOx9mAiTNp#*Xk%3DFTDi<dsp_M+DZur3sy1APTQBe;SW<;Fctuzo zJ9R5eXE$;rI)SGhd*xysi9F`@Jc=jFAM%{lh-aV3BSfj!%gj7idu<rI8^Z&+rr>Yl z$aI94Yk8Ag4~c!VVt6-sqaip!v-~W6ks~O_z)`}-HmE&zmf~EQ)1bS*7<q7Y$K?yS z4qIYsPDoDOqPn0a$6vtp*}5(gBzIS`gu^kHXEl&<cG7Wlq$Ipxgp1s4EZ<%4vKa-= zp)SN9^qpNh_weuJ9=abYx9Tcs%dL%Ym&YFv)2VYbj-T1onE{)9OGg3TCkDp`d4y3y zsLE8!GSr*rpo4y|H~++`PjS1`l)iawQAT%Za*ztb76DILo(1J~#IR-?7<~VwI^}qu zqmdW5TiIBV#YhKc?RI<HI>%__y-WP0(jnXaDxW6(*C1gqpV5JNC(QF#bwlTj@TMr3 zM>({4)jrLRU(|j;^NNP8to~hodI}AjEhS%ZM4v@f1o!A;hS5k?wXrJtGwr@y5M#un z$S9@Owu&E8E@hszyv@~^j#!>7O{UQ4w7N974_NHdzii!JQTm_p{Pyi|+*Lr|orYj` zP`T0Sk&DS|q<8qj>QuFzT-A-}Ji64r?Md)SDW$3n<4gqQS-XA==o!yTU`%&W2^I$( zacF*R@}92jb5KN|f?}MDVb4L3+`OchU+Km<71Y7-^`;tO@^!Ih$9n;l5QM&Kp<0s* zn9;?Tk=Ho!N;e4DRUC7DxTFz7&a6w#Zadkpe)#8<kQv|>o7m+Sx#E%tVa*E^Q^7#U z1sGbWG+^*BBrPvWmn3ClPp{aXho<lY*L(OxPT^BX;?&~_85KLN+<YUaw@21A(x?|z zFCiEEYSojECjiys{eq<XvoIA9W{vNNI!EA;l9H8KV?kSjVaiM1do*qKXk{tytytoj z!9DD{bdngPQ0MK+W3Ckku3ZFK9j|S#;nEmch(+3ik74tCg|>8=W|(dgp3PxufF{(2 z237YiY^~1zTU&%R%4yXWjjcx8u^j}0lvjLugj3=}a)xZpQ3&cgzP4WI*0%gd2essJ zyYZJbtAeD;aWJ}e{n5z$wJ*?^76H0VBL>;jbmvZRaKzL8{j54ii3m*mRLFKYUtV3f zyza%G4R8;Sj>gwt=!6G+@Tb2D6U5rZWxcEMsOKU`^+ew+<%lP5GC00<e7d0Br(ldm zJe<jC<l?(_ZyWd@mfFqU&4rxj%Bh6hJOqZ_BQ4RSLGUhu<a3<~x_K)xgk!+E_Hgj1 zE%cvj$L*)PDMe7pBE(zFc};zy<CfSw0DU#gZ+ikmS;`<9+SW=#S+hU^;Xf!pZkSNg zR&{>J>XDLWssC}bvDce1?Nq50e^d>wK#lNU>$D}Fbn*fUnt8Y<tDSi#Rhp@H6-{H; zI@fCMw5MMTe9%>ir(^-ehXeX`A2GalDt5T|v3KU4Qcrg_wT_Bh3O;*45;QjA4Bo*& z=suKw=OAHdhe@dt@t9L1onU5<)%f0MtV&W`IsMsAm~m*}Ct`0dzhZtk#J^*uOPRIa zrEwud>y^PnTVjsWI@dgGyN{Fol<j|ewor&o*-5DGF-5s)E2a**mAI1rqD)sW0e4pw z-J;vq-1&Q|zM}@!z}0n!#kLn^QV)+lJ};1dXyo+g?d+d1>?7z*>rF5&iI(&SFMR3+ zQ0WQa=6beqs_}V^I*&8yAJn(6z@k7OhkQdOj7?f?nWJjQWz;e8?$I9iTSQVGyU%!y z+mbhH1(zCO`ruhP&&@|iYmGmbq?YvUu9Er*=B_%f_eZFRRA#S8E^l;R|I`uwP`_AF z_M7~0T?H2xje#rnXhAY>i#4;gi%wbZ_dvT~cn)}eUX0phqP2d11p^rhP<^<$!my#7 z+miC&3{AU|?&{QEe5OP0(R(Y#X}=A}iOtVm@THZ_Z%APhUyZ#qrhai`?>Lq;{m7Yk zDI_^;FvVgu_Hnd<Dg$@_Y3E#cn5;I>aY;YVEsfk1X*qMl7bV8VMjsD9_o+Q=mEDb; zY@pSNW3uYN+%%0Mx)Zp6OSIIE^zsjalj&RFD##@aDz~!uMqMASfrq)NBK;{yl6UO{ zDeRoo7dwZ}DcC`*g$uiQKQ}ny7=z%L2WfN)*{zZ<KLANWdVS@|gzaTE=WG^&S&lNq zTssG}|BzoMjhLCJaI$u?*rZ#-iZm{BA9lMZ_bzbvB`REcz78qM-9Ja)h9OHkI}<+b z$pl@PuIs=Z1k~;)<R0X9!P(WcW0ntxQ;?Lpw&e6L9IFkMX@7?@mQG{b&X&n+XFiQN zx9pvsF%qLa<dewc3?9I?)%|0^a#(O!&Y`<zk-*`h2tI|?>)=x3fj>z`b|#f_E=(EJ zMkBFY?Diq8Sub0TZntyli>jC8=X_R&anS8*#FxLe$sEYfRY>51V5}G+rtlz|%4fN% z$sud|ZVrufVV<~U&OYTex5CQV@uv+7@3+r~zovL|+6m(LQU7A8X~5wT>8T5En#Owk znDt?|Iuk%z)<~yQsYEPb%Bwv3T3b`r%&;$9BMu_RX;g&oIN+J|B+^)|)PGD<QVvrD z*P?fHP4hvdODvs@$i{f;16O1)XK!-?4QhS?o$}=W7ijOWgV!FO8&s@6!R(>y!By1d zA?5bs2hEfm+bXWlmso2;w7v`<8RDSC%`>N-M7|hD>DW!i8Bz#`_2J-CN6}P9`pjw% z>txB;vbXEDWfF68tUvdQiLb*;^MW`@r0O<VmrGwBg=_j%`E$^n*7ihp<O^(YffAXd z<d>T)6&U%~<e_FhvI!*QI!+?WVOFtXPAhLyomSON`4)?)Y_#V;MkD`B=I!TMblNty z*^%JL58?|_S(UttTUwH~N2VA~{Zeb5IzLWnaG#+ebA4KA()nvVTT&we9R%F%VHA-O zsi4{`)?_J`fE04Qud4A67}w!TEpAFAGim#T#~gG)VIwp|VmO)?L$q&++H~JPH~?#y z^7lq)@5MN(zW(9xT^?F62t3>2-A^YJP|Pj<a2>vB!zEFgg43mQ6r;@$kd1>ED3el@ zt#YT%I@5o^HR*g{Mnx*`2f2!$(83Hb-ED8=ocLr}<H6oQCY>9s!0dG;6$bdaGcjoc z(q~HseLZ*~$1Lq(G)He}c4nY|{m~hBn^Ji3V<lU*W_haQtSOz-(>P^Ls>G7pq=e&@ zE%0{lBT_Ot;T0`rx#6n;)4ejsYC{{Qc`;y6>R(&Vq}Z9wS864WXHTR8?nIz=v=$o_ zT4H*6)+!)vi6{ERYN6c|au;eQ-DjWtA?+bb!w*z4hyj=bG6{q(TKa|a{xNvX>22y$ zbAz14po|}T6?;-a25;kzjZ}b(x}#z@bcj`_pYihyzNQIA6OF`6p4ru+(SwAkb#&Nr z{?AzOe_L6`6jmiH!}CBRjfm%9mIbPw7hk=G>YKu?#Mwb%oDa9#)jBG6#dQ@}+gA}7 zhAik9bZ=yAQKO4l?Hzb^Ll+$cKQ)D^9C%%{=QiJkP2V=f7u&|X2o@U~rnRNLma3=P zMj3%pm!TVJfT|m{zaNghYrO*(rF)BhIH3BgWB=#;LH*P{c`)HRvrch9ErBy!pC_y} zv+!?|RUlLH(BkGqA$!9#=WPtarp!ghFt6Q1s>r*k4i@S5I(0SPyaM@RDXB#-NVo2v z`mMi8^c)-czIOD*ZsOdAq9dA*ABI}f7ES*A{&OIjc;K~?q?=Z1@vK?*&&Sv0GlORV z3Ag4v4)e^TQv_(>f%KYEn09RN^#&-p)IT!nKy*{AiJ`OF?yurk(Ww6S=|B@siX~~O zlsZ(C&)WN5HzV*XiMyRl;LhcH|6LV1ZQ;v_Y)MR`?Tk!Ex2z{(E^n;|btn2-x}>sm zPTdE#a^T`G&3j;>0Fpfy==^$BP+n01XETCRtEM^-wj@Dqp@&e!w{fIAlyhl#sGK0c zL99B+9r#VEPuVZ}oXJa3h^6p&&T;Mu`G{eaPSM`uRvx7nl$cpYnp$sQy+>RP>N5kR z@*Nb3Umxq>+UAY+je04DtIm4R^AL6y7RDP?Sy*$>N#0A(OYaWH7tBsAf|J2%??LI{ zfSV3Yr1!}S9``VRQup59L9P?Vq8uD4!*1sP^4Vg@bw2Tw?ql(!pWRNd7O~2@v0`xH z8E~qrVbPub6OYfU+y<p}-2qU?hR=IKUJq}++~0LSfS0;3fZB&;-Dk%6k-5CM9zf&X zCJq!TWiYm1cDRzpD)@f>O4DTZ<EWV7QJzbD>#FXsTf8o_AIq}C+nB=s#wI;F?E+}1 z;jxsa6ED2{<`LgS+Vhi(HqIVr={`>A4jKmSR$|8|Rg<-U`h#wvD42d{YsA<nbdG=n z*64+26nTrDKq<Tj`!r(q_QrSE6t0*jC<Xh<(FV%j^jlg&Uh=H~+nOo5*pB#wWG|h$ zC$e$FQ2C?9y38{k4lX~R>Os(z#PyZy0f58H>|`07#n=^ABxNzKB{{WjV4{kk{NH2j zE0paTUz(V@%zs1rsJ3k{DB((?<a76viu=r}NG)3rQoVv_PU&FG-d>UYV9@X)k44qD z@+~y`A#E=QR>n4{&_65mpmVPp#|#>IpK9Sx#Jtd*ijO29I)Gf~oai6q;^Qbt1s@Xn zb!vi1`gwUx8s2&hJK_Q6KPYc!ytm^JqbWRaZPE0SXO;4mXV!ZC)Zz7^`~z0DtY@1q zsdlVAaLH_8Lht2LK_7$%O3Dc3jAB}G3l>V>s?nToU%LRb!N%KntH@DY&i^FVWq{gI z*lO72^A%t(M!wAeLY=ikYY2j{xcf%N+#g{BL??((eFU&)tGc&5Ew`u;fBdtFGB<u6 z$j@0N7vE@qa~N!XG(qtF@=QI)16J>3yg^DVo|~5MD%DnDAEry`v2|FpXYC(pMsKpe z&sH&4mF!zoz@+Nxq?li0Qh-BzdOc6GO{QciK=ncnf7eQm?zdxAcjA9c!mQ^t3A3-Y z99}ERFC`q%_hien#v)Lj^Oay4f$-9*3%mKM<Xc7>diQ+P8%$hcI}L9^ri4tzQ81Js zB*kQTdDI`GQLLGzeZ@+3S(4jh%$Hfh=*}ySk<_jt*2pLIq2?3!W?Y?E`y0;7{Dl}S zSW!eqLLLOTe70R@tnW$;>s?wEs7^@l1XGn62uu<?_NSIBk8Zg#%zK2}C3^fAx7|(Y zZ#4PlHkqAiHv2??>iAEwzgyh!G7Tpgp!P8J=@G=gi_eZ?)%y+hL(UjrX({1+OL&;O z3fnaPVN+hVgUw2wsTqPj8Vx^>?y%So>e1wqUgPQ1&Qax29#z)nsU^{A{OY?!#A6yN zy2*G=DTx>BZ7!X(ZjGX$VM&>_PPwc7YFoGNZ`o~%b-0Y)t-SK(9Bwt881zZeuW$hm zsB-%J@2yRWV$aZZ@#ef*%?DxD2i%}UfXnKe*T@_kaIhn$`C8qq11pD)pY|t@Yh)4W zk{dJ-e1IoD<9Vy?M}_w=iZ+=#=-TJ)rRpdRH9UYAEJ(t<Bsq88C(Gu__kK91≫A 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 literal 0 HcmV?d00001 diff --git a/public/develop/naas/so_intro/index.html b/public/develop/naas/so_intro/index.html index ed000f00..9fbced62 100644 --- a/public/develop/naas/so_intro/index.html +++ b/public/develop/naas/so_intro/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> @@ -2699,7 +2720,9 @@ </ul> <h2 id="intended-audience-service-designers">Intended Audience: Service Designers</h2> <p>OpenSlice end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, Network as a Service (NaaS) OpenSlice automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers.</p> -<p>This section provides an overview of the Service Orchestration process</p> +<p>As next image depicts, service orchestrators follow some predefined workflows. OpenSlice end-to-end (E2E) service orchestrator follows some predefined workflows to manage a service lifecycle (They are described in BPMN language and included in our orchestration engine)</p> +<p><a href="../so/img01.png"><img alt="SO" src="../so/img01.png" /></a></p> +<p>This section provides a high level overview of the Service Orchestration process.</p> diff --git a/public/develop/naas/so_servicespec_to_services_kubernetes/index.html b/public/develop/naas/so_servicespec_to_services_kubernetes/index.html index 28d7ea3a..68429ca0 100644 --- a/public/develop/naas/so_servicespec_to_services_kubernetes/index.html +++ b/public/develop/naas/so_servicespec_to_services_kubernetes/index.html @@ -1728,6 +1728,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/naas/so_servicespec_to_services_nfv/index.html b/public/develop/naas/so_servicespec_to_services_nfv/index.html index 4ab37193..49c04877 100644 --- a/public/develop/naas/so_servicespec_to_services_nfv/index.html +++ b/public/develop/naas/so_servicespec_to_services_nfv/index.html @@ -1728,6 +1728,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/nfvoconfig/index.html b/public/develop/nfvoconfig/index.html index 9a04fdba..3ca8bad0 100644 --- a/public/develop/nfvoconfig/index.html +++ b/public/develop/nfvoconfig/index.html @@ -1733,6 +1733,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/ole_keycloak_management/index.html b/public/develop/ole_keycloak_management/index.html index 5a237601..85ca7b17 100644 --- a/public/develop/ole_keycloak_management/index.html +++ b/public/develop/ole_keycloak_management/index.html @@ -1710,6 +1710,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/portals_intro/index.html b/public/develop/portals_intro/index.html index de10a28d..46607cf3 100644 --- a/public/develop/portals_intro/index.html +++ b/public/develop/portals_intro/index.html @@ -1733,6 +1733,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/role_keycloak_management/index.html b/public/develop/role_keycloak_management/index.html index ba9e15c7..25c67f75 100644 --- a/public/develop/role_keycloak_management/index.html +++ b/public/develop/role_keycloak_management/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/search/search_index.json b/public/develop/search/search_index.json index 7a9e0fda..a6e1e44e 100644 --- a/public/develop/search/search_index.json +++ b/public/develop/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Introduction","text":"<p>version: 2024Q2 - SNAPSHOT</p> <p>The ETSI Software Development Group for OpenSlice (SDG OSL) is developing an open-source service-based Operations Support System (OSS) to deliver Network as a Service (NaaS) following specifications from major SDOs including ETSI, TM Forum and GSMA.</p>"},{"location":"#usage","title":"Usage","text":"<p>OpenSlice can be used in managing 5G network services from the user device to the core network and cloud as well as for Orchestrating cloud resources across private and public clouds for enterprise applications. OpenSlice is capable of supporting most of the features of an end-to-end (E2E) service orchestration framework while many of them will be more mature in future releases. The following figure displays the general usage of OpenSlice. </p> <p></p> <p>The image illustrates how OpenSlice supports the idea of an E2E network service orchestration framework by integrating multiple network components and layers, from user devices at the edge to radio, transport networks, core and public cloud services, ensuring seamless, secure, and efficient delivery of network services. Assuming that there are domain controllers for all the above domains OpenSlice can create the end-to-end service via the domain controllers by following the process of creating and deploying the end-to-end service by implementing transformations, and consuming APIs from various network entities. OpenSlice, in a nutchell, offers user interfaces where users can interact with the framework to order, expose, and manage service catalogs, services and resources that can be ordered, following business logic and policies and exposed through the APIs. </p>"},{"location":"#an-end-to-end-e2e-service-orchestration-framework","title":"An end-to-end (E2E) service orchestration framework","text":"<p>An end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, especially, Network as a Service (NaaS) a comprehensive system is needed that automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers. Such E2E frameworks enable users to consume network services on-demand, similar to how cloud computing services are consumed. Some key components and features of such frameworks are:</p> <ul> <li>Service Catalogs including predefined Network Services based on service templates for common network services like 5G core functions, 5G slices, VPNs, SD-WAN, firewalls, load balancers, etc. as well as custom Network services with Options for users to define their own network configurations.</li> <li>User Interface (UI) and APIs exposure, offering both a Self-Service Portal that allows users to request, configure, and manage network services as well as APIs for enabling programmatic access to network services for integration with other systems and automation scripts.</li> <li>Service Design and Creation tharough service templates based on predefined models for creating services.</li> <li>Automation and Workflow Management via Orchestration Engines, supporting Process Automation for automating repetitive tasks and processes, workflow management and orchestration for automating the provisioning, configuration, and management of network services while coordinating multiple workflows to ensure services are delivered efficiently, ensuring that services comply with predefined policies and standards.</li> <li>Standardized API exposure for seamless integration with different systems and services and APIs transformation support for converting data formats and protocols to ensure compatibility and information exhange between systems during workflows orchestration</li> <li>Service and Resource management and Orchestration while including the capability of multi-domain coordination in managing services/resources across different domains like cloud, 5G core, radios, transport network, and edge including dynamic allocation with adjusting resources based on demand and service requirements. To accomplish the above advanced technologies need to be exploited like, Containerized workloads, Network Function Virtualization (NFV) which uses virtualized network functions to provide services like routing, switching, and security and Software-Defined Networking (SDN) which Controls the network programmatically to dynamically manage traffic and resources.</li> <li>Monitoring and Analytics including Service Monitoring while continuously tracking the performance and health of services with capabilities to analyse data to optimize service delivery and predict issues. Real-Time Monitoring is also needed for tracking the performance and health of network services enabling analytics that provide insights for optimization and troubleshooting.</li> <li>Security and Access Control for ensuring only authorized users and systems can access network services. while implementing rules and policies to comply with regulatory requirements.</li> </ul>"},{"location":"#an-e2e-service-orchestration-workflow","title":"An E2E service orchestration workflow","text":"<p>In general an E2E service orchestration workflow includes the following phases:</p> <ul> <li>Service Request: Users or systems request a network service through the self-service portal or API. The request can specify details such as bandwidth, security features, geographic coverage, and duration.</li> <li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with the underlying components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li> <li>Provisioning and Configuration: Services, network resources and network functions (VNFs) are instantiated and configured according to the service request during Service Orchestration through the orchestration engine. Other controllers manage their own domains, for example SDN controllers, manage the flow of data through the network to ensure optimal performance and adherence to policies, RAN controllers manage the RAN resoruces, Containerized controllers manage their workload, etc</li> <li>Service Delivery: The E2E network service is activated and made available to the user. Continuous monitoring ensures the service operates as expected, with automatic adjustments made as necessary.</li> <li>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</li> <li>At the end of the service period, resources are decommissioned and reclaimed.</li> </ul>"},{"location":"#openslice-for-service-providers","title":"OpenSlice for Service Providers","text":"<p>OpenSlice is used by Service Providers to design Network Services, expose them in Service Catalogues and make them available for Service Orders. OpenSlice then can perform the E2E service orchestration workflow.</p> <p>There are various portals offering UI friendly access to users acting as Service Providers:</p> <ul> <li>The Services portal allows Service Providers to design and expose services.</li> <li>The Resource portal allows users to access resource specifications and running resources in resource inventory.</li> <li>The NFV portal allows users to manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li> <li>The Testing portal allows Service Providers to manage test artifacts</li> <li>The Products portal allows Service Providers to expose services as products</li> </ul>"},{"location":"#openslice-for-service-consumers","title":"OpenSlice for Service Consumers","text":"<p>OpenSlice allows Service Consumers to browse the available offered service specifications in a self-service manner. It also supports TMFORUM Northbound APIs regarding Service Catalog Management, Ordering, Resource, etc. There are various portals offering UI friendly access to users acting as Service Consumers:</p> <ul> <li>The Services portal allows Service Consumers to select and order predefined services.</li> <li>The Resource portal allows users to access running resources in resource inventory.</li> <li>The NFV portal allows users to self-manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li> <li>The Testing portal allows Service Consumers to manage test artifacts</li> <li>The Products portal allows Service Consumers to expose services as products</li> </ul> <p>3rd party applications can use OpenSlice through TMForum Open APIs.</p>"},{"location":"#live-demo","title":"Live Demo","text":"<p>Check a live demo of OpenSlice in the following pages:</p> <p>(username=admin, password=openslice or username=admin, password=changeme)</p> <ul> <li>OpenSlice demo: http://portal.openslice.io/</li> <li>OpenSlice Service Catalogs and ordering: http://portal.openslice.io/services/</li> <li>OpenSlice NFV Services onboarding: http://portal.openslice.io/nfvportal </li> </ul>"},{"location":"#probe-further","title":"Probe further","text":"<ul> <li>Installing OpenSlice. See the Deployment of OpenSlice</li> <li>Learn more on [how OpenSlice supports Network as a Service(NaaS)](./naas/introduction</li> <li>Who is implementing OpenSlice? See OSL ETSI SDG</li> <li>How OpenSlice works? See the Architecture of OpenSlice</li> </ul>"},{"location":"OpenSlice_deployment_examples/","title":"OpenSlice deployment examples","text":"<p>Here are some examples from past and current efforts that use OpenSlice in various cases.</p>"},{"location":"OpenSlice_deployment_examples/#5ginfire-eu-project2018","title":"5GinFIRE EU project(2018)","text":"<ul> <li>MultiVIM approach</li> <li>9 Testbeds</li> <li>Automotive, Smart City, eHeath, \u000bPPDR, Media, SDR, Cloud</li> <li>22 Experiment proposals from Verticals</li> <li>100+ Users</li> <li>VxF catalog: </li> <li>150+ ONBOARDED VxFs</li> <li>OSM TWO, FOUR, FIVE</li> <li>50+ are public to be reused</li> <li>NSD catalog: </li> <li>90+ ONBOARDED NSDs</li> <li>30+ are public to be reused</li> <li>500+ Deployment requests \u000b(orchestrations) performed</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#5g-vinni-eu-project-2020","title":"5G-VINNI EU project (2020)","text":"<ul> <li>Multi-vendor challenge \u2013 Commercial and opensource</li> <li>5G services on multiple sites</li> <li>Introduction of TMFORUM models and APIs </li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#5gasp-eu-project-2021-2024","title":"5GASP EU project (2021-2024)","text":"<ul> <li>Support a multi-site CI/CD testing automated DevOps cycle for network Applications</li> <li>Multiple NFVOs</li> <li>Introducing Service Test models</li> <li>Introducing the Product models for a network application marketplace</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#fidal-eu-project-2023-","title":"FIDAL EU project (2023-)","text":"<ul> <li>Support multi-site automated testing</li> <li>Multiple testbeds/ different APIs</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#across-eu-project-2023-","title":"ACROSS EU project (2023-)","text":"<ul> <li>Used as a cross-domain orchestrator</li> <li>Support the multi-domain orchestrator</li> <li>Support Zero-touch provisioning concepts</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#incode-eu-project-2023-","title":"INCODE EU project (2023-)","text":"<ul> <li>Support the provisioning of end-to-end domain services</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#imagineb5g-eu-project-2023-","title":"IMAGINEB5G EU project (2023-)","text":"<ul> <li>Support the provisioning of end-to-end domain services</li> </ul>"},{"location":"OpenSlice_deployment_examples/#etsi-zsm-poc-2","title":"ETSI ZSM PoC #2","text":"<ul> <li>Automated Network Slice Scaling in Multi-Site Environments</li> </ul> <p>[</p>"},{"location":"alarms_actions/","title":"Alarms","text":"<p>In Openslice parts of TMF642 Alarm Management API are currently implemented. Alarms can be managed through the TMF API endpoint as well as the UI.</p>"},{"location":"alarms_actions/#alarms-and-actions","title":"Alarms and Actions","text":"<p>Note: Actions is an experimental feature. We expect to have a more mature solution in future. The component in the architecture is the Openslcie Assurance Services</p> <p>Alarms can be automatically resolved by specific actions. Today only the following actions are offered.</p> <ul> <li>execDay2</li> <li>scaleServiceEqually</li> </ul>"},{"location":"alarms_actions/#execday2","title":"execDay2","text":"<p>Usually used to perform a Day2 configuration (towards OSM). To use it, Create a New Action Specification Name=execDay2 as following</p> <p></p> <p>Now make a Service Order for your service. In this example \u03c2\u03b5 used a cirros NSD</p> <p>Create a New Action Rule for the running services as the following example:</p> <p></p> <p>The scope is the running cirros service. </p> <p>Params should be paramname=value;paramname2=value2;paramname3=value3 (must exist in the VNF otherwise OSM will raise an error).</p> <p>In this case should be filename=test.txt</p> <p>Primitive=touch</p> <p>ServiceId = select the service which will accept the Day2. In this case is the same</p> <p>To test it:</p> <p>Go to the Service Inventory and select the active Service.</p> <p>Note the UUID of the service (e.g. c4e7990a-e174-4cd2-9133-b10e56721e08 copy from address bar), DeploymentRequestID and NSDID from characteristics</p> <p>You can either use the UUID of the service or the DeploymentRequestID and POST to the Alarms endpoint ( /tmf-api/alarmManagement/v4/alarm)</p> <p>If the DeploymentRequestID is used then POST:</p> <pre><code>\n{\n \"alarmRaisedTime\": \"2021-06-29T12:30:24.675Z\",\n \"alarmReportingTime\": \"2021-06-29T12:30:54.675Z\",\n \"state\": \"raised\",\n \"alarmType\": \"qualityOfServiceAlarm\",\n \"probableCause\": \"thresholdCrossed\",\n \"ackState\": \"unacknowledged\",\n \"perceivedSeverity\": \"major\",\n \"sourceSystemId\": \"mano-client-service\",\n \"alarmDetails\": \"NSID=3;DeploymentRequestID=1\",\n \"specificProblem\": \"myalram raised\"\n}\n\n</code></pre> <p>If the UUID is used then POST:</p> <pre><code>\n{\n \"alarmRaisedTime\": \"2021-06-29T12:30:24.675Z\",\n \"alarmReportingTime\": \"2021-06-29T12:30:54.675Z\",\n \"state\": \"raised\",\n \"alarmType\": \"qualityOfServiceAlarm\",\n \"probableCause\": \"thresholdCrossed\",\n \"ackState\": \"unacknowledged\",\n \"perceivedSeverity\": \"major\",\n \"sourceSystemId\": \"mano-client-service\",\n \"alarmDetails\": \"analarm\",\n \"specificProblem\": \"myalram raised\",\n \"affectedService\": [\n {\n \"id\": \"c4e7990a-e174-4cd2-9133-b10e56721e08\"\n }\n ]\n\n}\n\n</code></pre> <p>The Alarm to be created must have the affected Service ID equal to the running service from the scope (the cirros_ns)</p> <p>Go to service inventory you will see the notes and also the service characteristics for any EXEC_ACTION updates</p> <p>You can also adjust the alarm conditions. They must match true so the alarm to be acknowledged So if another external service raises an Alarm (with POST) for the running service, a Day2 will be performed on another Service</p>"},{"location":"alarms_actions/#scaleserviceequally","title":"scaleServiceEqually","text":"<p>This action is used from getting a scaling event from OSM. Please see the next demo for details on how it works</p>"},{"location":"alarms_actions/#prototype-demo","title":"Prototype demo","text":"<p>You can watch how we used the prototype on the following ETSI ZMS PoC #2</p> <ul> <li>ETSI ZMS PoC #2: https://www.etsi.org/events/1905-webinar-zsm-poc-2-showcase-automated-network-slice-scaling-in-multi-site-environments/</li> </ul>"},{"location":"catalogs/","title":"Catalogs and Templates","text":"<p>The Openslice Service Catalogue (accessible through the API or Services portal) contains the representation of Service Specifications, either created from the provider defining service attributes, or by supporting the GSMA Generic Slice Templates (GST) as well as the VINNI Service Blueprint. The following scenarios are supported by the Openslice Service Catalogue.</p>"},{"location":"catalogs/#createdesign-a-service-specification","title":"Create/Design a Service Specification","text":""},{"location":"catalogs/#first-import-some-resources-as-resource-facing-services-rfss","title":"First Import some Resources as Resource Facing Services (RFSs)","text":"<p>If you have any NSDs as NFV artifacts, import them through the UI menu (Import from NSD list). Then an NSD is imported as a resource and an RFS automatically is created. RFSs then later are used to design a Customer Facing Service Specification</p>"},{"location":"catalogs/#createdesign-a-customer-facing-service-specification","title":"Create/Design a Customer Facing Service Specification","text":"<p>Customer Facing Service Specification are the services offered to customers. You can create a new Service Specification from the menu. The services created through the UI are Customer Facing Services (CFS). Usually you create a CFS as a bundle and then you include Service Specification Relationships with RFSs or/and CFSs.</p> <p>Any Service Specification Characteristics from the RFS are copied to the CFS specification. A CFS can include multiple RFS or/and CFSs. For example you can create a CFS spec called \"A 5G Service\" which is a bundle of two other services (include them in Service Specification Relationships) such as 5G eMBB Slice and a Customer VPN. So when the user orders \"A 5G Service\" services from 5G eMBB Slice and a Customer VPN will be created during the order.</p>"},{"location":"catalogs/#initial-configuration-for-osm-deployment","title":"Initial configuration for OSM deployment","text":"<p>if you have an initial configuration that needs to be applied in the NSD deployment, then you go to the RFS (or CFS) and in Service Specification Characteristics go and edit the OSM_CONFIG characteristic. You can add in the Service Characteristic Value, in the Value field something like the following example which gives a floating IP to a VNF:</p> <pre><code>{ \"nsdId\": \"e855be91-567b-45cf-9f86-18653e7ea\", \"vimAccountId\": \"4efd8bf4-5292-4634-87b7-7b3d49108\" , \"vnf\": [ {\"member-vnf-index\": \"1\", \"vdu\": [ {\"id\": \"MyCharmedVNF-VM\", \"interface\": [{\"name\": \"eth0\", \"floating-ip-required\": true }]}]}]}\n\n</code></pre> <p>or a more complex example (beautify it first if you want to view it, but in the parameter OSM_CONFIG must be minified like the example):</p> <pre><code>{\"nsdId\":\"e855be91-567b-45cf-9f86-18653e7\",\"vimAccountId\":\"4efd8bf4-5292-4634-87b7-7b3d491\",\"vnf\":[{\"member-vnf-index\":\"1\",\"vdu\":[{\"id\":\"haproxy_vdu\",\"interface\":[{\"name\":\"haproxy_vdu_eth1\",\"floating-ip-required\":true}]}]}],\"vld\":[{\"name\":\"pub_net\",\"vim-network-name\":\"OSMFIVE_selfservice01\"},{\"name\":\"management\",\"vim-network-name\":\"OSMFIVE_selfservice01\"},{\"name\":\"lba_net\",\"vim-network-name\":\"lba_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"1\",\"vnfd-connection-point-ref\":\"haproxy_private\",\"ip-address\":\"192.168.28.2\"}]},{\"name\":\"backend_net\",\"vim-network-name\":\"backend_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"3\",\"vnfd-connection-point-ref\":\"haproxy_public\",\"ip-address\":\"192.168.20.2\"}]},{\"name\":\"lb_sb_net\",\"vim-network-name\":\"lb_sb_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"3\",\"vnfd-connection-point-ref\":\"haproxy_private\",\"ip-address\":\"192.168.28.2\"}]},{\"name\":\"breaking_point_Spain\",\"vim-network-name\":\"sb_repo_net\"},{\"name\":\"breaking_point_Greece\",\"vim-network-name\":\"5TONICexternal\"}],\"additionalParamsForVnf\":[{\"member-vnf-index\":\"2\",\"additionalParams\":{\"target_IP\":\"192.168.20.2\"}},{\"member-vnf-index\":\"4\",\"additionalParams\":{\"target1_IP\":\"192.168.21.2\",\"target2_IP\":\"10.154.252.10\"}}]}\n</code></pre> <p>You can leave the Alias and Unit of Measure as is. Check also the is Default.</p>"},{"location":"catalogs/#day-2-primitive-actions","title":"Day 2 Primitive Actions","text":"<p>NFVOs like OSM allow to perform actions while a service is running, for example change attributes or make actions on a specific VNF. To design this do something similar to the following example:</p> <ul> <li>Go to the RFS related to the NSD that contains VNFs with primitives</li> <li>create a characteristic named Primitive:: , e.g. Primitive::touch <li>select Value Type: ARRAY</li> <li>add Service Characteristic Value: i) alias=primitive, value= (e.g. touch), ii) alias=member_vnf_index, value= (e.g. 1), iii) add the params that the user will change in alias the name of param and in value an initial value (e.g. alias=filename, value=myfile.txt) <p>In the above example, when the service is running and the user goes to service inventory to MODIFY it, changes the value of the alias=filename, value=myfile.txt, to value =secondfile.txt. Then inside the VNF a file will be created called secondfile.txt</p>"},{"location":"catalogs/#generic-slice-templates-gst","title":"Generic Slice Templates (GST)","text":"<p>(Offered only as a design for now. THere is no direct implementation to NFV) On October 16th 2019 GSMA published NG.116 Version 2.0 which defines the Generic Network Slice Template (GST). GST is a set of attributes that can characterise a type of network slice/service. GST is generic and is not tied to any specific network deployment. Here is a list of the various attributes of the template:</p> <ul> <li>Availability</li> <li>Area of Service</li> <li>Delay tolerance</li> <li>Deterministic communication</li> <li>Downlink throughput per network slice</li> <li>Downlink throughput per UE</li> <li>Energy efficiency</li> <li>Group communication support</li> <li>Isolation level</li> <li>Location based message delivery</li> <li>Maximum supported packet size</li> <li>Mission critical support</li> <li>MMTel support</li> <li>NB-IoT support</li> <li>Network Slice Customer network functions</li> <li>Number of connections</li> <li>Number of terminals</li> <li>Performance monitoring</li> <li>Performance prediction</li> <li>Positioning support</li> <li>Radio spectrum</li> <li>Reliability</li> <li>Root cause investigation</li> <li>Session and Service Continuity support </li> <li>Simultaneous use of the network slice</li> <li>Slice quality of service parameters</li> <li>Support for non-IP traffic </li> <li>Supported access technologies </li> <li>Supported device velocity </li> <li>Synchronicity</li> <li>Terminal density </li> <li>Uplink throughput per network slice </li> <li>Uplink throughput per UE</li> <li>User management openness</li> <li>User data access </li> <li>V2X communication mode</li> </ul> <p>Openslice offers the GST in a format that is machine readable and aligned with the TMF SID model. Here is a tentative approach in JSON : https://github.com/openslice/org.etsi.osl.tmf.api/blob/master/src/main/resources/gst.json</p> <p>Providers can clone a GST as e NEST directly in Openslice Web portal and the adjust the default attributes to their Service Specification</p>"},{"location":"catalogs/#5g-vinni-service-blueprint","title":"5G-VINNI Service Blueprint","text":"<p>(Offered only as a design for now. THere is no direct implementation to NFV) 5G-VINNI Service Blueprint is a special Service Specification defined by teh 5G-VINNI project. Many details can be found in document https://zenodo.org/record/3345612</p> <p>5G-VINNI Service Blueprint is a reusable self-contained specification of required network slice service (instances). As described in GST mapping VINNI-SB is also machine readable. </p> <p>Here is a tentative approach in JSON : https://github.com/openslice/org.etsi.osl.tmf.api/tree/master/src/main/resources/vinnisb</p> <p>5G-VINNI SB has many commonalities with GST as well as it offers Testing as a Service attributes.</p> <p>Next figure presents the high-level object model of a 5G-VINNI service blueprint.</p> <p>The 5G-VINNI SB as a first prototype approach is conceived as a CFS of a \u2018bundle\u2019 of services. It has some characteristics, like name, description, service type (eMBB, etc) and others. The constituent services are:</p> <ul> <li>A \u201cService Topology\u201d Service Specification which is related to a Network Service Resource topology (a Logical Resource Spec). It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service Requirements\u201d Service Specification which is related to Service requirements. This is very similar to GST. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 1\u201d Service Specification which contains characteristics for service exposure on level 1 ( see D3.1 for details). It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 2\u201d Service Specification which contains characteristics for service exposure on level 2. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 3\u201d Service Specification which contains characteristics for service exposure on level 3. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 4\u201d Service Specification which contains characteristics for service exposure on level 4. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service 3rd part VNF\u201d Service Specification which contains characteristics for support 3rd party VNFs to be included in the service. It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service 3rd part NSD\u201d Service Specification which contains characteristics for support 3rd party NSDs to be included in the service. It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service Monitoring\u201d Service Specification which contains characteristics for offering Monitoring capabilities on the requested Service. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Testing\u201d Service Specification which contains characteristics for offering Testing capabilities on the requested Service. It is considered at this stage a CFS.</li> </ul> <p></p>"},{"location":"catalogs/#manage-a-service-specification","title":"Manage a Service Specification","text":"<p>You can manage them though the Web UI</p>"},{"location":"catalogs/#assign-a-service-specification-to-service-categories-and-publish","title":"Assign a Service Specification to Service Categories and Publish","text":"<p>Just create categories and from the menu select the category and add services</p>"},{"location":"catalogs/#retireremove-a-service-specification","title":"Retire/Remove a Service Specification","text":"<p>Delete it from the category</p>"},{"location":"catalogs/#consume-and-expose-service-specifications-from-other-service-catalogues","title":"Consume and expose Service Specifications from other Service Catalogues","text":"<p>See more on Consuming Services From External Partner Organizations</p>"},{"location":"config_intro/","title":"Configuring and managing OpenSlice","text":""},{"location":"config_intro/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>This section provides information on how to configure and manage different aspect of OpenSlice while in operation. For example:</p> <ul> <li>Manage user roles and access in Keycloak</li> <li>Configure/Manage NFVOs</li> <li>Advanced configuration scenarios</li> </ul>"},{"location":"deployment/","title":"OpenSlice Deployment","text":"<p>This section is meant to guide the user through the installation of OpenSlice. </p>"},{"location":"deployment/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>Following, you may thorough guides depending on the installation type of your choice:</p> <ul> <li>Installing via Docker Compose guide</li> <li>Installing via Kubernetes guide</li> </ul>"},{"location":"deploymentCompose/","title":"OpenSlice Deployment Guide with Docker Compose","text":""},{"location":"deploymentCompose/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":""},{"location":"deploymentCompose/#requirements","title":"Requirements","text":""},{"location":"deploymentCompose/#hardware-requirements","title":"Hardware requirements:","text":"Minimum Hardware Requirements Recomended Hardware Requirements 4 CPU cores 8 CPU cores 8 GB RAM 16 GB RAM 30 GB storage 50 GB storage"},{"location":"deploymentCompose/#software-requirements","title":"Software Requirements:","text":"<ul> <li>Docker: A running environment for Docker Compose services</li> </ul>"},{"location":"deploymentCompose/#preparing-the-environment","title":"Preparing the environment","text":""},{"location":"deploymentCompose/#1-backup-your-previous-database-if-necessary","title":"1. Backup your previous database if necessary:","text":"<pre><code>sudo docker exec amysql /usr/bin/mysqldump -u root --password=letmein ostmfdb > backup_ostmfdb.sql\n</code></pre>"},{"location":"deploymentCompose/#2-install-docker","title":"2. Install docker","text":"<p>Since July 2023 Docker Compose V1 stopped receiving updates. OpenSlice fully reverted to Compose V2, which is integrated in the Docker installation.</p>"},{"location":"deploymentCompose/#3-configure-containers-to-properly-resolve-the-dns-of-your-domain-optional","title":"3. Configure containers to properly resolve the DNS of your domain (optional)","text":"<pre><code>sudo nano /etc/docker/daemon.json\n</code></pre> <p>and add:</p> <pre><code>{ \n \"dns\": [\"8.8.8.8\", \"8.8.4.4\"]\n}\n</code></pre> <p>After editing daemon.json restart docker daemon for the changes to take place</p> <pre><code>sudo systemctl restart docker\n</code></pre>"},{"location":"deploymentCompose/#downloading-the-project","title":"Downloading the project","text":""},{"location":"deploymentCompose/#1-create-a-new-folder-to-download-the-project","title":"1. Create a new folder to download the project","text":"<pre><code>mkdir openslice\n</code></pre> <pre><code>cd openslice\n</code></pre>"},{"location":"deploymentCompose/#2-download-the-deployment-script","title":"2. Download the deployment script","text":"<p>Download the deployment / environment preparation script</p> <pre><code>wget https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/raw/develop/compose/deploy.sh\n</code></pre> <p>Make it executable</p> <pre><code>sudo chmod +x deploy.sh\n</code></pre>"},{"location":"deploymentCompose/#3-run-the-deployment-script","title":"3. Run the deployment script","text":"<p>OpenSlice is a multi repo project. This script selects the same branch for all repositories of the project to pull from.</p> <p>After that it builds the respective jar files locally and installs all the npm packages needed for the UI.</p> <p>If you run the script without selecting a branch the the main branch is going to be selected.</p> <p>We recommend:</p> <ul> <li>main branch for the most stable experience and</li> <li>develop branch for an experience with the latest features (for develop branch installation, it is strongly advisable that you may as well follow the develop documentation)</li> </ul> <pre><code>sudo ./deploy.sh develop #[or replace main with other branch name]\n</code></pre> <p>We recommend running the deploy.sh script with root permissions! In other case, some directories may not be accessible by the project building tools and hinder the smooth installation.</p>"},{"location":"deploymentCompose/#configure-docker-compose-services","title":"Configure Docker Compose services","text":""},{"location":"deploymentCompose/#1-create-configuration-specific-docker-compose-file-from-the-template","title":"1. Create configuration specific Docker Compose file from the template","text":"<pre><code>cd org.etsi.osl.main/compose/\n</code></pre> <pre><code>sudo cp docker-compose.yaml.configure docker-compose.yaml\n</code></pre>"},{"location":"deploymentCompose/#2-configure-mysql-portal-container-optional","title":"2. Configure mysql-portal container (optional)","text":"<ol> <li>In folder <code>org.etsi.osl.main/compose/mysql-init</code> edit the file <code>01-databases.sql</code>.</li> <li>In the <code>org.etsi.osl.main/compose/docker-compose.yaml</code> edit the credentials of the users that services use to connect to the databases, if you wish.<ul> <li>portaluser (default is 12345) and</li> <li>keycloak (default is password)</li> </ul> </li> </ol>"},{"location":"deploymentCompose/#3-configure-keycloak-container-optional","title":"3. Configure keycloak container (optional)","text":"<ol> <li> <p>If you made changes to keycloak's mysql credentials:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code>.</p> </li> </ol> <pre><code>DB_DATABASE: keycloak\nDB_USER: keycloak\nDB_PASSWORD: password\n</code></pre> <ol> <li> <p>If you want to change the keycloak admin password:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> </li> </ol> <pre><code>KEYCLOAK_PASSWORD: Pa55w0rd\n</code></pre>"},{"location":"deploymentCompose/#4-configure-bugzilla-container-optional","title":"4. Configure bugzilla container (optional)","text":"<p>If you want to utilise the Bugzilla connector:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.activemq.brokerUrl\": \"tcp://anartemis:61616?jms.watchTopicAdvisories=false\",\n \"spring.activemq.user\": \"artemis\",\n \"spring.activemq.password\": \"artemis\",\n \"bugzillaurl\":\"\",\n \"bugzillakey\":\"\",\n \"main_operations_product\":\"\"\n}'\n</code></pre> <p>And add the provided Bugzilla installation information:</p> <pre><code>\"bugzillaurl\":\"bugzillaurl.xx:443/bugzilla/\",\n\"bugzillakey\":\"exampleKeyeqNNwxBlgxZgMEIne0Oeq0Bz\",\n\"main_operations_product\":\"Main Site Operations\" // this is the default product to issue tickets\n</code></pre> <p>Bugzilla should have the following components under the specified product: </p> <ul> <li>NSD Deployment Request: Component used to schedule deployment req </li> <li>Onboarding: Issues related to VNF/NSD Onboarding </li> <li>Operations Support: Default component for operations support </li> <li>Validation: Use to track validation processes of VNFs and NSDs </li> <li>VPN Credentials/Access: Used for requesting VPN Credentials/Access </li> </ul> <p>Also in the 'Main Site Operations' product, a version named 'unspecified' must be created.</p>"},{"location":"deploymentCompose/#5-configure-osportalapi-container-nfv-services-conditional","title":"5. Configure osportalapi container (NFV services) (conditional)","text":"<p>Change the respective fields: </p> <ul> <li>If you made changes to mysql and keycloak credentials.</li> <li>If you want to change logging level (TRACE / DEBUG / INFO / WARN / ERROR).</li> </ul> <p>If you are using a non-local domain, replace everywhere the http://keycloak:8080 with the respective {{protocol://domain.name}}, as well as \"spring.portal.main.domain\" property.</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.datasource.username\":\"root\",\n \"spring.datasource.password\":\"letmein\",\n \"spring-addons.issuers[0].uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"spring.security.oauth2.resourceserver.jwt.issuer-uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"springdoc.oAuthFlow.authorizationUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"springdoc.oAuthFlow.tokenUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\", \n \"spring.portal.main.domain\": \"http://localhost\",\n \"logging.level.org.springframework\" : \"INFO\"\n}'\n</code></pre>"},{"location":"deploymentCompose/#6-osscapi-container-tmf-api-service-conditional","title":"6. osscapi container (TMF API service) (conditional)","text":"<p>Change the respective fields: </p> <ul> <li>If you made changes to mysql and keycloak credentials.</li> <li>If you want to change logging level (TRACE / DEBUG / INFO / WARN / ERROR).</li> </ul> <p>If you are using a non-local domain, replace everywhere the http://keycloak:8080 with the respective {{protocol://domain.name}}.</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.datasource.username\":\"root\",\n \"spring.datasource.password\":\"letmein\",\n \"spring-addons.issuers[0].uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"spring.security.oauth2.resourceserver.jwt.issuer-uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"springdoc.oAuthFlow.authorizationUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"springdoc.oAuthFlow.tokenUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\", \n \"logging.level.org.springframework\" : \"INFO\"\n}'\n</code></pre>"},{"location":"deploymentCompose/#configure-nginx","title":"Configure nginx","text":"<p>In folder <code>org.etsi.osl.main/compose/nginx</code> create a configuration specific <code>nginx.conf</code> file.</p> <pre><code>cd org.etsi.osl.main/compose/nginx/\n</code></pre> <pre><code>sudo cp nginx.conf.default nginx.conf\n</code></pre> <p>If needed, in the nginx.conf file, edit the server_name for an non-local deployment.</p>"},{"location":"deploymentCompose/#configure-web-ui","title":"Configure Web UI","text":"<p>In folder <code>org.etsi.osl.portal.web/src/js/</code> create a configuration specific <code>config.js</code> file.</p> <pre><code>cd org.etsi.osl.portal.web/src/js\n</code></pre> <pre><code>sudo cp config.js.default config.js\n</code></pre> <p>Edit the <code>config.js</code> file with the information of your domain. <code>ROOTURL</code> will automatically extract the the Origin (Protocol://Domain:Port) of the deployment, but you must change <code>APIURL</code> property, if you are not aiming for a localhost installation, e.g. \"https://portal.openslice.io\".</p> <p>Example file:</p> <pre><code>{ \n BUGZILLA: \"ROOTURL/bugzilla/\",\n STATUS: \"ROOTURL/status/\",\n APIURL: \"http://localhost\",\n WEBURL: \"ROOTURL/nfvportal\",\n APIOAUTHURL: \"ROOTURL/auth/realms/openslice\",\n APITMFURL: \"ROOTURL/tmf-api/serviceCatalogManagement/v4\"\n}\n</code></pre>"},{"location":"deploymentCompose/#configure-tmf-web-ui","title":"Configure TMF Web UI","text":"<p>In the folder <code>org.etsi.osl.tmf.web/src/assets/config</code> there are 3 files available for configuration:</p> <ul> <li>config.prod.json (Basic information + API configuration)</li> <li>theming.scss (CSS color palette theming)</li> <li>config.theming.json (HTML configuration - Logo, Favicon, Footer)</li> </ul> <p>The first 2 files above (i.e. config.prod.json, theming.scss) are essential for the successful deployment of OpenSlice, thus created automatically during the initial deployment at <code>org.etsi.osl.tmf.web/src/assets/config</code> directory as a copy of the default ones from the remote repository.</p> <p>Ensure that you check the <code>config.prod.json</code> and <code>theming.scss</code> files and readjust to your deployment if needed.</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <p>E.g. You may edit \"TITLE\", \"WIKI\", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.</p> <p>Example file:</p> <pre><code>{ \n \"TITLE\": \"OpenSlice by ETSI\",\n \"PORTALVERSION\":\"2024Q2\",\n \"WIKI\": \"https://osl.etsi.org/documentation\",\n \"BUGZILLA\": \"{BASEURL}/bugzilla/\",\n \"STATUS\": \"{BASEURL}/status/\",\n \"WEBURL\": \"{BASEURL}\",\n \"PORTAL_REPO_APIURL\": \"{BASEURL}/osapi\",\n \"ASSURANCE_SERVICE_MGMT_APIURL\": \"{BASEURL}/oas-api\",\n \"APITMFURL\": \"{BASEURL}/tmf-api\",\n \"OAUTH_CONFIG\" : {\n \"issuer\": \"{BASEURL}/auth/realms/openslice\",\n \"loginUrl\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/auth\",\n \"tokenEndpoint\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/token\",\n \"userinfoEndpoint\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/userinfo\",\n \"redirectUri\": \"{BASEURL}/redirect\",\n \"logoutUrl\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/logout\", \n \"postLogoutRedirectUri\": \"{BASEURL}\",\n\n \"responseType\": \"code\",\n \"oidc\": false,\n \"clientId\": \"osapiWebClientId\",\n \"dummyClientSecret\": \"secret\",\n\n \"requireHttps\": false,\n \"useHttpBasicAuth\": true,\n \"clearHashAfterLogin\": false,\n\n \"showDebugInformation\": true\n }\n}\n</code></pre> <p>The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of OpenSlice, then {BASEURL} is automatically translated to \"http://localhost\". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. \"https://portal.openslice.io\".</p> <p>If further customization, apart from the default provided, is needed for branding (Logo, Footer) then <code>config.theming.json</code> needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows:</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <pre><code>sudo cp config.theming.default.json config.theming.json\n</code></pre> <p>IMPORTANT NOTE: If you want to apply changes to the JSON configuration files without the need to rebuild the application, you have to apply the changes at the <code>org.etsi.osl.tmf.web/dist/io-openslice-portal-web/assets/config</code> directory. Although, it is mandatory to also apply these changes to the <code>org.etsi.osl.tmf.web/src/assets/config</code> for persistancy, as after any future rebuild of OpenSlice the <code>/dist</code> directory is being overwritten along with its contents. The OpenSlice team strongly recommends to always apply your changes to the TMF web UI configuration files at <code>org.etsi.osl.tmf.web/src/assets/config</code> and rebuild the application.</p>"},{"location":"deploymentCompose/#deploy-openslice-via-docker-compose","title":"Deploy OpenSlice via Docker Compose","text":"<p>After configuring the services, and editing the docker compose file accordingly, the docker compose instantiation command can be performed.</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.main/compose/\n</code></pre> <pre><code>sudo docker compose --profile prod down;sudo docker compose --profile prod up -d --build\n</code></pre> <p>Depending on your machine, this process might take time. if for any reason the deployment fails during first time, please rerun the above before any further measures.</p>"},{"location":"deploymentCompose/#validating-deployments-and-container-monitoring","title":"Validating deployments and container monitoring","text":"<p>You can monitor containers' status with portainer at port 9000 (http://your-ip:9000).</p> <p>Initially, you may monitor the local machine at portainer.</p> <p>Please check that all containers are in running state.</p>"},{"location":"deploymentCompose/#post-installation-steps","title":"Post installation steps","text":"<p>After the successful deployment of OpenSlice, to ensure the E2E user experience, this section is mandatory. It contains crucial configuration in regard of authentication and user creation.</p>"},{"location":"deploymentCompose/#configure-keycloak-server","title":"Configure Keycloak server","text":"<p>The Keycloack server is managing authentication and running on a container at port 8080. It is also proxied to your host via nginx under http://localhost/auth. </p> <ul> <li> <p>Navigate to http://domain.com/auth/ or https://domain.com/auth/, (http://ipaddress:8080/auth/ or https://ipaddress:8443/auth/ which are directly accessible without proxy) </p> </li> <li> <p>Navigate to Administration Console </p> </li> <li> <p>Login with the credentials from section Configure keycloak container. Default values are:</p> <ul> <li>user: admin and </li> <li>password: Pa55w0rd</li> </ul> </li> </ul> <p>if you are running in HTTP you will get a message: HTTPS required.</p> <p>To resolve this issue when running in HTTP: </p> <ul> <li>Select the master realm from top left corner</li> <li>Go to login Tab and select \"Require SSL\": None</li> <li>Repeat for realm Openslice</li> </ul> <p>If you are running in HTTPS, then \"Require SSL\" can be left unchanged to external requests.</p>"},{"location":"deploymentCompose/#1-configure-redirects","title":"1. Configure redirects","text":"<p>Navigate to realm Openslice > Clients > osapiWebClientId and change the Root URL to your domain. </p> <p>Also, insert your domain, e.g. http://example.org/*, at:</p> <ul> <li>Valid Redirect URIs</li> <li>Web Origins</li> </ul>"},{"location":"deploymentCompose/#2-configure-email","title":"2. Configure email","text":"<p>Keycloak allows new users to register. Subsequently, this will also allow new users to register to the OpenSlice portal.</p> <p>Navigate to realm Openslice > Realm Settings > Login Tab > check User registration, Verify email, Forgot password etc.</p> <p>Finally, enter the details of the mail server at the Email Tab.</p> <p>Email configuration is optional for test runs, but if not provided the above functionalities (e.g. external user registration) will not be possible.</p>"},{"location":"deploymentCompose/#3-add-an-openslice-admin-user","title":"3. Add an OpenSlice admin user","text":"<p>This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice admin user you must:</p> <ul> <li>Navigate to realm Openslice > Users > Add user</li> <li>Set a password</li> <li>Upon creation, navigate to Role Mappings and add ADMIN to Assigned Roles list</li> </ul> <p>That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Role ADMIN guarantee full access through the OpenSlice UI, thus such a user is always required.</p>"},{"location":"deploymentCompose/#keycloak-at-localhost","title":"Keycloak at localhost","text":"<p>This is an important step if you run Keycloak on localhost!</p> <p>1 - Edit your Hosts File, adding the line below</p> <p><code>127.0.0.1 keycloak</code></p> <p>Hosts File Location:</p> <ul> <li> <p>In Linux/Unix, the file's location is at /etc/hosts </p> </li> <li> <p>In Windows, its location is at c:\\Windows\\System32\\Drivers\\etc\\hosts</p> </li> </ul> <p>2 - Replace http://localhost/auth/ with http://keycloak:8080/auth/ in your Keycloak config for AngularJS and Angular (see examples below).</p> <p>Explanation</p> <p>Nginx uses the http://keycloak:8080 URL, which is accessible via the internal docker system's network. The Front-end (TS/Angular) shall also use the http://keycloak:8080. This way, you will not get the invalid token error, as the API is acquiring the token from http://keycloak:8080 (internally) and the Front-end is getting verified by an issuer at the same URL, as well.</p> <p>2.1 - For the Angular configuration (TMF portal UI), navigate to org.etsi.osl.tmf.web/src/assets/config and edit config.prod.json</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <pre><code>nano config.prod.json\n</code></pre> <p>After editing, the displayed properties should look like the example below:</p> <pre><code>{ \n \"OAUTH_CONFIG\" : {\n \"issuer\": \"http://keycloak:8080/auth/realms/openslice\",\n \"loginUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"tokenEndpoint\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\",\n \"userinfoEndpoint\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/userinfo\",\n \"redirectUri\": \"{BASEURL}/redirect\",\n \"logoutUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/logout\", \n \"postLogoutRedirectUri\": \"{BASEURL}\",\n }\n}\n</code></pre> <p>Note the difference in changing {BASEURL} -> http://keycloak:8080</p> <p>If you want the changes to take place immediately without rebuilding the project, then repeat the process for org.etsi.osl.tmf.web/dist/org.etsi.osl.tmf.web/assets/config/config.prod.json</p> <p>2.2 - For the AngularJS configuration (NVF portal UI), navigate to org.etsi.osl.portal.web/src/js and edit config.js</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.portal.web/src/js\n</code></pre> <pre><code>nano config.js\n</code></pre> <p>After editing, the displayed properties should look like the example below:</p> <pre><code>var appConfig = angular.module('portalwebapp.config',[]);\n\n\nappConfig.factory('APIEndPointService', function() {\n return { \n APIOAUTHURL: \"http://keycloak:8080/auth/realms/openslice\",\n };\n});\n</code></pre> <p>Note the difference in \"APIOAUTHURL\" property, changing ROOTURL -> http://keycloak:8080</p>"},{"location":"deploymentCompose/#nfv-orchestrator-configuration","title":"NFV Orchestrator Configuration","text":"<p>After successfully deploying and configuring OpenSlice, you may configure its environment (e.g. the NFVO) that will facilitate the deployment of NFV artifacts.</p> <p>See NFV Orchestrator Configuration.</p>"},{"location":"deploymentK8s/","title":"OpenSlice Deployment Guide with Kubernetes","text":""},{"location":"deploymentK8s/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>This is WIP.</p> <p>Please refer to this guide.</p>"},{"location":"etsi_osl/","title":"The ETSi SDG OSL","text":"<p>OpenSlice is developed by the OSL ETSI Software Development Group see more info</p>"},{"location":"history/","title":"History","text":""},{"location":"history/#history","title":"History","text":"<ul> <li>The NFV portal part of OpenSlice was initially developed in H2020 European Research project 5GinFIRE by University of Patras, Greece</li> <li>OpenSlice core services, APIs was further developed and maintained in H2020 European project 5G-VINNI by University of Patras, Greece</li> <li>OpenSlice has been a part of OSM's OSS/BSS ecosystem</li> <li>OpenSlice is now an ETSI SDG Group since 2023</li> </ul>"},{"location":"history/#citation","title":"Citation","text":"<p>Please cite our ![paper] if you use OpenSlice in your research</p> <pre><code>\n@misc{tranoris2021openslice,\n title={Openslice: An opensource OSS for Delivering Network Slice as a Service}, \n author={Christos Tranoris},\n year={2021},\n eprint={2102.03290},\n archivePrefix={arXiv},\n primaryClass={cs.NI}\n}\n\n\n</code></pre>"},{"location":"lcm/","title":"Lifecycle Management (LCM) Rules","text":"<ul> <li>NOTE: This is a prototype/experimental feature. So issues might raise during operation</li> </ul> <p>LCM Rules are used for defining complex conditions and actions during the lifecycle of a service. In Openslice there are four types of rules defined:</p> <ul> <li>PRE_PROVISION</li> <li>CREATION</li> <li>AFTER_ACTIVATION </li> <li>SUPERVISION </li> <li>AFTER_DEACTIVATION </li> </ul> <p>The following figure displays the different phases that the rules are performed, during the lifecycle of a Network Slice Instance.</p> <p></p> <ul> <li>PRE_PROVISION rules: Run only once just before creating a service with a given priority. </li> <li>CREATION rules: Run while the referenced service dependencies of a service are created</li> <li>AFTER_ACTIVATION rules: Run only once just after a service get the ACTIVE state</li> <li>SUPERVISION rules: Run when a characteristic of a service is changed and the service is in the ACTIVE state </li> <li>AFTER_DEACTIVATION rules: Run only once just after a service get the INACTIVE/TERMINATED state </li> </ul> <p>In general the rules allow to perform many actions during service LCM. Thes are some examples:</p> <ul> <li>Modify service specification parameters before the instantiation of a service (or during operation) based on other dependencies. These parameters might be part of other services already included in Service order</li> <li>Translate GST/NEST parameter values to other values passed later to NFVO for instantiation or control</li> <li>Define complex OSM Configs based on other dependencies and passing variables</li> <li>Define any dependencies when creating the referenced services</li> <li>Dynamically include new service dependencies</li> <li>Create new service orders so include dynamically other services</li> <li>Call external (RESTful) services (via http(s), define payload, examine response)</li> </ul>"},{"location":"lcm/#examine-if-the-rules-are-executed-successfully","title":"Examine if the rules are executed successfully","text":"<p>Rules are transformed automatically to executable code (currently is Java). If a rule is performed successfully or has any issues (e.g. unexpected syntax errors or exceptions) appear in OSOM logfiles and also tey are attached as Notes to the running Service.</p>"},{"location":"lcm/#lcm-rules-and-osom-service-orchestration","title":"LCM Rules and OSOM Service Orchestration","text":"<p>OSOM is the responsible service for executing the rules on a specific phase. The following image explains the design in the BPMN phases:</p> <p></p>"},{"location":"lcm/#define-rules","title":"Define rules","text":"<p>Rules are defined when designing a Service Spec. Here is an example of a list of rules:</p> <p></p> <p>Execution order of rules on a specific phase is random</p> <ul> <li>NOTE: There is a priority field. The lower the number the highest the priority of rule execution. For example Rule with priority 0 will run before rule with priority 1.</li> </ul>"},{"location":"lcm/#definition-language","title":"Definition language","text":"<ul> <li>The visual language that Openslice used is based on Google's Blockly (see https://developers.google.com/blockly)</li> <li>The blockly graph is automatically translated to Java internally and then dynamically executed during orchestration phases.</li> </ul> <p>The following figure is an example of such a rule design. The rule for example will run in PRE_PROVISION phase:</p> <p></p> <ul> <li>The goal of the above rule is to properly define a variable AreaCodes given the chosen AreaOfService from a Service Order.</li> <li>On the right side the user can define some rule properties or observe the underlying generated java code.</li> </ul>"},{"location":"lcm/#the-blocks-library","title":"The blocks library","text":"<p>The following images describe some blocks found in the library.</p> <p>Blockly has syntax rules. It helps with colours to define them. </p> <p>So for example a parameter that is a Number cannot be \"glued\" with a String. Will need some conversion first</p> <p> </p>"},{"location":"lcm/#examples-of-rules","title":"Examples of Rules","text":"<p>The following images provide some examples of rules.</p>"},{"location":"lcm/#define-variables-according-to-cases","title":"define variables according to cases","text":"<p>In the following example we :</p> <ul> <li>define a String variable. </li> <li>Then according to the Area of Service selected from the Service Order of the Service Specification we need to define it properly.</li> <li>We output the value to the OSOM Log</li> <li>Define dynamically the value of another parameter (This is fictional) and then do some other condition check</li> </ul> <p>The strAreaCodes could be passed then e.g. to NFVO for instantiation of services to these cells.</p> <p></p>"},{"location":"lcm/#define-complex-osm-configs-for-day-0","title":"Define complex OSM configs for DAY 0","text":"<p>The following displays some complex examples for defining the parameters to pass to the NFV. In this case is OSM.</p> <ul> <li> <p>NOTE: The OSM_CONFIG characteristic of a service is the one that it is used in orchestration to instantiate NS from OSM</p> </li> <li> <p>check the variable strTargetsParam. It is passed to the variable strOsmConfig3 which is executed if the Number of Cameras is more than 100. </p> </li> <li>if the Video quality requested is 3, then the Maximum Namber of camers will be 8. Check the OSM detailed configuration block and its syntax.</li> <li>if the Video quality requested is 2, we use a simpler OSM Config block to configure the parameter OSM_CONFIG. We just injected a json text ( watch the Escape of the string for the Quotes!)</li> <li>if the Video quality requested is 1, again we use a simpler OSM Config block to configure the parameter OSM_CONFIG. We use as injected json text a variable constructed later</li> </ul> <p></p>"},{"location":"lcm/#define-and-instantiate-different-services-according-to-service-order-request","title":"Define and instantiate different services according to Service Order request","text":"<p>In the following example we would like to offer a service either as Platinum, Gold or Silver. Depending on the selection we need to instantiate different services.</p> <p>There are different ways to accomplish this:</p> <ul> <li>create dynamically New Service Orders of RFSs with equivalent quality of Services</li> <li>change for example the VIMs that you deploy the NS</li> <li>change the NSD (that is use different VNFs)</li> </ul> <p>The following image displays for example the latter case.</p> <p></p>"},{"location":"lcm/#call-an-external-restful-service","title":"Call an external RESTful service","text":"<p>This is useful in cases for example of alarms , external logging, calling other services e.g. email or even a complex algorithm written in other language e.g. call an external service and get a result. (service e.g. a Python service)</p> <p></p> <p></p>"},{"location":"lcm/#create-new-service-orders","title":"Create New Service Orders","text":"<p>The following example calls to Order a New Service Specification with specific Parameter Values</p> <p></p>"},{"location":"nfvoconfig/","title":"NFV Orchestrator configuration","text":"<p>Currently we support Open Source MANO version EIGHT/NINE/TEN/ELEVEN/THIRTEEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NS packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.</p> <p>Configuration of your target(s) NFVOs/MANO services with Openslice is performed through the NFV portal.</p> <ol> <li> <p>Login to {{yourdomain}}/nfvportal/</p> </li> <li> <p>Navigate to Admin > Manage MANO Platforms > Add New MANO Platform, pick one of the supported MANO platform(s), e.g. Name=OSMvTHIRTEEN, Version=OSMvTHIRTEEN and save. You may edit the saved MANO platforms after this.</p> </li> <li> <p>Navigate to Admin > Manage MANO providers > Add New MANO Provider and enter its details:</p> <ul> <li>Name and description of your choice. The selected name will supplement the NFV artifacts of this provider.</li> <li>One of the already defined MANO platforms</li> <li>API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint - Note the port 9999)</li> <li>Username, Password and Project of your OSM tenant.</li> </ul> </li> </ol> <p>Check EnabledForONBOARDING, if you want VNF/NS packages uploaded through the UI by the user, to also be automatically ONBOARDED to this MANO (1 step process). If left unchecked, the onboarding process must be performed manually after the VNF/NS package is uploaded to the portal, by the designated UI (2 step process).</p> <p>Check EnabledForSYNC, if you want to support the automatic synchronization of this MANO with OpenSlice. When enabled, the existing VNF/NS packages and VIMs (and any updates on them) of the registered MANO are also reflected to the portal to the respective UIs (Registered VNFs/NSDs and Manage Infrastructures). </p> <p>The synchronization is a continuous process that will confirm that the artifacts are still present in the MANO, updating the status field of the respective artifacts to <code>OSM_PRESENT</code>. If during this process, an artifact is deleted from the MANO, the respective status field will be updated to <code>OSM_MISSING</code>.</p>"},{"location":"portals_intro/","title":"OpenSlice Portals","text":"<p>Openslice comprises of a web landing page See Demo that navigates to the respective Portal:</p> <ul> <li>Services Portal See Demo</li> <li>NFV Portal See Demo</li> <li>Products Portal See Demo</li> <li>Testing Portal See Demo</li> <li>Resources Portal See Demo</li> </ul> <p>Following you may find the scope each portal focuses on and the main TMF APIs it supports.</p> <p>Services Portal is a designated portal for the: - Service Designer - To design Customer Facing Services as bundles of Resource Facing Services that map to specific Resourses (e.g. NFV, Testing, General Resources). Then, it is charged with the designed Services' exposure to public Service Catalogs. - Service Customer - To browse the public Service Catalogs and order the offered Services. The fulfilment process of the Service Order is also captured and the final deployed Services are exposed to the Customer.</p> <p>NFV Portal is a designated portal for the: Indicatively, the portal can be used to: - Register new a new MANO provider (e.g. OSM) - Synchronize the onboarded VNF/NS packages, and the VIMs of the registered MANO provider - Onboard/Delete VNF/NS packages on specific MANO provider - Deploy a NS to a target MANO provider</p> <p>More information can be found at NFV Services.</p> <p>Resources Portal is a designated portal for the: - Resource Administrator - To view the available Resources that are being synchronized from the underlying infrastructure. - Products Portal is a designated portal for the: - Product Designer - To design Products as bundles of available Services. Then, it is charged with the designed Products' exposure to public Product Catalogs. - Product Customer - To browse the public Product Catalogs and navigate to the respective offered Services.</p> <p>Testing Portal is a designated portal for the: - Testing Designer - To design Tests and provide the testing scripts as attachments to the latter. The Tests can be imported as Services at the Services Portal, and can be included in a Service Bundle.</p> TMF620 TMF632 TMF633 TMF634 TMF638 TMF639 TMF640 TMF641 TMF642 TMF653 TMF685 Services Portal x x x x x x Products Portal x x Testing Portal x x Resources Portal x x x x <p>The NFV Portal uses a proprietary API</p>"},{"location":"role_keycloak_management/","title":"Role management in Keycloak","text":"<p>Some initial configuration of Keycloak happens at Installation/Deployment time. Here are some notes regarding user management</p>"},{"location":"role_keycloak_management/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>There are cases that OpenSlice administrators need to configure Keycloak:</p> <ul> <li>Change user roles, e.g. make a Simple user a Service Designer</li> <li>Domain management</li> <li>User Password reset</li> </ul>"},{"location":"service_inventory/","title":"Service Inventory","text":"<p>After a Service Order completion, active services with their additional characteristics are found:</p> <ul> <li>From the Order Items of a selected Service order</li> <li>from the menu of Service inventory and then selecting details of each service</li> <li>through the Service Inventory API (TMF 638 - Service Inventory Management ) </li> </ul> <p>Openslice creates a Service for the requested CFS. Customers make Service Orders and Openslice instantiates the requested Service Specifications for each Service Order Item of a Service Order. Running Services instantiated by Openslice, reside in Openslice Service Inventory. The following picture displays how Service Specifications are related to Running Services and how Running Services relate with instantiated running Network Services. </p> <p></p> <p>There is a hierarchy of services. Usually an Instantiated CFS has Supporting Services some Instantiated RFSs. Then an Instantiated RFS is related to some running NS managed by NFVO</p>"},{"location":"service_inventory/#interacting-with-an-active-service-day-2-config","title":"Interacting with an Active Service (Day 2 config)","text":"<p>In some cases, if the underlying service is configured with actions (for example in OSM Day 2 primitive actions), there are characteristics that can be modified. Usually they are named like : ::Primitive:: <p>The user can edit the characteristic with a new value. The value is propagated through the OSOM and NFVO down to the related VNF.</p>"},{"location":"service_inventory/#terminatinginactivating-a-service","title":"Terminating/Inactivating a service","text":"<p>You can terminate the service with one of the following processes:</p> <ul> <li>Select the related Service Order and terminate the Order Item. This will delete all the underlying related active services. The Order goes to ACKNOWLEDGED->INPROGRESS->COMPLETE</li> <li>To terminate or inactivate a service, select the specific service from the inventory, press Edit and set the State either to Inactive or Terminated</li> </ul> <p>Warning: if you terminate or inactivate a service the action cannot be undone. </p>"},{"location":"service_inventory/#uml-sequence-diagram","title":"uml: sequence diagram","text":"<p>Here I will embed PlantUML markup to generate a sequence diagram.</p> <p>I can include as many plantuml segments as I want in my Markdown, and the diagrams can be of any type supported by PlantUML.</p>"},{"location":"terminology/","title":"User Roles","text":"<ul> <li>User</li> <li>Service Designer</li> <li>OpenSlice administrator</li> </ul>"},{"location":"terminology/#terms","title":"Terms","text":"<ul> <li>Resource Facing Service Specification (RFSSpec): A Service that exposes a resource Specification as a Service.</li> <li>Customer Facing Service Specification (CFSSpec): Service exposed to users for Service Orders. Usually it exposes other CFSSpec(Service Bundle) or other RFSSpecs</li> <li>OpenSlice management cluster</li> <li>Service Specification: Detailed descriptions of services, including attributes, configurations, performance metrics, and SLAs.</li> <li>Service Catalog</li> <li>Service Categories</li> <li>Service Inventory</li> </ul>"},{"location":"under_construction/","title":"Under construction","text":"<p>under construction</p>"},{"location":"architecture/architecture/","title":"Architecture","text":"<p>Openslice offers the following main functionalities:</p> <ul> <li>Service Catalog Management: A CSP will have the ability to manage the Service Catalog Items, their attributes , organize in categories and decide what to make available to Customers</li> <li>Services Specifications: A CSP will be able to manage Service Specifications</li> <li>Service Catalog Exposure: A CSP will be able to expose catalog to customers and related parties</li> <li>Service Catalog to Service Catalog: Openslice able to consume and provide Service Catalog items to other catalogs</li> <li>Service Order: The Customer will be able to place a Service Order</li> <li>Service Inventory: The Customer and Provider will be able to view deployed Services status</li> </ul> <p>The following figure displays the overall architecture of Openslice.</p> <p></p> <p>Openslice allows Vertical Customers browsing the available offered service specifications. It consists of:</p> <ul> <li>Web frontend UIs that consist of mainly two portals: i) a NFV portal allowing users self-service management and onboarding VNFDs/NSDs to facility\u2019s NFVO ii) a Services Portal, which allows users to browse the Service Catalog, Service Blueprints specifications and the Service Inventory</li> <li>An API gateway that proxies the internal APIs and used by the web front end as well as any other 3rd party service</li> <li>A Message Bus where all microservices use it to exchange messages either via message queues or via publish/subscribe topics</li> <li>An authentication server implementing Oauth2 authentication scheme</li> <li>A microservice offering TMF compliant API services (eg Service Catalog API, Service Ordering APIetc)</li> <li>A microservice offering NFV API services (eg VNF/NSD onboarding etc) and allows to store VNFDs and NSDs in a catalog</li> <li>A microservice that is capable to interface to an issue management system. For example it raises an issue to all related stakeholders (CSP, NOP, CSC) that a new Service Order is requested</li> <li>Central logging microservice that is capable to log all distributed actions in to an Elasticsearch cluster</li> <li>A Service Orchestrator solution that will propagate Service Ordering requests to the equivalent SOs and NFVOs </li> </ul> <p>The following figure depicts how Openslice microservices are deployed</p> <p></p>"},{"location":"architecture/architecture/#deploying-openslice-in-multi-domain-scenarios","title":"Deploying Openslice in multi domain scenarios","text":"<p>A typical deployment across domains, involves today some typical components: i) an OSS/BSS to allow customers access the service catalog and perform service orders, ii) a Service Orchestrator (SO) component for executing the service order workflow, as well as iii) a Network Functions Virtualization Orchestrator (NFVO) for configuring the iv) network resources.</p> <p>TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the LSO requirements as introduced by MEF.</p> <p>The following figure shows how openslice could be used in such scenarios:</p> <p></p> <p>See more Consuming Services From External Partner Organizations</p>"},{"location":"architecture/centrallog/","title":"Central Logging","text":"<p>Openslice follows the centralized log management concept, i.e. a type of logging solution system that consolidates the log data from different services and pushes it to a central, accessible and easy-to-use interface. </p> <p>For that reason, Elasticsearch is elected as an open-source centralized logging solution for collecting, parsing and storing logs towards a real-time data analytics tool that provides insights from any type of structured and unstructured data source.</p>"},{"location":"architecture/consumingServicesFromExternalPartners/","title":"Consuming Services From External Partner Organizations","text":"<p>A typical deployment across domains, involves today some typical components: i) an OSS/BSS to allow customers access the service catalog and perform service orders, ii) a Service Orchestrator (SO) component for executing the service order workflow, as well as iii) a Network Functions Virtualization Orchestrator (NFVO) for configuring the iv) network resources.</p> <p>TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the LSO requirements as introduced by MEF.</p> <p>The following figure shows how openslice could be used in such scenarios:</p> <p></p> <p>In Openslice we can consume services from 3rd parties via Open APIs.</p> <p>We use the TMF 632 Party Management model to specify Organizations that we can exchange items and other information such as:</p> <ul> <li>Import Service Specifications</li> <li>Create a Service Order</li> <li>Use the Service Inventory to query the status of the service ordered to the external partner organization</li> </ul>"},{"location":"architecture/consumingServicesFromExternalPartners/#define-an-organization-as-3rd-party-to-consume-services-east-west","title":"Define an Organization as 3rd party to consume services East-West","text":"<p>An organization must have the following characteristics in openslice catalog, like for example:</p> <p>\"EXTERNAL_TMFAPI_BASEURL\", \"http://portal.openslice.io\"</p> <p>\"EXTERNAL_TMFAPI_CLIENTREGISTRATIONID\", \"authOpensliceProvider\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2CLIENTID\", \"osapiWebClientId\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2CLIENTSECRET\", \"secret\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2SCOPES\", scopes</p> <p>\"EXTERNAL_TMFAPI_OAUTH2TOKENURI\", \"http://portal.openslice.io/osapi-oauth-server/oauth/token\"</p> <p>\"EXTERNAL_TMFAPI_USERNAME\", \"admin\"</p> <p>\"EXTERNAL_TMFAPI_PASSWORD\", \"openslice\"</p> <p>\"EXTERNAL_TMFAPI_SERVICE_CATALOG_URLS\" = \"/tmf-api/serviceCatalogManagement/v4/serviceSpecification?type=CustomerFacingServiceSpecification\" (this is optional, fetch a list of service specs it will be relative with the BASEURL. If the url is empty then no specs will be fetched, the EXTERNAL_TMFAPI_SERVICE_CATEGORY_URLS might be used)</p> <p>\"EXTERNAL_TMFAPI_SERVICE_CATEGORY_URLS\" = \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/{categoryid}\" (this example will fetch all specs in a category. You may define comma separated URLs of categories API URL . This will fetch specifications of every defined category. If you want only one specific category put for example the uuid only of one category: \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/bda02821-bc4d-4bd6-b64b-d9c2aa5f8e6d\". multiple urls should be \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/bda02821-bc4d-4bd6-b64b-d9c2aa5f8e6d,/tmf-api/serviceCatalogManagement/v4/serviceCategory/9b6d8bf3-abd2-43c4-8154-c8c6fe5545b2\")</p> <p>\"EXTERNAL_TMFAPI_SERVICE_SPEC\" = \"/tmf-api/serviceCatalogManagement/v4/serviceSpecification\"</p> <p>\"EXTERNAL_TMFAPI_SERVICE_ORDER_URLS\"= \"/test/v1/serviceorder\" (this is optional)</p> <p>An example Organization defined example in json:</p> <pre><code>\n{\n \"uuid\": \"1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"Openslice.io\",\n \"id\": \"1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae\",\n \"isHeadOffice\": null,\n \"isLegalEntity\": null,\n \"nameType\": null,\n \"organizationType\": null,\n \"tradingName\": null,\n \"contactMedium\": [],\n \"creditRating\": [],\n \"existsDuring\": null,\n \"externalReference\": [],\n \"organizationChildRelationship\": [],\n \"organizationIdentification\": [],\n \"organizationParentRelationship\": null,\n \"otherName\": [],\n \"partyCharacteristic\": [\n {\n \"uuid\": \"3a2f7221-e0a2-4a6b-88d1-534c8e1963f6\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_CLIENTREGISTRATIONID\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"authOpensliceProvider\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"c24bb527-f178-4d38-9b93-2027c1732876\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_USERNAME\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"admin\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"27e45df8-414b-44c6-a5d5-3f064e2cfd3b\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_PASSWORD\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"openslice\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"e0e470b8-6024-4014-8a18-2333e5465ce1\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2CLIENTSECRET\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"secret\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"3e0de762-ac80-4c1e-a0a1-f265ff0899b4\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2SCOPES\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"admin;read\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"0bbb8314-f7f2-420d-9fed-ba054b15f886\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2TOKENURI\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"http://portal.openslice.io/osapi-oauth-server/oauth/token\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"3a567de4-79eb-4006-a500-3e5229b44175\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2CLIENTID\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"osapiWebClientId\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"6dca729f-dbe1-46b7-89f1-5c4f9fe89d4e\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_BASEURL\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"http://portal.openslice.io\",\n \"alias\": null\n }\n }\n ],\n \"relatedParty\": [],\n \"status\": null,\n \"taxExemptionCertificate\": []\n}\n\n</code></pre>"},{"location":"architecture/issuemgt/","title":"Issue Management","text":"<p>For issue management support, Openslice relies on Bugzilla. Bugzilla is a ticketing tool that allows issue reporting and tracking via tickets to all relevant stakeholders. </p> <p>The figure below displays the overall issue management service architecture integrating Bugzilla as its core and how this tool interacts with other Openslice services presenting some distinctive scenarios. It should be noted that Bugzilla tickets will not only be used for bugs/errors, but also for general requests, e.g. Service Order procedure.</p> <p></p>"},{"location":"architecture/messagebus/","title":"Message Bus and exchanged Messages","text":"<p>Openslice has a Message bus which allows Openslice services to exchange messages via queues and topics.</p> <p>It is based on ActiveMQ.</p> <p>3rd party services can be attached to bus and subscribe to message topics or request resources via queues.</p>"},{"location":"architecture/messagebus/#queue-messages","title":"QUEUE MESSAGES","text":"Message Alias CATALOG_GET_SERVICEORDERS Name jms:queue:CATALOG.GET.SERVICEORDERS Type queue Destination TMF API service Producers OSOM Body Description Return a List as String Json Message Alias CATALOG_GET_SERVICEORDER_BY_ID Name jms:queue:CATALOG.GET.SERVICEORDER_BY_ID Type queue Destination TMF API service Producers OSOM Body String orderid Description Return a ServiceOrder as String Json Message Alias CATALOG_UPD_SERVICEORDER_BY_ID Name jms:queue:CATALOG.UPD.SERVICEORDER_BY_ID Type queue Destination TMF API service Producers OSOM Body ServiceOrderUpdate serviceOrder Headers \"orderid\"= orderid Description Returns a ServiceOrder as String Message Alias CATALOG_GET_SERVICESPEC_BY_ID Name jms:queue:CATALOG.GET.SERVICESPEC_BY_ID Type queue Destination TMF API service Producers OSOM Body specid Description Return a ServiceSpecification Message Alias CATALOG_ADD_SERVICESPEC Name jms:queue:CATALOG.ADD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecCreate Description Creates a ServiceSpecification and returns a ServiceSpecification as String Message Alias CATALOG_UPD_SERVICESPEC Name jms:queue:CATALOG.UPD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecUpdate Headers \"serviceSpecid\" = serviceSpecId Description Updates a ServiceSpecification and returns a ServiceSpecification as String. --- Message Alias CATALOG_UPDADD_SERVICESPEC Name jms:queue:CATALOG.UPDADD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecUpdate Headers \"serviceSpecid\" = serviceSpecId, \"forceId\"=forceId Description Updates a ServiceSpecification and returns a ServiceSpecification as String. If forceId is true then tries to assign the requested ID to the spec Message Alias CATALOG_ADD_SERVICEORDER Name jms:queue:CATALOG.ADD.SERVICEORDER Type queue Destination TMF API service Producers OSOM Body ServiceOrderCreate serviceOrder Headers Description Creates a ServiceOrder and returns a ServiceOrder as String Message Alias CATALOG_GET_INITIAL_SERVICEORDERS_IDS Name jms:queue:CATALOG.GET.INITIAL_SERVICEORDERS Type queue Destination TMF API service Producers Body Description Return a List as String Json Message Alias CATALOG_GET_SERVICEORDER_IDS_BY_STATE Name jms:queue:CATALOG.GET.ACKNOWLEDGED_SERVICEORDERS Type queue Destination TMF API service Producers OSOM Body Headers \"orderstate\"= orderState Description String Json ArrayList of ServiceOrders Message Alias CATALOG_ADD_SERVICE Name jms:queue:CATALOG.ADD.SERVICE Type queue Destination TMF API service Producers OSOM Body ServiceCreate String json Headers \"orderid\"=orderid, \"serviceSpecid\"= specid Description Creates Service based an a Service Spec, Returns a Service object Message Alias CATALOG_UPD_SERVICE Name jms:queue:CATALOG.UPD.SERVICE Type queue Destination TMF API service Producers Body ServiceUpdate Headers \"serviceid\" = serviceId, \"propagateToSO\" = true/false Description will update a service by id and return the service instance. If propagateToSO=true then any service change will be handled by OSOM. This is needed to be controlled in order to avoid update loops Message Alias CATALOG_GET_SERVICE_BY_ID Name jms:queue:CATALOG.GET.SERVICE Type queue Destination TMF API service Producers OSOM Body String serviceID Description returns a Service instance <p>---| Message | | | ------------- |----------------| |Alias | CATALOG_GET_SERVICE_BY_ORDERID | |Name | jms:queue:CATALOG.GET.SERVICE_BY_ORDERID | |Type | queue | |Destination | TMF API service | |Producers | | |Body | String serviceID | |Description | returns Service IDs of a specific order given then order id |</p> Message Alias CATALOG_SERVICE_QUEUE_ITEMS_GET Name jms:queue:CATALOG.SERVICEQUEUEITEMS.GET Type queue Destination TMF API service Producers OSOM Body Description returns a LIST OF Service Queue Items --- Message Alias CATALOG_SERVICE_QUEUE_ITEM_UPD Name jms:queue:CATALOG.SERVICEQUEUEITEM.UPDATE Type queue Destination TMF API service Producers OSOM Body String SERVICEQUEUEITEM Headers \"itemid\" = SERVICEQUEUEITEM id Description ill update a service queue item by id and return the instance --- Message Alias CATALOG_SERVICE_QUEUE_ITEM_DELETE Name jms:queue:CATALOG.SERVICEQUEUEITEM.DELETE Type queue Destination TMF API service Producers OSOM Body Headers \"itemid\" = SERVICEQUEUEITEM id Description ill delete a service queue item by id Message Alias CATALOG_SERVICES_TO_TERMINATE Name jms:queue:CATALOG.GET.SERVICETOTERMINATE Type queue Destination TMF API service Producers OSOM Body Headers Description Get a list of ACTIVE services with END DAte in the past --- Message Alias CATALOG_SERVICES_OF_PARTNERS Name jms:queue:CATALOG.GET.SERVICESOFPARTNERS Type queue Destination TMF API service Producers OSOM Body Headers Description Get a list of ACTIVE services from the inventory of partners Message Alias NFV_CATALOG_GET_NSD_BY_ID Name jms:queue:NFVCATALOG.GET.NSD_BY_ID Type queue Destination NFV Catalog service Producers TMF API, OSOM Body NSDid Description Returns a NetworkServiceDescriptor object Message Alias NFV_CATALOG_DEPLOY_NSD_REQ Name jms:queue:NFVCATALOG.DEPLOY.NSD_REQ Type queue Destination NFV Catalog service Producers OSOM Body DeploymentDescriptor as Json String Headers NSD id Description Returns a DeploymentDescriptor object as json string containing deployment info Message Alias NFV_CATALOG_UPD_DEPLOYMENT_BY_ID Name jms:queue:NFVCATALOG.UPD.DEPLOYMENT_BY_ID Type queue Destination NFV Catalog service Producers OSOM Body DeploymentDescriptor as Json String Headers DeploymentDescriptor id Description Updates and Returns a DeploymentDescriptor object as json string containing deployment info Message Alias GET_USER_BY_USERNAME Name jms:queue:GET.USER_BY_USERNAME Type queue Destination NFV Catalog service (this is temproary for now) Producers TMF API Body username Headers Description Returns a PortalUser object as json string containing user info Message Alias NFV_CATALOG_GET_DEPLOYMENT_BY_ID Name jms:queue:NFVCATALOG.GET.DEPLOYMENT_BY_ID Type queue Destination NFV Catalog service Producers OSOM Body Deployment ID Description Returns a DeploymentDescriptor object Message Alias CATALOG_GET_EXTERNAL_SERVICE_PARTNERS Name jms:queue:CATALOG.GET.EXTERNALSERVICEPARTNERS Type queue Destination TMF API service Producers OSOM Body Headers Description As a String Json ArrayList of Organizaton objects containing the characteristic name EXTERNAL_TMFAPI Message Alias CATALOG_UPD_EXTERNAL_SERVICESPEC Name jms:queue:CATALOG.UPD.EXTERNAL_SERVICESPEC Type queue Destination TMF API service Producers OSOM or maybe used by others that would like to update a Service Spec Body A serviceSpecification as json string Headers servicespecification id, orgid id Description Updates (or inserts if does not exist in catalog) an external service specification) Message Alias NFV_CATALOG_NSACTIONS_SCALE Name jms:queue:NSACTIONS.SCALE Type queue Destination TMF API service Producers OSOM or maybe used by others that would like scale a NS Body A ScaleDescriptor as json string Headers none Description performs a scale Message Alias NFV_CATALOG_NS_LCMCHANGED Name NFV_CATALOG_NS_LCMCHANGED Type topic Destination any Producers MANO client Body A json string Headers none Description A NFV_CATALOG_NS_LCMCHANGED message is published when LCM of a running NS is changed"},{"location":"architecture/messagebus/#alarms","title":"ALARMS","text":"Message Alias ALARMS_ADD_ALARM Name jms:queue:ALARMS.ADD.ALARM Type queue Publishers Consumers TMF API Body AlarmCreate Headers Description Add an alarm Message Alias ALARMS_UPDATE_ALARM Name jms:queue:ALARMS.UPDATE.ALARM Type queue Publishers Consumers TMF API Body AlarmUpdate Headers alarmid = alarm id, body (AlarmUpdate object) Description Update an alarm Message Alias ALARMS_GET_ALARM Name jms:queue:ALARMS.GET.ALARM Type queue Publishers Consumers TMF API Body Headers alarmid = alarm id Description get an alarm"},{"location":"architecture/messagebus/#event-topics-in-message-bus","title":"EVENT TOPICS IN Message Bus","text":"Message Alias EVENT_SERVICE_CREATE Name jms:topic:EVENT.SERVICE.CREATE Type topic Publishers TMF API Consumers - Body Notification object Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_STATE_CHANGED Name jms:topic:EVENT.SERVICE.STATECHANGED Type topic Publishers TMF API Consumers - Body Notification object Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_DELETE Name jms:topic:EVENT.SERVICE.DELETE Type topic Publishers TMF API Consumers - Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.SERVICE.ATTRCHANGED Type topic Publishers TMF API Consumers - Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_ORDER_CREATE Name jms:topic:EVENT.SERVICEORDER.CREATE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object. Bugzilla service for example uses this to create a new issue Message Alias EVENT_SERVICE_ORDER_STATE_CHANGED Name jms:topic:EVENT.SERVICEORDER.STATECHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object. Bugzilla service for example uses this to update an issue Message Alias EVENT_SERVICE_ORDER_DELETE Name jms:topic:EVENT.SERVICEORDER.DELETE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object Message Alias EVENT_SERVICE_ORDER_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.SERVICEORDER.ATTRCHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object Message Alias EVENT_ALARM_CREATE Name jms:topic:EVENT.ALARM.CREATE Type topic Publishers TMF API Consumers OAS, BUGZILLA Service, CentralLog Service Body AlarmCreateEvent Headers Description The Event contains the Alarm object in payload Message Alias CATALOG_ADD_RESOURCE Name jms:queue:CATALOG.ADD.RESOURCE Type topic Publishers TMF API Consumers any Body ResourceCreate Headers Description The Body contains the ResourceCreate object to add Message Alias CATALOG_UPD_RESOURCE Name jms:queue:CATALOG.UPD.RESOURCE Type topic Publishers TMF API Consumers any Body ResourceUpdate Headers resourceid , propagateToSO Description The Body contains the ResourceCreate object to update Message Alias CATALOG_GET_RESOURCE_BY_ID Name jms:queue:CATALOG.GET.RESOURCE Type topic Publishers TMF API Consumers any Body resourceid Headers Description The Body contains the ResourceCreate object to update Message Alias CATALOG_RESOURCES_OF_PARTNERS Name jms:queue:CATALOG.GET.SERVICESOFPARTNERS Type topic Publishers TMF API Consumers any Body none Headers none Description retrieve all active services of partners Message Alias CATALOG_ADD_RESOURCESPEC Name jms:queue:CATALOG.ADD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body ResourceSpecificationCreate Headers Description The Body contains the ResourceSpecificationCreate object to add Message Alias CATALOG_UPD_RESOURCESPEC Name jms:queue:CATALOG.UPD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body ResourceSpecificationUpdate Headers resourceSpecId Description The Body contains the ResourceSpecificationCreate object to update Message Alias CATALOG_GET_RESOURCESPEC_BY_ID Name jms:queue:CATALOG.GET.RESOURCESPEC_BY_ID Type topic Publishers TMF API Consumers any Body resourceSpecid Headers Description The Body contains the object id to find Message Alias CATALOG_UPDADD_RESOURCESPEC Name jms:queue:CATALOG.UPDADD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body resourceid Headers Description The Body contains the ResourceSpecificationCreate object to update or create if not exist Message Alias EVENT_RESOURCE_CREATE Name jms:topic:EVENT.RESOURCE.CREATE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_STATE_CHANGED Name jms:topic:EVENT.RESOURCE.STATECHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_DELETE Name jms:topic:EVENT.SERVICE.RESOURCE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.RESOURCE.ATTRCHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias CATALOG_GET_LCMRULE_BY_ID Name jms:queue:CATALOG.GET.LCMRULE Type topic Publishers TMF API Consumers any Body lcmid Headers Description The Body contains the LCMRuleSpec object Message Alias CATALOG_GET_LCMRULES_BY_SPECID_PHASE Name jms:queue:CATALOG.GET.LCMRULES_BY_SPECID_PHASE Type topic Publishers TMF API Consumers any Body Headers header.servicespecid, header.phasename Description The Body contains the LCMRuleSpec objects of the specific Service Spec and the specific phase Message Alias CATALOG_GET_SERVICETESTSPEC_BY_ID Name jms:queue:CATALOG.GET.SERVICETESTSPEC_BY_ID Type queue Destination TMF API service Producers OSOM Body specid Description Return a ServiceTestSpecification Message Alias CATALOG_ADD_SERVICETEST Name jms:queue:CATALOG.ADD.SERVICETEST Type queue Destination TMF API service Producers OSOM Body ServiceTestCreate String json Headers \"orderid\"=orderid, \"serviceTestSpecid\"= specid Description Creates Service Test based an a Service Test Spec, Returns a ServiceTest object Message Alias CATALOG_UPD_SERVICETEST Name jms:queue:CATALOG.UPD.SERVICETEST Type queue Destination TMF API service Producers Body ServiceTestUpdate Headers \"serviceid\" = serviceId, \"propagateToSO\" = true/false Description will update a service test by id and return the service instance. If propagateToSO=true then any service change will be handled by OSOM. This is needed to be controlled in order to avoid update loops Message Alias CATALOG_GET_SERVICETEST_BY_ID Name jms:queue:CATALOG.GET.SERVICETEST Type queue Destination TMF API service Producers OSOM Body String serviceID Description returns a Service TEST instance Message Alias CRD_DEPLOY_CR_REQ Name jms:queue:CRD.DEPLOY.CR_REQ Type queue Destination CRD service Producers OSOM Body CR spec as String Headers related service id Description Returns a String object containing deployment info Message Alias CRD_PATCH_CR_REQ Name jms:queue:CRD.PATCH.CR_REQ Type queue Destination CRD service Producers OSOM Body CR as String Headers related service id Description Returns a String object containing PATCH info Message Alias CRD_DELETE_CR_REQ Name jms:queue:CRD.DELETE.CR_REQ Type queue Destination CRD service Producers OSOM Body CR as String Headers related service id Description Returns a String object containing deletion info"},{"location":"architecture/nfvapi/","title":"API interaction","text":""},{"location":"architecture/nfvapi/#oauth-token","title":"OAuth token","text":"<p>See oauth</p>"},{"location":"architecture/nfvapi/#request-a-protected-api-resource","title":"Request a protected API resource","text":"<p>Example: Get all vxfs (check the <code>Authorization:Bearer</code> to be correct)</p> <pre><code>curl -H \"Authorization:Bearer eybGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbIm9wZW5hcGkiLCJhZG1pbiIsInJlYWQiLCJ3cml0ZSJdLCJvcmdhbml6YXRpb24iOiJteW9yZ2FuaXp0aW9uIiwiZXhwIjoxNTcxOTI0MjU2LCJhdXRob3JpdGllcyI6WyJST0xFX01FTlRPUiIsIlJPTEVfQURNSU4iXSwianRpIjoiNzNkZmIxODEtNTMwOS00MmExLThkOWUtOGM3YmQ0YTE1YmU0IiwiY2xpZW50X2lkIjoib3NhcGlXZWJDbGllbnRJZE91dCJ9.Pj_hxnyMGhFhN8avU_DiAw1-LlcaIz5Hp9HNqalw-X4\" http://localhost:13000/osapi/admin/vxfs\n</code></pre> <p>Example response:</p> <pre><code>[\n {\n \"id\": 1,\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"createdAt\": null\n },\n \"uuid\": \"a954daf2-16da-4b7e-ae42-4825936d453c\",\n \"name\": \"cirros_vnfd\",\n \"iconsrc\": \"/osapi/images/a954daf2-16da-4b7e-ae42-4825936d453c/cirros-64.png\",\n \"shortDescription\": \"cirros_vnfd\",\n \"longDescription\": \"Simple VNF example with a cirros\",\n \"version\": \"1.0\",\n \"packageLocation\": \"/osapi/packages/a954daf2-16da-4b7e-ae42-4825936d453c/cirros_vnf.tar.gz\",\n \"dateCreated\": 1568971426000,\n \"dateUpdated\": 1568981107000,\n \"categories\": [\n {\n \"id\": 3,\n \"name\": \"Service\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n },\n {\n \"id\": 2,\n \"name\": \"Networking\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n }\n ],\n \"extensions\": [],\n \"validationJobs\": [],\n \"screenshots\": \"\",\n \"vendor\": \"OSM\",\n \"published\": false,\n \"termsOfUse\": null,\n \"descriptor\": \"vnfd-catalog:\\n vnfd:\\n - connection-point:\\n - name: eth0\\n type: VPORT\\n description: Simple VNF example with a cirros\\n id: cirros_vnfd\\n logo: cirros-64.png\\n mgmt-interface:\\n cp: eth0\\n name: cirros_vnfd\\n short-name: cirros_vnfd\\n vdu:\\n - count: 1\\n description: cirros_vnfd-VM\\n id: cirros_vnfd-VM\\n image: cirros034\\n interface:\\n - external-connection-point-ref: eth0\\n name: eth0\\n position: '1'\\n type: EXTERNAL\\n virtual-interface:\\n bandwidth: '0'\\n type: VIRTIO\\n vpci: 0000:00:0a.0\\n name: cirros_vnfd-VM\\n vm-flavor:\\n memory-mb: 512\\n storage-gb: 1\\n vcpu-count: 1\\n vendor: OSM\\n version: '1.0'\\n\",\n \"descriptorHTML\": \"<h3>cirros_vnfd</h3><br><b>Vendor: </b>OSM<br><b>Version: </b>1.0<br><b>Description: </b>Simple VNF example with a cirros<br><b>VM Count: </b>1<br><b>vCPU Count: </b>1<br><b>Memory: </b>512 MB<br><b>Storage: </b>1 GB<br>\",\n \"certified\": false,\n \"certifiedBy\": null,\n \"validationStatus\": \"UNDER_REVIEW\",\n \"packagingFormat\": \"OSMvFIVE\",\n \"supportedMANOPlatforms\": [\n {\n \"id\": 1,\n \"name\": \"osm fivee\",\n \"version\": \"osm fivee\",\n \"description\": \"osm five\"\n }\n ],\n \"vxfOnBoardedDescriptors\": [],\n \"vfimagesVDU\": [\n {\n \"id\": 1,\n \"name\": \"cirros034\",\n \"uuid\": \"d4549610-8abd-42ad-97f4-0a64e1c93977\",\n \"shortDescription\": \"Automatically created during vxf cirros_vnfd submission. Owner must update.\",\n \"packageLocation\": null,\n \"publicURL\": null,\n \"dateCreated\": 1568971426000,\n \"dateUpdated\": null,\n \"refVxFs\": [\n {\n \"id\": 1,\n \"name\": \"cirros_vnfd\"\n }\n ],\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"active\": true,\n \"currentSessionID\": null,\n \"apikey\": \"e41c1cc4-aa56-4b7e-9f4d-64589549d768\",\n \"createdAt\": 1568711859000,\n \"roles\": [\n \"ADMIN\",\n \"MENTOR\"\n ]\n },\n \"published\": false,\n \"termsOfUse\": null,\n \"deployedInfrastructures\": []\n }\n ]\n },\n {\n \"id\": 2,\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"createdAt\": null\n },\n \"uuid\": \"4ab80095-a63e-4fe7-8598-e1c7e880706e\",\n \"name\": \"cirros_sriov_vnfd\",\n \"iconsrc\": null,\n \"shortDescription\": \"cirros_sriov_vnf\",\n \"longDescription\": \"Simple VNF example with a cirros SRIOV interface\",\n \"version\": \"1.0\",\n \"packageLocation\": \"/osapi/packages/4ab80095-a63e-4fe7-8598-e1c7e880706e/cirros_sriov.tar.gz\",\n \"dateCreated\": 1568971740000,\n \"dateUpdated\": 1568981100000,\n \"categories\": [\n {\n \"id\": 4,\n \"name\": \"tyu\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n },\n {\n \"id\": 5,\n \"name\": \"tyi\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n }\n ],\n \"extensions\": [],\n \"validationJobs\": [],\n \"screenshots\": \"\",\n \"vendor\": \"OSM\",\n \"published\": false,\n \"termsOfUse\": null,\n \"descriptor\": \"vnfd:vnfd-catalog:\\n vnfd:\\n - connection-point:\\n - name: eth0\\n type: VPORT\\n - name: eth1\\n type: VPORT\\n description: Simple VNF example with a cirros SRIOV interface\\n id: cirros_sriov_vnfd\\n logo: cirros-64.png\\n mgmt-interface:\\n cp: eth0\\n name: cirros_sriov_vnf\\n short-name: cirros_sriov_vnf\\n vdu:\\n - count: 1\\n description: cirros_sriov_vnfd-VM\\n guest-epa:\\n cpu-pinning-policy: DEDICATED\\n cpu-thread-pinning-policy: PREFER\\n mempage-size: SMALL\\n numa-node-policy:\\n mem-policy: STRICT\\n node:\\n - id: '1'\\n node-cnt: '1'\\n id: cirros_sriov_vnfd-VM\\n image: cirros-0.3.6-x86_64\\n interface:\\n - external-connection-point-ref: eth0\\n name: eth0\\n position: '1'\\n type: EXTERNAL\\n virtual-interface:\\n bandwidth: '0'\\n type: VIRTIO\\n vpci: 0000:00:0a.0\\n - external-connection-point-ref: eth1\\n name: eth1\\n position: '2'\\n type: EXTERNAL\\n virtual-interface:\\n type: SR-IOV\\n name: cirros_sriov_vnfd-VM\\n vm-flavor:\\n memory-mb: 4096\\n storage-gb: 10\\n vcpu-count: 4\\n vendor: OSM\\n version: '1.0'\\n\",\n \"descriptorHTML\": \"<h3>cirros_sriov_vnf</h3><br><b>Vendor: </b>OSM<br><b>Version: </b>1.0<br><b>Description: </b>Simple VNF example with a cirros SRIOV interface<br><b>VM Count: </b>1<br><b>vCPU Count: </b>1<br><b>Memory: </b>4096 MB<br><b>Storage: </b>10 GB<br>\",\n \"certified\": false,\n \"certifiedBy\": null,\n \"validationStatus\": \"UNDER_REVIEW\",\n \"packagingFormat\": \"OSMvFIVE\",\n \"supportedMANOPlatforms\": [\n {\n \"id\": 1,\n \"name\": \"osm fivee\",\n \"version\": \"osm fivee\",\n \"description\": \"osm five\"\n }\n ],\n \"vxfOnBoardedDescriptors\": [],\n \"vfimagesVDU\": [\n {\n \"id\": 2,\n \"name\": \"cirros-0.3.6-x86_64\",\n \"uuid\": \"be121176-1d62-4a1b-a3c1-7dce2e069d22\",\n \"shortDescription\": \"Automatically created during vxf cirros_sriov_vnfd submission. Owner must update.\",\n \"packageLocation\": null,\n \"publicURL\": null,\n \"dateCreated\": 1568971740000,\n \"dateUpdated\": null,\n \"refVxFs\": [\n {\n \"id\": 2,\n \"name\": \"cirros_sriov_vnfd\"\n }\n ],\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"active\": true,\n \"currentSessionID\": null,\n \"apikey\": \"e41c1cc4-aa56-4b7e-9f4d-64589549d768\",\n \"createdAt\": 1568711859000,\n \"roles\": [\n \"ROLE_ADMIN\",\n \"ROLE_MENTOR\"\n ]\n },\n \"published\": false,\n \"termsOfUse\": null,\n \"deployedInfrastructures\": []\n }\n ]\n }\n]\n</code></pre>"},{"location":"architecture/oauth/","title":"Authentication Server","text":"<p>Authentication is based on oAuth2. Our authentication service is a Keycloak server which is deployed with Openslice deployment </p> <p>API users needs to authenticate. All APIs (except grant token request) must include Bearer token in request Authorization header.</p>"},{"location":"architecture/oauth/#oauth-token","title":"OAuth token","text":"<p>Get first an oauth token, using your username and password. </p> <pre><code>curl -X POST http://portal.openslice.io/auth/realms/openslice/protocol/openid-connect/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'username=demouser' -d 'password=demouser' -d 'grant_type=password' -d 'client_id=osapiWebClientId' \n</code></pre> <p>response:</p> <pre><code> {\"access_token\":\"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1NzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiOGI2ZTU0NWUtNDIyYy00NzFiLWEwN2UtYTUzYzY1NDQ0MzZmIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImExYTI3NjVhLWVjODMtNDQ1Ni1iN2IyLTIwNzMxOTg2ZTAzNSIsInR5cCI6IkJlYXJlciIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0IiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjEzMDgyIiwiaHR0cDovL2xvY2FsaG9zdCIsImh0dHA6Ly9vcGVuc2xpY2UuaW8iLCJodHRwOi8vbG9jYWxob3N0OjEzMDAwIiwiaHR0cDovL2xvY2FsaG9zdDo0MjAwIiwiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8iXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIk5GVl9ERVZFTE9QRVIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiRVhQRVJJTUVOVEVSIiwiVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkZW1vdXNlciJ9.TnzzpRLMD94UTKpT5_wkr1h4_3KUQmr4TGvFLpJ7cZx-Klrv8tB_eRkWnPqqzCAM9G21a1qXboL8MLMW8ECzG7HYKpobKOGr7LSczMOTdA2ZDyBCRUSOdW77pchu54tJ0ITEkFaDwSKMKKt04V_Sy4U-eIndj0XzzRlkDolWDnK4Z2lRaXAI6fMwOKx1Toa6RfOcemxtzl3pdtjPx92zo6MaKlbIqHK82lxdK0k8aQQaT6TmIrXbZKV2dU_1d3O0q0dVUEZJ_1kzwqOFkmxr9w0EnndC6ccYJlDAr_-GgUhhhNOn5v6tjYLUQdj5e4KEAsxIPzaCreK4un7mEAPmDw\",\"expires_in\":300,\"refresh_expires_in\":1800,\"refresh_token\":\"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwZjUxMDk5Yy0wNTIzLTRjNGQtODM0Zi1iNDc0YzBjOTA1MzkifQ.eyJleHAiOjE1ODgyNDIwNzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiZmViOTg5NWEtOTY5ZS00MzIzLWJjY2QtZTY2YzQ0NGE1MzJlIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwic3ViIjoiYTFhMjc2NWEtZWM4My00NDU2LWI3YjItMjA3MzE5ODZlMDM1IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0Iiwic2NvcGUiOiJwcm9maWxlIGVtYWlsIn0.cDTx9BE1Df8EfGYm3VLr_MNFeymxZtJhMtlK7PVbIuk\",\"token_type\":\"bearer\",\"not-before-policy\":1586797346,\"session_state\":\"3350f493-6627-4373-8544-defd27ad3c74\",\"scope\":\"profile email\"}\n\n</code></pre> <p>The <code>access_token</code> will be used next as a Bearer.</p> <pre><code>curl http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog -H 'Authorization: Bearer yJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1MjQsImlhdCI6MTU4ODI0MDIyNCwianRpIjoiYjg0NGYxZDAtMzk3Mi00YTMyLThiMWEtZDAxMDY3OGZjMTQ4IiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwic3ViIjoiYTFhMjc2NWEtZWM4My00NDU2LWI3YjItMjA3MzE5ODZlMDM1IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYWRtaW4tY2xpIiwic2Vzc2lvbl9zdGF0ZSI6ImFmMmMzZmY1LTE4YWQtNDFkNC1hYTAyLTFlMGJkNzNmOTM5MSIsImFjciI6IjEiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXIifQ.SMtgV1E44_K_MQumGXZtWsLGVhYNaoM8Pk-DiFIZtUP4Zu-ervOsxHVQMX1frgVERR4jJidBcSshy9TnJ3UjF4l33WujHltbs-1UPy-gaIufVuEpl8RmbjOti3Up70vLfLXbzb6kN6WaahgobWXlbJsSXXwaBPQP6vSX5KigCa8TmzXcuqom14lOrlU-RB2zQTlJ30p7d9ag-a7o3I5m9GZWLJCZW2UYMl1JkskTHKgilA8HFQY4C9DYwWu8YDMyzqQSNumrTlURalBFidFbZvb1kp4dAyct8TysSWSbxxiwaL2RX1PWUqk-5Fpc1Q6BnBC8muMheiukFuoSkuADAg'^C\nubuntu@portal:~$ curl http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1NzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiOGI2ZTU0NWUtNDIyYy00NzFiLWEwN2UtYTUzYzY1NDQ0MzZmIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImExYTI3NjVhLWVjODMtNDQ1Ni1iN2IyLTIwNzMxOTg2ZTAzNSIsInR5cCI6IkJlYXJlciIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0IiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjEzMDgyIiwiaHR0cDovL2xvY2FsaG9zdCIsImh0dHA6Ly9vcGVuc2xpY2UuaW8iLCJodHRwOi8vbG9jYWxob3N0OjEzMDAwIiwiaHR0cDovL2xvY2FsaG9zdDo0MjAwIiwiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8iXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIk5GVl9ERVZFTE9QRVIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiRVhQRVJJTUVOVEVSIiwiVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkZW1vdXNlciJ9.TnzzpRLMD94UTKpT5_wkr1h4_3KUQmr4TGvFLpJ7cZx-Klrv8tB_eRkWnPqqzCAM9G21a1qXboL8MLMW8ECzG7HYKpobKOGr7LSczMOTdA2ZDyBCRUSOdW77pchu54tJ0ITEkFaDwSKMKKt04V_Sy4U-eIndj0XzzRlkDolWDnK4Z2lRaXAI6fMwOKx1Toa6RfOcemxtzl3pdtjPx92zo6MaKlbIqHK82lxdK0k8aQQaT6TmIrXbZKV2dU_1d3O0q0dVUEZJ_1kzwqOFkmxr9w0EnndC6ccYJlDAr_-GgUhhhNOn5v6tjYLUQdj5e4KEAsxIPzaCreK4un7mEAPmDw'\n\nResponse:\n\n\n[{\"uuid\":\"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\"lastUpdate\":\"2020-03-11T23:19:05Z\",\"@baseType\":\"BaseEntity\",\"@schemaLocation\":null,\"@type\":\"ServiceCatalog\",\"href\":null,\"name\":\"Example Facility Services\",\"description\":\"Example Facility Services\",\"lifecycleStatus\":\"Active\",\"version\":\"1.0\",\"validFor\":{\"endDateTime\":\"2039-11-20T23:07:21Z\",\"startDateTime\":\"2019-11-20T23:07:21Z\"},\"relatedParty\":null,\"id\":\"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\"category\":[{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"Generic Services\",\"@referredType\":null,\"id\":\"98b9adf1-a1d6-4165-855f-153ddc2131b1\"},{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"External\",\"@referredType\":null,\"id\":\"08ffdb3c-6237-45d0-9f3a-d43b5fc5f0b6\"},{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"eMBB\",\"@referredType\":null,\"id\":\"ef2c90dd-b65e-4a9f-a9c3-427c9fb0219b\"}]}]\n\n\n</code></pre>"},{"location":"architecture/osom/","title":"Openslice Service Orchestration and Order Management - OSOM","text":"<p>OSOM is a service responsible for:</p> <ul> <li>Service Order Management (SOM)</li> <li>Service Orchestration (SO)</li> </ul> <p>It uses open source Flowable Business process engine (https://www.flowable.org) .</p> <p>A Service Order follows the states as defined in TMF641 specification: </p> <p></p>"},{"location":"architecture/osom/#initial-state","title":"Initial state","text":"<p>When a new order is created, it goes into the Initial state. It is stored in the repository and triggers an Event.</p> <p></p> <p>Administrators are notified usually from the Ticketing System of a new order. They login to Openslice and change the State of the order either to ACKNOWLEDGED or REJECTED. If ACKNOWLEDGED they can Propose a startDate, add Notes, and add any additional service items</p>"},{"location":"architecture/osom/#order-scheduler","title":"Order scheduler","text":"<p>A process checks every 1 minute for ACKNOWLEDGED orders.</p> <p></p> <p></p> <p>It retrieves all orders that are in ACKNOWLEDGED state and if the start date is in time it will initialize the process by settingn the order in IN_PROGRESS state. Finally the Start Order Process will start.</p>"},{"location":"architecture/osom/#start-order-process","title":"Start order process","text":"<p>This process for now is a draft simple prototype to make a simple orchestration via NFVO. Here the actual Services (TMF638/640 model) are created and attached to Service Order and Service Inventory.</p> <p></p> <p></p> <p>We expect here to check which tasks can be orchestrated by NFVO and which by human. We create the equivalent Services(TMF638/640 model) for this order.</p> <ol> <li>During check it should decide to create Service(s) for this service order O1 and send it to ServiceInventory</li> <li>The Services(TMF638 model) are assigned to the Order O1 In supportService List</li> <li>Each OrderItem OI1 is related to one serviceSpecification</li> <li>Each ServiceSpecification has also related serviceSpecRelationships</li> <li>So if we receive an order O1 for a ServiceSpec A which relates to (a bundle of) 3 specs(2 CFS, 1 RFS) we do the following:<ol> <li>Create a Service S_A(TMF638 model) for ServiceSpec A for Order O1</li> <li>We create also 3 Services S_C1, S_C2 and S_R1 equivalent to the serviceSpecRelationships (2 CFS, 1 RFS) </li> <li>At this point the order will have 1 Local Service Orchestration Process(S_A), 2 supportingServices refs(S_C1, S_C2) and 1 supportingResource(S_R1)</li> <li>The 3 supportingServices and 1 supportingResource correspond to total 4 Services in ServiceInventory</li> <li>Service S_A will have: <ol> <li>startMode 1: Automatically by the managed environment</li> <li>State: RESERVED and the Lifecycle will be handled by OSOM</li> </ol> </li> <li>Services S_C1 and S_C2 we decide that cannot be orchestrated then they have <ol> <li>startMode: 3: Manually by the Provider of the Service</li> <li>State: RESERVED and the Lifecycle will be handled by OSOM</li> <li>If the CFS is a bundle spec it is further recursively orchestrated </li> </ol> </li> <li>Service S_R1 will have <ol> <li>startMode 1: Automatically by the managed environment.</li> <li>State: RESERVED</li> <li>IF The Service has the characteristic CharacteristicByName( \"NSDID\") it will be further processed by the NFVO </li> </ol> </li> </ol> </li> </ol> <p>There will be two instances of task \"User Task Manual Complete Service\" each for Services S_C1 and S_C2. The task is Transient for now. It displays only the services that are not automated! Here is a flow for future:</p> <ol> <li>We wait here for human decision.</li> <li>From API we get a result: a. If set to ACTIVE/TERMINATED then we complete the task b. In any other state we stay in this task until it is resolved as in step a c. The Status of ORDER O1 is also updated to PARTIAL</li> </ol> <p>There will be an instance of NFVODeploymentRequest process each for Service S_R1. (see later)</p> <ol> <li>This process is related with the NFVO orchestration</li> <li>It will send a msg to NFVO(s?) for a specific deployment request</li> </ol> <p>All services in \"Order Complete\" are in a status:</p> <ol> <li>Depending on the result the service S_A is either ACTIVE or INACTIVE or TERMINATED</li> <li>The Status of ORDER O1 is also updated to COMPLETED or PARTIAL (in case we have some services running) or FAILED (in cases we have errors)</li> </ol> <p>A Service follows the states as defined in TMF638 Service Inventory specification: </p> <p></p>"},{"location":"architecture/osom/#nfvodeploymentrequest-process","title":"NFVODeploymentRequest process","text":"<p>This process is related with the NFVO orchestration It will send a msg to NFVO(s?) for a specific deployment request Then it checks the deployment status. It will wait 30 secs each time until the deployment is running (or failed)</p>"},{"location":"architecture/osom/#check-in-progress-orders-process","title":"Check In Progress orders process","text":"<p>Every 1 minute the \"Check In Progress Orders\" process is executed checking if a supported Service changed state (i.e. to ACTIVE) then the whole Order will change state (e.g. go to COMPLETED)</p> <p></p>"},{"location":"architecture/osom/#external-service-provider-deployment-request-process","title":"External Service Provider Deployment Request process","text":"<p>This process contains tasks for submitting order requests to external partners. - Submit Order To External Service Provider Task: This task creates automatically a Service Order request to a 3rd party provider SO that hosts the Service Specification - Check external service order fulfillment task: This task Check external partner for Service creations and updates our local inventory of services the service characteristics of remote Service Inventory</p>"},{"location":"architecture/osom/#fetch-partner-services-process","title":"Fetch Partner Services Process","text":"<p>Every 2 minutes the \"fetchPartnerServicesProcess\" process is executed checking remote Partner Organizations for changes in the published catalogues. The Fetch and Update External Partner Services Task is executed in paralle l for each Partner Organization </p>"},{"location":"architecture/osom/#local-service-orchestration-process","title":"Local Service Orchestration Process","text":"<p>This process handles automatically services that need to be further orchestrated or processed by OSOM. For example, for a CFS Bundled service we create such automated service instances that just aggregate the underlying services. </p>"},{"location":"architecture/tmfapi/","title":"TMF OpenAPI specification","text":"<p>PLease check the complete specification here.</p>"},{"location":"architecture/tmfapi/#api-interaction","title":"API interaction","text":""},{"location":"architecture/tmfapi/#oauth-token","title":"OAuth token","text":"<p>See oauth</p>"},{"location":"architecture/tmfapi/#request-a-protected-api-resource","title":"Request a protected API resource","text":"<p>Example: Get all Service Catalogs (check the <code>Authorization:Bearer</code> to be correct)</p> <pre><code>curl -H \"Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbIm9wZW5hcGkiLCJhZG1pbiIsInJlYWQiLCJ3cml0ZSJdLCJvcmdhbml6YXRpb24iOiJteW9yZ2FuaXp0aW9uIiwiZXhwIjoxNTc4NTA1MDcyLCJhdXRob3JpdGllcyI6WyJST0xFX01FTlRPUiIsIlJPTEVfQURNSU4iXSwianRpIjoiMTFlNGYxYTUtZDY0Ny00YzA1LWE0ZGMtYWFhYzUyMjk4YzMwIiwiY2xpZW50X2lkIjoib3NhcGlXZWJDbGllbnRJZE91dCJ9.gm7cKdusDrdMRkxEiFU5sENKGRC1xwVj2SgPRmE9xxx\" -H \"accept: application/json;charset=utf-8\" -X GET \"http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog\"\n\n</code></pre> <p>response:</p> <pre><code>[\n {\n \"uuid\": \"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\n \"lastUpdate\": \"2019-12-19T10:45:55Z\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": \"ServiceCatalog\",\n \"href\": null,\n \"name\": \"Example Facility Services\",\n \"description\": \"Example Facility Services\",\n \"lifecycleStatus\": \"Active\",\n \"version\": \"1.0\",\n \"validFor\": {\n \"endDateTime\": \"2039-11-20T23:07:21Z\",\n \"startDateTime\": \"2019-11-20T23:07:21Z\"\n },\n \"relatedParty\": null,\n \"id\": \"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\n \"category\": [\n {\n \"@baseType\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"@schemaLocation\": null,\n \"@type\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"href\": null,\n \"name\": \"eMBB\",\n \"@referredType\": null,\n \"id\": \"ef2c90dd-b65e-4a9f-a9c3-427c9fb0219b\"\n },\n {\n \"@baseType\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"@schemaLocation\": null,\n \"@type\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"href\": null,\n \"name\": \"Generic Services\",\n \"@referredType\": null,\n \"id\": \"98b9adf1-a1d6-4165-855f-153ddc2131b1\"\n }\n ]\n }\n]\n</code></pre>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/","title":"CRIDGE: A Service to manage Custom Resources in a Kubernetes Cluster","text":""},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#intended-audience-osl-developers","title":"Intended Audience: OSL developers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.</p> <p>CRIDGE is a service designed to create and manage Custom Resources (CRs) based on Custom Resource Definitions (CRDs) installed on a Kubernetes cluster. By leveraging the OpenSlice (OSL), CRIDGE enables seamless integration and orchestration within Kubernetes environments, utilizing Kubernetes APIs via the TMF APIs and models. Thus, more or less, OSL exposes Kubernetes APIs as TMF APIs and models.</p> <p>By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OSL can be used in many complex scenarios now involing resources from multiple domains.</p> <ol> <li> <p>CRIDGE service allows OSL to:</p> <ul> <li>Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.</li> <li>Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.</li> <li>Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs</li> <li>Wraps the Kubernetes API, Receives and provides resources towards other OSL services via the service bus</li> </ul> </li> <li> <p>Enabling Loose Coupling and Orchestration</p> <ul> <li>Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.</li> <li>Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.</li> </ul> </li> <li> <p>Ecosystem Reusability</p> <ul> <li>CRIDGE capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).</li> <li>Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.</li> </ul> </li> <li> <p>Service Catalog Exposure and Deployment</p> <p>OSL can expose CRs in service catalogs, facilitating their deployment in complex scenarios. These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.</p> </li> </ol> <p>Why the CRIDGE name? we wanted to build a service that maps TMF models to CRDs; a kind of a CRD to TMF bridge. Therefore CRIDGE was born</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#approach","title":"Approach","text":"<p>OSL in general is responible for exposing service specifications which are ready to be ordered and orchestrated, through tmforum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.</p> <p>The following image illustrates the approach.</p> <p></p> <ol> <li>A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog</li> <li>Service Orders can be created for this service specification. The OSL Orchestrator (OSOM) will manage the lifecycle of the Service Order.</li> <li>OSOM creates a Resource in OSL Resource inventory and requests (via CRIDGE) a new Custom Resource (CR) in the target cluster<ul> <li>The resource is created in a specific namespace (for example the UUID of the Service Order)</li> <li>A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory</li> <li>Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order</li> </ul> </li> </ol> <p></p> <p>The provided image illustrates the architecture and workflow of the CRIDGE service, showing how it interacts with other components within a Kubernetes (K8s) cluster. Here is an explanation of the key components and flow in the diagram:</p> <ul> <li>Other OSL Services: This box represents various OSL services such as Service Spec Catalogue, Resource Spec Catalogue, Service Inventory, Resource Inventory, and OSOM (OpenSlice Service Orchestration and Management).</li> <li>Service Bus: This is the communication layer that facilitates interaction between the CRIDGE service and other OSL services.</li> <li>CRIDGE: CRIDGE acts as a bridge that converts CRDs (Custom Resource Definitions) to TMF (TM Forum) APIs and models. It enables the creation and management of Custom Resources (CRs) in the Kubernetes cluster.</li> <li> <p>K8s API: The Kubernetes API server, which is the central control point for managing the Kubernetes cluster. CRIDGE interacts with the K8s API to manage CRDs and CRs.</p> <p>CRD (Custom Resource Definition): A CRD is a way to define custom resources in Kubernetes cluster-wise. It allows the extension of Kubernetes API to create and manage user-defined resources. Example :</p> </li> </ul> <pre><code> apiVersion: apiextensions.k8s.io/v1\n kind: CustomResourceDefinition\n metadata:\n name: myresource.example.com\n</code></pre> <ul> <li>Namespaces: Kubernetes namespaces provide a way to partition resources within a cluster. The diagram shows that multiple namespaces (nsxx, nsyy, nsz) can be managed by CRIDGE.</li> </ul> <p>CR (Custom Resource): A CR is an instance of a CRD. It represents the actual custom resource that is managed within the Kubernetes cluster. Example shown in different namespaces:</p> <pre><code> apiVersion: example.com/v1\n kind: Myresource\n metadata:\n name: example_resource_1\n</code></pre> <p>In a nutchell:</p> <ul> <li>Various OSL services use the Service Bus to communicate with CRIDGE.</li> <li>CRIDGE converts requests towards Kubernetes API and vice-versa, facilitating the integration of custom resources with other OSL services.</li> <li>CRDs are defined and managed through the K8s API. The example CRD is named myresource.example.com.</li> <li>Deploying CRs in Namespaces: Custom resources defined by the CRD are created and managed within different namespaces in the Kubernetes cluster. Each namespace can have its own instances of the custom resources.<pre><code>> The example CRD myresource.example.com allows the creation of custom resources of type Myresource.\n> Instances of Myresource are created in various namespaces, each with unique names like example_resource_1.\n</code></pre> </li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#handling-more-than-one-clusters","title":"Handling more than one clusters","text":"<p>A CRIDGE service is usually responsible for managing one cluster. In the following diagram we show how it can be used for managing multiple clusters:</p> <p></p> <p>We assume that there is an OSL Management cluster that OSL is installed. CRIDGE is also installed there if we would like to manage resources in the same management cluster. - Each CRIDGE service has for example its own configuration to connect to target cluster - Each CRIDGE can be installed either in the managed cluster or at the remote clusters. Connectivity is handled via the service bus - Important: Each CRIDGE has a different context and API endpoints. This is used to request CRDs on a different cluster</p> <p>A CRD has a globally unique name for example mycrd.example.com. So we need to somehow identify also the different cluster</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#awareness-for-crds-and-crs-in-cluster","title":"Awareness for CRDs and CRs in cluster","text":"<p>CRDs and CRs can appear (disappear) or change status at any time in a cluster. OSL Resource Inventory need to be aware of these events.</p> <p>The sync process is found in the code and explained by the following picture:</p> <p></p> <p>WatcherService is executed when the cridge service application starts (see onApplicationEvent). First things:</p> <ul> <li>KubernetesClientResource is a class that wraps fabric8\u2019s KubernetesClient<ul> <li>This fabric8 KubernetesClient is initialized from the kubeconf and default context of the machine that runs CRIDGE</li> </ul> </li> <li>On CRIDGE Start up we try to register this cluster and context to OSL catalogs.<ul> <li>See registerKubernetesClientInOSLResource method which registers the KubernetesContextDefinition in Resource Inventory as a LogicalResource via createOrUpdateResourceByNameCategoryVersion method</li> </ul> </li> <li>After the creation(or update) of this cluster as a Resource in OSL we proceed to create SharedIndexInformers for CustomResourceDefinition objects</li> <li>In this way CRIDGE is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL(CRIDGE)</li> <li>The SharedIndexInformer events notify CRIDGE, which is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL(CRIDGE)<ul> <li>NOTE: The ADD event is raised every time also we run CRIDGE. Therefore, on ADD we do the method to createORupdate resource specifications and resources</li> </ul> </li> <li>On ADD event:<ul> <li>The CRD is transformed to OSL Kubernetes domain model: method kubernetesClientResource.KubernetesCRD2OpensliceCRD</li> <li>Then the OSL Kubernetes domain model is:<ul> <li>transformed to Resource Specification and is stored to catalog (see createOrUpdateResourceSpecByNameCategoryVersion)</li> <li>Transformed to Resource and is stored to catalog (see createOrUpdateResourceByNameCategoryVersion)</li> </ul> </li> <li>Conceptually while a CRD is a new resource located in the Kubernetes cluster resource, it is transformed also as a Resource Specification (a high-level entity) which is ready to be reused as an entity to other scenarios. The same concept as in Kubernetes where a CRD is a definition ready to be used for instantiating resources of this CRD</li> <li>Then for this CRD a Watcher is added for all Resources of this Kind (fabric8\u2019s GenericKubernetesResource entity) </li> <li>When we have a newly added/updated/deleted resource of a certain CRD the method updateGenericKubernetesResourceInOSLCatalog is called for this object (fabric8\u2019s GenericKubernetesResource entity)</li> <li>We examine if the resource has label org.etsi.osl.resourceId<ul> <li>This label is added by OSOM during service orders to correlate K8S requested resources with resources in inventory</li> </ul> </li> <li>If the label exists, we update the resource by ID updateResourceById</li> <li>Else a resource is created in catalog</li> </ul> </li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#deployment-of-a-new-cr-based-on-a-crd","title":"Deployment of a new CR based on a CRD","text":"<ul> <li>A message arrives to deploy a CR<ul> <li>The call examines if this CRIDGE service can handle the request (based on context and masterURL)</li> </ul> </li> <li>There are headers received and a crspec in json</li> <li>The crspec is unmarshaled as GenericKubernetesResource</li> <li>Headers are in format org.etsi.osl.*</li> <li>These headers are injected as labels <ul> <li>(see later in orchestration)</li> </ul> </li> <li>A namespace is created for this resource</li> <li>Watchers are created for this namespace for e.g. new secrets, config maps etc , so that they can be available back as resources to the Inventory of OSL (Note only Secrets for now are watched)</li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#expose-crds-as-service-specifications-in-openslice-catalogs","title":"Expose CRDs as Service Specifications in OpenSlice catalogs","text":"<p>See ExposingKubernetesResources</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#service-orchestration-and-crdscrs","title":"Service Orchestration and CRDs/CRs","text":"<p>OSOM checks the presence of attribute _CR_SPEC at the RFS to make a request for a CR deployment</p> <ul> <li>_CR_SPEC is a JSON or YAML string that is used for the request<ul> <li>It is similar to what one will do with e.g. a kubectl apply</li> <li>There are tools to translate a yaml file to a json</li> </ul> </li> </ul> <p>LCM rules can be used to change attributes of this yaml/json file, before sending this for orchestration</p> <p>However, the following issue needs to be solved: ** How to map the CR lifecycle that is defined in the CRD with the TMF resource Lifecycle? ** - For this We introduced the following characteristics: _CR_CHECK_FIELD, _CR_CHECKVAL_STANDBY, _CR_CHECKVAL_ALARM, _CR_CHECKVAL_AVAILABLE, _CR_CHECKVAL_RESERVED, _CR_CHECKVAL_UNKNOWN, _CR_CHECKVAL_SUSPENDED</p> <p>OSOM sends to CRIDGE a message with the following information:</p> <ul> <li>currentContextCluster: current context of cluster </li> <li>clusterMasterURL: current master url of the cluster </li> <li>org.etsi.osl.serviceId: This is the related service id that the created resource has a reference </li> <li>org.etsi.osl.resourceId: This is the related resource id that the created CR will wrap and reference. </li> <li>org.etsi.osl.prefixName: we need to add a short prefix (default is cr) to various places. For example in K8s cannot start with a number </li> <li>org.etsi.osl.serviceOrderId: the related service order id of this deployment request </li> <li>org.etsi.osl.namespace: requested namespace name </li> <li>org.etsi.osl.statusCheckFieldName: The name of the field that is needed to be monitored in order to monitor the status of the service and translate it to TMF resource statys (RESERVED AVAILABLE, etc) </li> <li>org.etsi.osl.statusCheckValueStandby: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state STANDBY (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueAlarm: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state ALARMS (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueAvailable: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state AVAILABLE (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueReserved: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state RESERVED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueUnknown: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state UNKNOWN (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li> <p>org.etsi.osl.statusCheckValueSuspended: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state SUSPENDED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </p> </li> <li> <p>Parameters:</p> <ul> <li>aService reference to the service that the resource and the CR belongs to</li> <li>resourceCR reference the equivalent resource in TMF repo of the target CR. One to one mapping</li> <li>orderId related service order ID</li> <li>startDate start date of the deployment (not used currently)</li> <li>endDate end date of the deployment (not used currently)</li> <li>_CR_SPEC the spec that is sent to cridge (in json)</li> </ul> </li> <li> <p>Returns:</p> <ul> <li>a string response from cridge. It might return \"OK\" if everything is ok. \"SEE OTHER\" if there are multiple CRIDGEs then some other cridge will handle the request for the equivalent cluster. Any other response is handled as error</li> </ul> </li> <li> <p>CRIDGE receives the message and creates according to the labels the necessary CR</p> </li> <li>It monitors the created resource(s) in namespace (see the Sequence Diagram in previous images)</li> <li>It monitors and tries to figure out and map the Status of the CR to the TMF Status according to the provided org.etsi.osl.statusCheck* labels</li> <li>It sends to the message bus the current resource for creation or update to the TMF service inventory</li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#probe-further","title":"Probe further","text":"<ul> <li>See examples of exposing operators via OpenSlice:<ul> <li>Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice</li> </ul> </li> </ul>"},{"location":"contributing/developing/","title":"Developing","text":"<p>OpenSlice backend services are mainly implemented with Java 17 or above and Spring boot.</p> <p>OpenSlice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at docker-compose.yaml file).</p> <p>To get the latest development branch:</p> <pre><code>wget https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/raw/develop/compose/deploy.sh \nsudo ./deploy.sh develop #[or replace develop with other branch name]\n</code></pre> <p>You may follow the installation process, as described at \"develop\" tagged documentation.</p> <p>To work on a specific subsystem e.g. org.etsi.osl.tmf.api, you must:</p> <p>1a - Deploy only the core necessary subsystems through:</p> <pre><code>sudo docker compose --profile dev down;sudo docker compose --profile dev up -d --build\n</code></pre> <p>Note --profile dev that will only deploy the core dependency subsystems, instead of the whole OpenSlice.</p> <p>1b - Or alternatively, commend out the respective container from the docker-compose.yaml file, so as to deploy the whole OpenSlice, except the subsystem you want to work on, following the provided installation steps.</p> <p>2 - Clone the respective repository, e.g. https://labs.etsi.org/rep/osl/code/org.etsi.osl.tmf.api/-/tree/develop</p> <p>3 - Code :)</p>"},{"location":"contributing/developing/#general-requirements","title":"General requirements","text":"<ul> <li>Docker should be installed in your development environment</li> <li>Run the core subsystems (see above section)</li> </ul>"},{"location":"contributing/developing/#slack","title":"Slack","text":"<p>Feel free to join OpenSlice Slack for any development oriented questions.</p>"},{"location":"contributing/developing/#examples-of-developing-on-specific-subsystems","title":"Examples of developing on specific subsystems","text":""},{"location":"contributing/developing/#vnfnsd-catalog-management-and-nsd-deployment-api-service","title":"VNF/NSD Catalog Management and NSD Deployment API service","text":"<p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.api/-/tree/develop</p> <p>Check the docker-compose.yml file. Default port is 13080. Check specifically the datasource username/password, server port.</p> <p>Make sure that the core subsystems are up and running.</p> <p>Execute it with </p> <pre><code>mvn spring-boot:run\n</code></pre> <p>For verification, Swagger API of the service is at <code>http://localhost:13000/osapi/swagger-ui/index.html</code>. </p> <p>There, you may try there various REST actions and authenticate via the OAuth server without the use of the UI.</p>"},{"location":"contributing/developing/#vnfnsd-catalog-management-and-nsd-deployment-web-ui-service","title":"VNF/NSD Catalog Management and NSD Deployment WEB UI service","text":"<p>The Web UI is written in AngularJS.</p> <p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.web/-/tree/develop</p> <p>By default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to <code>http://localhost:13000/osapi/testweb/index.html/</code></p>"},{"location":"contributing/developing/#versionrelease-management","title":"Version/release management","text":"<p>Check this nice article on how we develop and release versions.</p> <p>https://nvie.com/posts/a-successful-git-branching-model/</p> <p>We develop in the develop branch and follow a issue driven development model.</p>"},{"location":"contributing/developing/#wishlist","title":"Wishlist","text":"<p>Check also our wishlist of new features. You can add your own.</p> <p>See Wishlist.</p>"},{"location":"contributing/wishlist/","title":"TMF API","text":"<ul> <li>RBAC of API endpoints</li> <li>TMF Ticketing API support</li> <li>TMF Product</li> <li>HATEOAS integration</li> <li>Select Specs that can be exposed to partners (maybe with a characteristic?)</li> </ul>"},{"location":"contributing/wishlist/#resource-management","title":"resource management","text":"<ul> <li>Resource Activation and Configuration API TMF702 (NEW) (https://projects.tmforum.org/wiki/pages/viewpage.action?pageId=128855518)</li> </ul>"},{"location":"contributing/wishlist/#tmf-web","title":"TMF WEB","text":""},{"location":"contributing/wishlist/#osom","title":"OSOM","text":"<ul> <li>Actions on service order item and acknowledge order status will define the lifecycle</li> <li>action shutdown on specific date for service order</li> <li>action edit on service order item</li> </ul>"},{"location":"contributing/wishlist/#dynamic-attribute-transformation","title":"Dynamic attribute transformation","text":"<ul> <li>DTM decision tables support per Service Specification</li> <li>Schedule Termination of completed order on running services</li> </ul>"},{"location":"contributing/wishlist/#nfvo-connectivity","title":"NFVO connectivity","text":""},{"location":"contributing/wishlist/#osm-client","title":"OSM Client","text":"<ul> <li>VNF/NSD config params Day 2</li> <li>NSD Lifcecylce</li> <li>NST support</li> </ul>"},{"location":"contributing/wishlist/#nfv-api","title":"NFV API","text":""},{"location":"contributing/wishlist/#nfv-web","title":"NFV WEB","text":""},{"location":"contributing/wishlist/#3rd-party-connectivity","title":"3rd party connectivity","text":""},{"location":"contributing/wishlist/#flowone-connector","title":"FlowOne connector","text":""},{"location":"contributing/wishlist/#openstack-connector","title":"Openstack connector","text":""},{"location":"contributing/wishlist/#kubernetes-connector","title":"Kubernetes connector","text":""},{"location":"contributing/wishlist/#centrallog","title":"CentralLog","text":"<ul> <li>Events from TMF to be written to Central Log</li> </ul>"},{"location":"contributing/wishlist/#authentication","title":"Authentication","text":""},{"location":"naas/exposed_apis/","title":"Supported TMFORUM exposed APIs","text":"Endpoint Title Description Version /tmf-api/serviceCatalogManagement/v4 633 Service Catalog Management Provides a catalog of services. 4.0.0 /tmf-api/productCatalogManagement/v4/ 620 Product Catalog Management Provides a catalog of products. 4.0.0 /tmf-api/productOrderingManagement/v4/ v622 Product Ordering Provides a standardized mechanism for placing a product order. 4.0.0 /tmf-api/resourceCatalogManagement/v4 634 Resource Catalog Management This is Swagger UI environment generated for the TMF Resource Catalog Management specification. 4.0.0 /tmf-api/serviceInventory/v4 638 Service Inventory Management Provides a consistent/standardized mechanism to query and manipulate the Service inventory. 4.0.0 /tmf-api/serviceOrdering/v4 641 API ServiceOrdering Provides a standardized mechanism for managing Service Order. 4.0.0 /tmf-api/serviceQualityManagement/v2 657 Service Quality Management This is Swagger UI environment generated for the TMF Service Quality Management specification. 2.0.0 /tmf-api/partyRoleManagement/v4/ 669 Party Role Management This is Swagger UI environment generated for the TMF Party Role Management specification. 4.0.0 /tmf-api/party/v4/organization 632 API Party Provides standardized mechanism for party management such as creation, update, retrieval, deletion and notification of events. 4.0.0 /tmf-api/agreementManagement/v2/ 651 Agreement Management T his is Swagger UI environment generated for the TMF Agreement Management specification. 2.0.0 /tmf-api/resourceOrderingManagement/v4 652 Resource Order Management-v4.0.0 This is Swagger UI environment generated for the TMF 652-Resource Order Management-v4.0.0 specification. 4.0.0 /tmf-api/accountManagement/v4 666 Account Management This is Swagger UI environment generated for the TMF Account Management specification. 4.0.0 /tmf-api/customerManagement/v4 629 Customer Management TMF Customer Management 4.0.0 /tmf-api/userinfo 691 Federated ID TMF Federated ID 1.0.0 /tmf-api/ServiceActivationAndConfiguration/v3/ 640 API Service Activation and Configuration Provides the ability to activate and configure Services. 3.0.0 /tmf-api/alarmManagement/v4/ 642 API Alarm 4.0.0 /tmf-api/serviceTestManagement/v4 653 Service Test Management Provides the ability to manage tests of provisioned Services. 4.0.0 /tmf-api/resourceInventoryManagement/v4 639 API Resource Inventory Management Provides the ability to manage Resources. 4.0.0 /tmf-api/lcmrulesmanagement/v1/ LCM Rules Custom API environment for LCM Rules 1.0.0 /tmf-api/resourcePoolManagement/v1 685 Resource Pool Management Resources that can be reserved are only in one pool. 1.0.0 /tmf-api/geographicSiteManagement/v5 674 Geographic Site Management Covers the operations to manage sites that can be associated with entities 5.0.0"},{"location":"naas/gst_to_tmf/","title":"Generic Slice Template as a Service Specification","text":""},{"location":"naas/gst_to_tmf/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>GSMA Generic Slice Template (GST) Defines customer-oriented service requirements, E.g. Availability, Area of service, delay tolerance, etc. and attempts to narrow down the gap between (network) service customers and vendors</p> <p>Moreove it Proposes standardized Network Slice Templates (NESTs) to target specific use cases</p> <p>In OpenSlice we made an effort and translated the GST to a Service Specification model. So Service Designers can use it as a template to design a new Service.</p> <p>The image illustrates the relationship between the GSMA Generic Slice Template (GST), TM Forum Service Specification, and how they are utilized within OpenSlice to offer network services.</p> <p></p> <p>The GST to TM Forum via OpenSlice:</p> <pre><code> * GST Attributes List: A comprehensive list of service attributes, such as availability, delay tolerance, downlink throughput, energy efficiency, isolation level, mission-critical support, and many others.\n * TMF Service Specification: Demonstrates the transformation of GST attributes into a TM Forum service specification, showing JSON code snippets that define service parameters.\n * Offered Service based on GST: Represents the final offered service, an example of a GST-based service shown as an entry in a catalog, ready to be consumed by customers.\n</code></pre> <p>What was our flow:</p> <pre><code>* Started with defining service requirements and attributes using GST.\n* Translated these GST attributes into a formal TM Forum service specification.\n* Service Offering in OpenSlice: The service specification is then used to create and offer a specific network service within OpenSlice, available for customer selection and deployment.\n</code></pre>"},{"location":"naas/gst_to_tmf/#probe-further","title":"Probe further","text":"<p>See v9 of the GST model in GSMA here</p>"},{"location":"naas/introduction/","title":"Network as a Service (NaaS)","text":"<p>This section describes some core concepts for Delivering Network as a Service in OpenSlice. There are many articles and reports on the subject like:</p> <ul> <li>TMF909 API Suite Specification for NaaS</li> <li>TMF926A Connectivity_as_a_Service </li> <li>TMF931-Open_Gateway_Onboarding_and_Ordering_Component_Suite</li> <li>GSMA Open Gatewy initiative</li> </ul> <p>In general Network as a Service (NaaS) is a service model that allows users to consume network infrastructure and services , similar to how they would consume other cloud services like Software as a Service (SaaS) or Infrastructure as a Service (IaaS). NaaS abstracts the complexity of managing physical network infrastructure, providing users with virtualized network resources that can be dynamically allocated and managed through software.</p>"},{"location":"naas/introduction/#openslice-and-naas","title":"OpenSlice and NaaS","text":"<p>OpenSlice makes extensive use of TMFORUM's models and APIs. Therefore if one is familiar with TMF APIs the terminology and ideas are the same.</p> <p>To deliver NaaS we need to incorporate various APIs (see TMF909 API Suite Specification for NaaS). OpenSlice implements various TMF APIs to deliver NaaS and support the lifecycle functions required to manage the network capabilities exposed as Network as a Service and managed by operational domains.</p>"},{"location":"naas/introduction/#probe-further","title":"Probe further","text":"<ul> <li>For a complete list of supported APIs, see Supported APIs</li> <li>Check the defined user roles of OpenSlice in our Terminology</li> </ul>"},{"location":"naas/lcm_intro/","title":"Lifecycle Management - LCM","text":"<p>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</p>"},{"location":"naas/lcm_intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>In OpenSlice the Lifecycle of a service follows in general the concept of Network Slice lifecycle as defined by 3GPP.</p> <p></p>"},{"location":"naas/lcm_intro/#introduction-in-openslice-lcm","title":"Introduction in OpenSlice LCM","text":"<p>OpenSlice Adopted adopted the LCM model by 3GPP and mapped to the TMF model service state. Next we discuss briefly the process and the relationships.</p> <p>The lifecycle of a service, particularly in the context of Network Service lifecycleencompasses several stages that ensure the service is effectively planned, deployed, managed, and eventually decommissioned. </p> <p>Here is an overview of these stages and relationships with OpenSlice:</p>"},{"location":"naas/lcm_intro/#0-preparation-phase","title":"0. Preparation Phase","text":"<p>This phase is performed by Service Designers</p>"},{"location":"naas/lcm_intro/#service-design","title":"Service Design:","text":"<ul> <li>Requirements Gathering: Collect service requirements from stakeholders, including performance metrics, quality of service (QoS), security needs, and geographical coverage.</li> <li>Service Specification: Define the service in terms of functionalities, attributes, and dependencies. This can be formalized using standardized templates such as the GSMA Generic Slice Template (GST).</li> <li>Resource Planning: Identify and plan the required resources, including network functions, computing power, storage, and connectivity, inclluding network function configurations.</li> <li>Expose to Service Catalog: Expose to service catalog for user ordering.</li> </ul> <p>Next phases are handled by the Service Orchestrator after a service is scheduled for instantiation</p> <p>If it is a bundle of services, each services follows its own Lifecycle!</p>"},{"location":"naas/lcm_intro/#1-instantiation-phase","title":"1. Instantiation Phase","text":""},{"location":"naas/lcm_intro/#service-instantiation","title":"Service Instantiation:","text":"<ul> <li>Configuration: Configure the network service according to the specifications includin the user requirements from the service order, ensuring that all components are correctly set up to provide the desired service.</li> <li>Resource Allocation - Feasibility check: Allocate the necessary physical and virtual resources based on the service specification. This includes any containerized resources, virtual network functions (VNFs) and software-defined networking (SDN) components. (This step is not perfromed in OpenSlice)</li> <li>OpenSlice Service Orchestrator creates the services at \"RESERVED\" state</li> <li>User Notification: There could be an email notification from the system (if Bugzilla is configured)</li> </ul>"},{"location":"naas/lcm_intro/#service-deployment","title":"Service Deployment:","text":"<ul> <li>Activation: OpenSlice Service Orchestrator activates the network service and makes the service available to the end-users. This may involve:</li> <li>Create any related services that the service depends on</li> <li>Contacting all related controllers during provisioning, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls)</li> <li>Scheduling instantiation, Resolving dependencies and passing paramemters between controllers,</li> <li>setting up user accounts, provisioning access credentials -this is performed either offline or via other services.</li> <li>OpenSlice Service Orchestrator if everything is succesful put the service at \"ACTIVE\" state</li> <li>User Notification: There could be an email notification from the system (if Bugzilla is configured)</li> </ul>"},{"location":"naas/lcm_intro/#2-operation-phase","title":"2. Operation Phase","text":""},{"location":"naas/lcm_intro/#service-operation","title":"Service Operation:","text":"<ul> <li>Lifecycle Management: Manage the network slice throughout its lifecycle, including scaling, reconfiguration, and adaptation to changing requirements. </li> <li>In OpenSlice this is performed with Lifecycle management Rules (see next)</li> </ul> <p>In this phase the Service Designer can define several aspects. Be aware that these are NOT performed automatically by OpenSlice - further examples and future enhancements will address these. This could include:</p> <ul> <li>Monitoring: Continuously monitor the service for performance, availability, and compliance with SLAs. Utilize tools for real-time tracking and alerts for any anomalies or performance degradation.</li> <li>Maintenance: Conduct regular maintenance activities, including software updates, patching, and optimization to ensure the service runs smoothly.</li> <li>Scaling: Dynamically scale the resources up or down based on the demand and performance requirements.</li> <li>Fault Management: Detect and resolve faults in the network slice to minimize downtime and maintain service quality.</li> </ul>"},{"location":"naas/lcm_intro/#3-decommissioning-phase","title":"3. Decommissioning Phase","text":""},{"location":"naas/lcm_intro/#service-decommissioning","title":"Service Decommissioning:","text":"<p>Service Termination: Service Orchestrator terminates the network service . This may involve: - Terminate any related services that the service depends on - Contacting all related controllers during termination to release resources, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls) - Scheduling termination, Resolving dependencies and passing paramemters between controllers - OpenSlice Service Orchestrator if everything is succesful put the service at \"TERMINATED\" state - User Notification: There could be an email notification from the system (if Bugzilla is configured)</p>"},{"location":"naas/lcm_intro/#high-level-example-enhanced-mobile-broadband-embb-service-lifecycle","title":"High level example: Enhanced Mobile Broadband (eMBB) Service Lifecycle","text":"<ol> <li>Preparation:</li> <li>Define eMBB service requirements for high bandwidth and low latency.</li> <li>Create an eMBB service specification template specifying related services and resources to Kubernetes Operators, VNFs for content delivery and traffic management.</li> <li> <p>Expose to catalog</p> </li> <li> <p>Instantiation:</p> </li> <li>Instantiate other services and allocate resources such as edge computing nodes and high-capacity links.</li> <li> <p>Configure the service to prioritize video streaming traffic.</p> </li> <li> <p>Operation:</p> </li> <li>Monitor the service to ensure it meets high-bandwidth requirements.</li> <li> <p>Scale up resources during peak usage periods, such as live sports events.</p> </li> <li> <p>Decommissioning:</p> </li> <li>Notify users about service termination.</li> <li>Decommission the network service, reclaiming resources for other services.</li> </ol>"},{"location":"naas/lcm_intro/#probe-further","title":"Probe further","text":"<ul> <li>See 3GPP Lifecycle</li> </ul>"},{"location":"naas/resource_catalog/","title":"OpenSlice Resource Catalog:","text":"<pre><code>* Resource Specifications: Defines the underlying resources required to deliver services, such as network components, servers, and software.\n* Resource Availability: Tracks the availability and status of resources to ensure efficient service delivery.\n</code></pre>"},{"location":"naas/service_catalog/","title":"OpenSlice Service Catalogs","text":"<p>OpenSlice offers complete management of Service Catalogs.</p>"},{"location":"naas/service_catalog/#intended-audience-service-designers-openslice-administrators-users","title":"Intended Audience: Service Designers, OpenSlice administrators, Users","text":"<p>OpenSlice offers complete management of Service Catalogs which offer to end users:</p> <ul> <li>Service categories: Lists the available services, including their specifications and performance metrics.</li> <li>Service Bundles: Combines multiple services into a single offering to provide added value to customers.</li> </ul> <p>Service Catalogs contain Service Specifications (organized in Service Categories) exposed to users for Service Orders.</p>"},{"location":"naas/service_catalog/#ui-management","title":"UI management","text":"<p>In the UI this looks like the following. Service catalogs and categories exposed in Service marketplace. </p> <p>In the menu the administrator can manage the Service Catalogs and Categories.</p> <p></p>"},{"location":"naas/service_catalog/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0\n\nendpoint examples:\n\n/serviceCatalogManagement/v4/serviceCatalog List or find ServiceCatalog objects\n/serviceCatalogManagement/v4/serviceCategory List or find ServiceCategory objects\n\n</code></pre>"},{"location":"naas/service_catalog/#example-use-case","title":"Example Use Case","text":"<p>Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers.</p> <ul> <li>Service Definition: Service Template thus create a template for the XXXX service, including specifications for bandwidth, network features, and performance metrics.</li> <li>Service Catalog Integration: Add to Service Catalog the XXXX service with all relevant details.</li> <li>Service Delivery/Order: Provision Service by Using the orchestration system to provision and configure the XXXX service based on customer orders.</li> </ul>"},{"location":"naas/service_catalog/#probe-further","title":"Probe further","text":"<ul> <li>Read the model of Service Catalogs in TMF TMF633 Service Catalog API User Guide v4.0.0</li> <li>Check a demo of the API here</li> <li>Check a demo of the Catalog and Categories here</li> </ul>"},{"location":"naas/service_inventory/","title":"Service Inventory","text":"<p>Service Inventory contains refences to running services that realize a Service Order</p>"},{"location":"naas/service_inventory/#intended-audience-service-designers-openslice-administrators-users","title":"Intended Audience: Service Designers, OpenSlice administrators, Users","text":"<p>The Service Inventory is a repository that maintains detailed records of all active services and the underlying resources that support them. It acts as a central repository, tracking the lifecycle of each service from provisioning to decommissioning, and includes references to the specific virtual and physical resources that realize the service, such as servers, network components, storage, and software instances. </p> <p>This inventory enables real-time visibility into the status, configuration, and dependencies of each service, facilitating effective management, troubleshooting, and optimization. </p> <p>By providing a view of the active services, the Service Inventory includes services/resource allocation, and ensures that services are delivered in alignment with the inital requst. </p>"},{"location":"naas/service_inventory/#ui-management","title":"UI management","text":"<p>Through the menu and dedicated forms the administrator can manage the Service Inventory and any active Services (reconfigure or terminate).Various examples in this document will guide you to the usage and the management of the Services in Service Inventory.</p>"},{"location":"naas/service_inventory/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-638-ServiceInventoryManagement-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceInventory/v4/service List or find Service objects</p>"},{"location":"naas/service_inventory/#probe-further","title":"Probe further","text":"<ul> <li>See Ordering Services from catalogs</li> <li>See Service Design</li> </ul>"},{"location":"naas/service_ordering/","title":"Service Ordering","text":"<p>Customer Facing Service Specifications - or also CFSSpec (organized in Service Categories) are exposed to users for Service Orders.</p>"},{"location":"naas/service_ordering/#intended-audience-service-designers-openslice-administrators","title":"Intended Audience: Service Designers, OpenSlice administrators","text":"<p>The Service Order process is a structured sequence of steps initiated by a customer's Service Order request for a specific service, aimed at delivering and activating the desired service or services (if it is a service bunlde), as well as its related services. It begins with the customer submitting a service request through OpenSlice Services portal or the Service Order API, specifying the necessary details such as service specification, configurations, and any specific requirements.</p> <p>The request is then validated and verified for completeness and eligibility by an administrator which marks the Service Order as ACKNOWLEDGED otherwise it rejects it. </p> <p>Once ACKNOWLEDGED, the service order is processed by OpenSlice orchestration system (OSOM), which schedules/automates the provisioning of the required resources and configurations, coordinating across various components such as MANO controlers for virtual network functions (VNFs), or Containerized controllers or any 3rd party controllers or services or even physical infrastructure. The OpenSlice orchestration system ensures that all dependencies are managed and that the service is correctly configured.</p> <p>After provisioning, the service is activated and handed over to the customer, . This end-to-end process ensures a seamless, efficient, and automated delivery of services, enhancing customer satisfaction and operational efficiency.</p> <p>Ongoing monitoring and other actions can be performed by the Life Cycle management rules</p> <p>Future developments: In future releases it might be possible the ongoing monitoring and support provided to ensure continuous performance and reliability. The service could undergoe a series of tests to ensure it meets the specified performance metrics and SLAs before delivering</p>"},{"location":"naas/service_ordering/#ui-management","title":"UI management","text":"<p>Through the menu and dedicated forms the administrator can manage the Service Orders. Various examples in this document will guide you to the usage and the management of the Service Orders.</p>"},{"location":"naas/service_ordering/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-641-ServiceOrdering-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceOrdering/v4/serviceOrder List or find ServiceOrder objects</p>"},{"location":"naas/service_ordering/#probe-further","title":"Probe further","text":"<ul> <li>See Ordering Services from catalogs</li> <li>See Service Design</li> </ul>"},{"location":"naas/service_spec/","title":"OpenSlice Service Specification","text":"<p>OpenSlice offers complete management of Service Specifications.</p>"},{"location":"naas/service_spec/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Service Specification is an entity that describes a service offering. There are two types of Service Specifications:</p> <ul> <li>Resource Facing Service Specification</li> <li>Customer Facing Service Specification</li> </ul>"},{"location":"naas/service_spec/#resource-facing-service-specification","title":"Resource Facing Service Specification","text":"<p>Is a Service that It exposes a resource Specification as a Service. (For example expose a Network Service Descriptor as a Service)</p>"},{"location":"naas/service_spec/#customer-facing-service-specification","title":"Customer Facing Service Specification","text":"<p>Customer Facing Service Specifications - or also CFSSpec (organized in Service Categories) are exposed to users for Service Orders. Usually it exposes other CFSSpec(as a Service Bundle) or other RFSSpecs</p>"},{"location":"naas/service_spec/#definition","title":"Definition","text":"<p>Usually a Service Specification has the following aspects:</p> <ul> <li>Name, Description, Version</li> <li>Marked as a Service Bundle: Combines multiple services into a single offering to provide added value to customers.</li> <li>if is is a Bundle then you must add Related Service Specifications</li> <li>If it is a Resource Facing Service Specification has multiple related Resource Facing Service Specifications</li> <li>Characteristics: a list of service characteristics and their type (TEXT, INTEGER, etc)</li> <li>Also they can be exposed as \"Configurable\" so to allow to end-users during the Service Order to select or type values</li> <li>A logo, displayed if needed in the Service Marketplace</li> <li>Any attachments that further help the user</li> <li>Life Cycle Rules that determine the behavior of the Service and instrument the Service Orchestrator. More on Life Cycle Rules here</li> </ul> <p>Service Designers can create a Service Specification from scratch or use some templates:</p> <pre><code>* Create a Service based from a Network Service Descriptor (NSD)\n* Create a Service based on a Kubernetes Operator\n* Create a Service based on the GSMA GST - Generic Slice Template\n</code></pre>"},{"location":"naas/service_spec/#ui-management","title":"UI management","text":"<p>In the UI this looks like the following.</p> <p>Through the menu and dedicated forms the administrator can manage the Service Specifications. Various examples in this document will guide you to the usage and the design of the services.</p>"},{"location":"naas/service_spec/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceCatalogManagement/v4/serviceSpecification List or find ServiceSpecification objects</p>"},{"location":"naas/service_spec/#example-use-case","title":"Example Use Case","text":"<p>Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers.</p> <ul> <li>Service Definition: Create a service specification template for the XXXX service, including specifications for bandwidth, network features, and performance metrics.</li> </ul>"},{"location":"naas/service_spec/#probe-further","title":"Probe further","text":"<ul> <li>Read the model of Service Catalogs in TMF TMF633 Service Catalog API User Guide v4.0.0</li> <li>Check a demo of the API here</li> <li>Check a demo of the Service Specifications in Catalog and Categories here (You need to login - see main guide page)</li> <li>Check the GSMA GST</li> </ul>"},{"location":"naas/so_intro/","title":"Service Orchestration","text":"<ul> <li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with underlying controller components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li> </ul>"},{"location":"naas/so_intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>OpenSlice end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, Network as a Service (NaaS) OpenSlice automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers.</p> <p>This section provides an overview of the Service Orchestration process</p>"},{"location":"naas/nfv/nfvservices/","title":"NFV Services","text":"<p>NFV Services are managed through a dedicate UI the NFV portal (eg http://portal.openslice.io/nfvportal)</p> <p>Users are able through this portal to manage their NFV artifacts towards the NFVO, ( for example onboard VNFs and NSDs to a target OSM)</p> <p>Openslice NFV Services target to accommodate the following envisaged user roles. All users are assumed to be Authenticated:</p> <ul> <li>NFV developer: This role is responsible to upload VNF and NSD Descriptors in the Openslice services towards NFVO like OSM</li> <li>Services administrator: This role represents the user that are responsible for maintenance of the Openslice services</li> </ul> <p>(obsolete: )</p> <ul> <li>Testbed provider: This role represents users that are responsible for testbed administration, configuration, integration, adaptation, support, etc</li> <li>Experimenter: This role represents the user that will utilize our services and tools to deploy an experiment. That is the experiment description in terms of e.g.: NSD (Network Service Descriptor) or TOSCA Specification (in future versions)</li> </ul> <p>Finally an anonymous user role exists who has some really simple usage scenarios (e.g. signup through the portal)</p> <p>During the onboarding process the following occurs:</p> <p>\u2022 A NFV developer submits a NFV archive (VNF or NSD) (he can later manage if needed some metadata) \u2022 The administrator can manage the NFV artifact (e.g. edit it) \u2022 The administrator On-Boards the NFV artifact to the target MANO \u2022 The administrator can optionally mark the NFV: o As public in order to be publicly visible by all portal users o As Certified which means this is certified by a certain entity</p>"},{"location":"naas/nfv/nfvservices/#request-a-new-nsd-deployment-this-is-different-in-comparison-to-services","title":"Request a new NSD deployment (this is different in comparison to Services)","text":"<p>A developer requests a new network service deployment (which NSD, tentative dates, target infrastructure, etc.). The request is marked as UNDER_REVIEW</p> <ul> <li>The administrator is notified about the new request and he has the following options:</li> <li>Schedule the deployment for the requested dates or propose other dates. The request is marked as SCHEDULED</li> <li>Reject the request for some reason. The Request is marked as REJECTED</li> <li>Deploy the request to target VIM(s). The Request is marked as RUNNING</li> <li>Finalize the deployment and release resources. The Request is marked as COMPLETED</li> <li>every change of the request-lifecycle the experimenter is notified.</li> </ul>"},{"location":"service_design/intro/","title":"Service Design in OpenSlice","text":"<p>This section offers details on how to design Service Specifications and expose them in Service Catalogs</p>"},{"location":"service_design/intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Service Designers create detailed service specifications, which are then managed and exposed in service catalogs. These services are integrated into OpenSlice E2E service orchestration framework to automate and optimize the delivery of network services.</p> <p>OpenSlice can be used to design service specifications for various services, even not networking related services. Here we cover how service designers can expose services related to the NFV world and the containerized world.</p>"},{"location":"service_design/intro/#probe-further","title":"Probe further","text":"<ul> <li>Design and expose services based on containerized resources via the Kubernetes Operator pattern</li> <li>Design and expose services based on NFV artifacts</li> </ul>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/","title":"Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice","text":""},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>To illustrate the powerful concept of Kubernetes operators and how they can be utilized to offer a service through OpenSlice, let's provide an example of a \"Calculator as a Service.\" </p> <p>This example will demonstrate the flexibility and capabilities of Kubernetes operators in managing custom resources and automating operational tasks.</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#offering-calculator-as-a-service-through-openslice","title":"Offering \"Calculator as a Service\" through OpenSlice","text":"<ul> <li>We have a service that can accept two integers and an action (SUM, SUB, etc) and returns a result</li> <li>We would like to offer it as a Service through OpenSlice</li> <li>So when a user orders it with some initial parameters, OpenSlice will create it and return the result</li> <li>Also while the service is active, we can do further calculations, until we destroy it.</li> </ul> <p>Assume the following simple CRD of a calculator model accepting two params (spec section) and an action and returning a result (status section)</p> <p>The controller (the calculator code) is implemented in any language and is installed in a Kubernetes cluster</p> <pre><code>\napiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n name: mycalculators.examples.osl.etsi.org\nspec:\n group: examples.osl.etsi.org\n names:\n kind: MyCalculator\n plural: mycalculators\n singular: mycalculator\n scope: Namespaced\n versions:\n - name: v1alpha1\n schema:\n openAPIV3Schema:\n properties:\n spec:\n properties:\n parama:\n type: integer\n paramb:\n type: integer\n action:\n type: string\n type: object\n status:\n properties:\n result:\n type: integer\n status:\n type: string\n type: object\n type: object\n served: true\n storage: true\n subresources:\n status: {}\n</code></pre> <p>Request to the cluster (through e.g. kubectl apply)</p> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n name: mycalculator.examples.osl.etsi.org\nspec:\n parama: 170\n paramb: 180\n action: 'SUM'\n\n</code></pre> <p>Response</p> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n\u00a0 creationTimestamp: '2023-12-05T12:26:07Z\u2019\n\n<snip>\n\nstatus:\n\u00a0 result: 350\n\u00a0 status: CALCULATED\nspec:\n\u00a0 action: SUM\n\u00a0 parama: 170\n\u00a0 paramb: 180\n\n</code></pre> <p>To perform this through OpenSlice as a Service Specification ready to be ordered we need to do the following:</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#crd-is-saved-automatically-as-resource-specification","title":"CRD is saved automatically as Resource Specification","text":"<p>As soon as the CRD is deployed in the cluster (e.g. by your admin via kubctl or via any installation through the internet) it is automatically transformed and is available in OpenSlice catalogs as a Resource Specification.</p> <ul> <li>See also the fully qualified name of the resource specification. <ul> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@docker-desktop@https://kubernetes.docker.internal:6443/</li> <li>The resource specification name is quite unique, so you can install the CRD in many clusters around the internet. Each CRD on each cluster will appear here, for example:<ul> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@default_cluster@https://10.10.10.8:6443/</li> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@edge1_cluster@https://172.16.10.10:6443/</li> </ul> </li> <li>Having this OpenSlice can manage resources in multiple clusters</li> </ul> </li> </ul> <p></p> <p>See also the detailed characteristics. See how OpenSlice makes all characteristics automatically flat and expanded with key-value style</p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#expose-to-users","title":"Expose to Users","text":""},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#start-by-creating-a-resourcefacingservicespecification","title":"Start by Creating a ResourceFacingServiceSpecification","text":"<p>From the UI menu create a new Service Specification</p> <p></p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#creation-of-crd-related-characteristics","title":"Creation of CRD-related characteristics","text":"<ul> <li>We need now to adjust some characteristics of this CRD as Resource Specification.</li> <li>OpenSlice transalted automatically the CRD spec in a flat list of characteristics.So the \"spec\" section from the original yaml for example, is now unfold into: spec, spec.parama, spec.paramb, etc. the same for \"status\" object</li> <li> <p>We need to make OpenSlice aware of when the service will be active. </p> <ul> <li>So we go to characteristic _CR_CHECK_FIELD and we define that the field that shows the status of the service is the characteristic \"status.status\" (is a text field) </li> <li>Then we go to _CR_CHECKVAL_AVAILABLE and we define the value CALCULATED, which signals the following: When the characteristic \"status.status\" has the value \"CALCULATED\" then OpenSlice will mark the underlying service as \"ACTIVE\"</li> <li>We need also to define the yaml file that OpenSLice will use to create the new resource in the kubernetes cluster</li> <li>We insert the YAML in the characteristic _CR_SPEC</li> </ul> <p>the _CR_SPEC is: </p> </li> </ul> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n name: mycalculator.examples.osl.etsi.org\nspec:\n parama: 170\n paramb: 180\n action: 'SUM'\n\n</code></pre> <p></p> <p>However the values are fixed. How do we allow a user to pass parameters through OpenSlice</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#expose-in-catalog","title":"Expose in Catalog","text":"<p>Create a new CustomerFacingServiceSpecification</p> <pre><code>- Go to the menu Service Specification>New Service Specification\n- Create a service My Calulator and mark it as a Bundle\n- Go to Service Specification Relationships and add MyCalculatorRFS\n- The service will be automatically transformed to a \"CustomerFacingServiceSpecification\"\n- Add the following characteristics as the image shows:\n</code></pre> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#allow-users-to-pass-new-values-through-openslice","title":"Allow users to pass new values through OpenSlice","text":"<p>We need to Create LCM rules in CustomerFacingServiceSpecification:</p> <pre><code>- The goal of the rules is to allow the user to pass parameters to the actual resource towards the cluster.\n- we will create one rule that will pass the parameters just before creating the service (PRE_PROVISION phase)\n- we will create one rule that will pass the parameters while the service is active (SUPERVISION phase)\n- The rules will be the same\n</code></pre> <p></p> <p>If we see one rule it will look like the following:</p> <p></p> <ul> <li>We need to change the _CR_SPEC characteristic of the referenced ResourceFacingServiceSpecification</li> <li>First bring a block from Service>Relationships>Service Refs and drop the \"Service MyCalculatorRFS\" block</li> <li>Then add a list block from Lists</li> <li>Then add the block that modifies a referenced characteristic from Service>Relationships>Service Refs the block \"Set value to characteristic of a Referenced Service\"</li> <li>Add a block for text _CR_SPEC </li> <li>We use a block that changes a String according to variables Text>\"A formatted text replacing variables from List\"</li> <li>See that we have as Input string the YAML string lines<ul> <li>see that parama, paramb has a %d (they accept integers), action is %s (accepts a string)</li> <li>See that the variables tha will replace the %d, %d and %s are an list<ul> <li>the first %d will be replaced with the value from characteristic spec.parama</li> <li>the second %d will be replaced with the value from characteristic spec.paramb</li> <li>the %s will be replaced with the value from characteristic spec.action</li> </ul> </li> </ul> </li> </ul> <p>If we see the SUPERVISION rule it will look like the following:</p> <ul> <li>It contains also the Result field, which takes the value from the referenced service</li> <li>Add a block for the Result field from Service>Number blocks</li> <li>Add a str to int block from Number blocks</li> <li>Add Service>Relationships>Service Refs and drop the input block [Service MyCalculatorRFS] \"Get Service details from current context running service\" and select from the drop down the \"serviceCharacteristicValue\"</li> <li>Add as name the \"status.result\" </li> </ul> <p></p> <p></p> <p>Expose it then to a catalogue for orders through the Service Categories and Service Catalogs</p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#order-the-service","title":"Order the Service","text":"<p>When a user orders the service, it will look like this:</p> <p></p> <ul> <li>After the Service Order we have 2 services in service inventory on CFS and on RFS. Both have references to values</li> <li>OpenSlice (via CRIDGE service) updates the Resource in Resource Inventory and OSOM updates the Services in Service Inventory</li> <li>The Actual resources are running in the Kubernetes cluster managed by OpenSlice</li> <li>The result is in the characteristic status.result of the running service</li> </ul> <p></p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#modify-the-running-service","title":"Modify the running service","text":"<p>The user can modify the service</p> <p></p> <ul> <li>After a while the update is applied to the cluster, the controller will pick up the resource update and patch the resource</li> <li>OpenSlice (via CRIDGE service) updates the Resource in Resource Inventory and OSOM updates the Services in Service Inventory</li> <li>The result will be available to the respective characteristic \"Result\" after a few seconds, as need to go through various steps (OpenSlice orchestrator, down to kubernetes, to Calculator controller and back)</li> </ul> <p></p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/","title":"Expose and manage Kubernetes Custom Resource Definitions (Operators) in a Kubernetes Cluster","text":"<p>OpenSlice is capable of exposing Kubernetes Resources and Definitions as Service Specifications</p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.</p> <p>By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OSL can be used in many complex scenarios now involing resources from multiple domains.</p> <ol> <li> <p>OpenSlice is capable to:</p> <ul> <li>Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.</li> <li>Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.</li> <li>Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs</li> <li>Wraps the Kubernetes API, Receives and provides resources towards other OpenSlice services via the service bus</li> </ul> </li> <li> <p>Enabling Loose Coupling and Orchestration</p> <ul> <li>Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.</li> <li>Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.</li> </ul> </li> <li> <p>Ecosystem Reusability</p> <ul> <li>OpenSlice capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).</li> <li>Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.</li> </ul> </li> <li> <p>Service Catalog Exposure and Deployment</p> <ul> <li>OpenSlice can expose CRs in service catalogs, facilitating their deployment in complex scenarios.</li> <li>These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.</li> </ul> </li> </ol>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#approach","title":"Approach","text":"<p>OpenSlice in general is responible for exposing service specifications which are ready to be ordered and orchestrated, through tmforum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.</p> <p>The following image illustrates the approach.</p> <p></p> <ol> <li>A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog</li> <li>Service Orders can be created for this service specification. </li> <li>OSOM creates a Resource in OSL Resource inventory and requests new Custom Resource (CR) in the target cluster<ul> <li>The resource is created in a specific namespace (for example the UUID of the Service Order)</li> <li>A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory</li> <li>Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order</li> </ul> </li> </ol>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#awareness-for-crds-and-crs-in-cluster","title":"Awareness for CRDs and CRs in cluster","text":"<p>CRDs and CRs can appear (disappear) or change status at any time in a cluster. OpenSlice Resource Inventory need to be aware of these events.</p> <p>When installing OpenSlice you can configure at least one management cluster. OpenSlice connects via a provided kubeconf</p> <ul> <li>On Start up OSL tries to register this cluster and context to OSL catalogs.</li> <li>After the registration of this cluster as a Resource in OSL OSL is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL</li> <li>Resources created by OpenSlice have labels, e.g. (org.etsi.osl.*)</li> </ul>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#expose-crds-as-service-specifications-in-openslice-catalogs","title":"Expose CRDs as Service Specifications in OpenSlice catalogs","text":"<p>A CRD by default is exposed as a Resource Specification</p> <p>To ensure unique names across the clusters that OpenSlice can manage, the name of a CRD is constructed as follows:</p> <p><code>Kind @ ApiGroup/version @ ContextCluster @ masterURL</code></p> <p>For example you might see resource Specifications like:</p> <pre><code>- ```Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/```\n- ```IPAddressPool@metallb.io/v1beta1@kubernetes@https://10.10.10.144:6443/```\n- ```Provider@pkg.crossplane.io/v1@kubernetes@https://10.10.10.144:6443/```\n</code></pre> <p>All attributes of the CRD are translated into characteristics</p> <p>The following specific characteristics are added:</p> <pre><code> - _CR_SPEC: Used for providing the json Custom Resource description to apply\n - _CR_CHECK_FIELD: Used for providing the field that need to be checked for the resource status\n - _CR_CHECKVAL_STANDBY: Used for providing the equivalent value from resource to signal the standby status\n - _CR_CHECKVAL_ALARM: Used for providing the equivalent value from resource to signal the alarm status\n - _CR_CHECKVAL_AVAILABLE: Used for providing the equivalent value from resource to signal the available status\n - _CR_CHECKVAL_RESERVED: Used for providing the equivalent value from resource to signal the reserved status\n - _CR_CHECKVAL_UNKNOWN: Used for providing the equivalent value from resource to signal the unknown status\n - _CR_CHECKVAL_SUSPENDED: Used for providing the equivalent value from resource to signal the suspended status\n</code></pre> <ol> <li> <p>Create a new Service Specification and use this Resource Specification in Resource Specification Relationships</p> <ul> <li>Then the Service Specification is saved as ResourceFacingServiceSpecification</li> </ul> <p>1.1. You can give at this stage values to the characteristics:</p> <pre><code>- _CR_SPEC, \n- _CR_CHECK_FIELD\n- _CR_CHECKVAL_STANDBY\n- _CR_CHECKVAL_ALARM\n- _CR_CHECKVAL_AVAILABLE\n- _CR_CHECKVAL_RESERVED\n- _CR_CHECKVAL_UNKNOWN\n- _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>1.2. You can now create LCM rules if you wish</p> </li> <li> <p>Create a new Service Specification and use the Resource Facing Service Specification in Service Specification Relationships</p> <ul> <li>Then the Service Specification is saved as CustomerFacingServiceSpecification</li> </ul> <p>2.1. You can give at this stage values to the characteristics: </p> <pre><code>- _CR_SPEC, \n- _CR_CHECK_FIELD\n- _CR_CHECKVAL_STANDBY\n- _CR_CHECKVAL_ALARM\n- _CR_CHECKVAL_AVAILABLE\n- _CR_CHECKVAL_RESERVED\n- _CR_CHECKVAL_UNKNOWN\n- _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>2.2. You We can create LCM rules for this new Service Specification</p> <p>2.3. You Expose configurable values for users to configure during service order</p> </li> </ol> <p></p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#service-orchestration-and-crdscrs","title":"Service Orchestration and CRDs/CRs","text":"<p>OSOM - OpenSlice Service Orchestrator, checks the presence of attribute _CR_SPEC at the RFS to make a request for a CR deployment</p> <ul> <li>_CR_SPEC is a JSON or YAML string that is used for the request<ul> <li>It is similar to what one will do with e.g. a kubectl apply</li> <li>There are tools to translate a yaml file to a json</li> </ul> </li> </ul> <p>LCM rules can be used to change attributes of this yaml/json file, before sending this for orchestration</p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#mapping-the-cr-lifecycle-that-is-defined-in-the-crd-with-the-openslice-tmf-based-resource-lifecycle","title":"Mapping the CR lifecycle that is defined in the CRD with the OpenSLice (TMF-based) resource Lifecycle","text":"<p>OpenSlice adds automatically as we see the following characteristics: </p> <pre><code> - _CR_CHECK_FIELD\n - _CR_CHECKVAL_STANDBY\n - _CR_CHECKVAL_ALARM\n - _CR_CHECKVAL_AVAILABLE\n - _CR_CHECKVAL_RESERVED\n - _CR_CHECKVAL_UNKNOWN\n - _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>These characteristics instrument OpenSlice services to manage and reflect the lifecycle of a kubernetes resource to OpenSlice's (TMF based) lifecycle</p> <ul> <li>_CR_CHECK_FIELD: The name of the field that is needed to be monitored in order to monitor the status of the service and translate it to TMF resource statys (RESERVED AVAILABLE, etc) </li> <li>_CR_CHECKVAL_STANDBY: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state STANDBY (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_ALARM: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state ALARMS (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_AVAILABLE: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state AVAILABLE (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_RESERVED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state RESERVED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_UNKNOWN: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state UNKNOWN (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_SUSPENDED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state SUSPENDED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> </ul>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#probe-further","title":"Probe further","text":"<ul> <li>See examples of exposing operators via OpenSlice:<ul> <li>Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice</li> </ul> </li> <li>Learn more about CRIDGE, the service in OSL that manages CRDs/CRs</li> </ul>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/","title":"Example: Offer Jenkins as a Service via Openslice","text":"<p>Before reading this example please make sure that you went through the Design Helm as a Service </p> <p>We will use the <code>Kind: Application</code> of ArgoCD and create a ResourceFacingServiceSpecification for Jenkins</p> <pre><code>1. Go to Service Specifications\n2. Create New Specification\n3. Give a Name, eg. jenkinsrfs\n4. Go to Resource Specification Relationships\n5. Assign ```Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/```\n</code></pre> <p></p> <p>Focus now on the characteristics configuration.</p> <p>First we need to map the lifecycle of ArgoCD Application to TMF Resource State</p> <p></p> <p>In ArgoCD the field health.status has the value that we need to check (Healty, Progressing, etc)</p> <p>The _CR_SPEC can be designed first in a YAML or json editor. Let's see a YAML definition:</p> <p>```</p> <p>apiVersion: argoproj.io/v1alpha1 kind: Application metadata: finalizers: - resources-finalizer.argocd.argoproj.io name: openslice-jenkins namespace: argocd spec: project: default destination: namespace: opencrdtest name: in-cluster source: repoURL: https://charts.jenkins.io targetRevision: 4.6.1 chart: jenkins helm: values: | controller: service: type: ClusterIP syncPolicy: automated: prune: true selfHeal: true allowEmpty: false syncOptions: - Validate=false - CreateNamespace=true - PrunePropagationPolicy=foreground - PruneLast=true - RespectIgnoreDifferences=true ```</p> <p>NOTICE</p> <p>On each installation OSOM will change the name of the resource in order to be unique (will have a UUID)</p> <p><code>name: openslice-jenkins</code> </p> <p>destination namespace that ArgoCD will use is the name <code>opencrdtest</code></p> <p><code>destination: namespace: opencrdtest</code></p> <p>This implies that ArgoCD installs the Jenkins always in the same namespace</p> <p>To avoid this we will create a simple pre-provision rule to change the namespace properly</p> <p>See the following image: </p> <p></p> <ol> <li>Drag-Drop the _CR_SPEC characteristic of jenkinsrfs from the Service>Text blocks</li> <li>Drag-Drop Text>Formatted text block</li> <li>Drag-Drop Text>Multi-line text input block</li> <li>Copy paste the YAML text</li> <li>Change the spec: destination:namespace to the value %s</li> <li>Drag-Drop Lists>Create list with block delete 2 items (click the gear icon). Connect it to formatted text block</li> <li>Drag-Drop Context>Current Service Order block and select the id. Connect it to the List</li> <li>Save the PRE_PROVISION Rule</li> </ol>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#expose-the-service-to-your-users","title":"Expose the service to your users","text":"<p>Expose then as CustomerFacingServiceSpecification by using the previous RFSS as Service Specification Relationship 1. Create a Jenkins service and mark as Bundle and save it 2. Go to Service Specification Relationships and assign Jenkinsrfs 3. Add also a Logo if you wish</p> <p></p> <p></p> <p>Expose it now to a Category and a Catalog to be available for ordering.</p> <p></p>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#order-the-service","title":"Order the service","text":"<p>Order the service from the catalog. </p> <p>Soon the order will be completed and the Services will be active</p> <p></p>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#how-to-access-the-jenkins-installation","title":"How to access the Jenkins installation:","text":"<p>From the Supporting services of the Service Order, select the ResourceFacingService (jenkinsrfs)</p> <p>The ResourceFacingService has also supporting resources in resource inventory.</p> <p></p> <p>One is the resource reference to the application (e.g. cr_tmpname...), the other is a secret (e.g. cr87893...). </p> <p>Click to go to the secret resource (This is in the Resource inventory of OpenSlice)</p> <p></p> <p>Use them to login in your Jenkins.</p> <p>Exposing Jenkins to you external is a matter of cluster configuration and request (nodeport, load balancing, etc)! This is not a topic for this example</p>"},{"location":"service_design/kubernetes/helm/design_helmaas/","title":"Expose HELM charts as Service Specifications","text":"<p>Manage Helm charts installations via OpenSlice Service Specifications and Service Orders.</p>"},{"location":"service_design/kubernetes/helm/design_helmaas/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. </p> <p>Helm is a tool that automates the creation, packaging, configuration, and deployment of Kubernetes applications by combining your configuration files into a single reusable package</p> <p>At the heart of Helm is the packaging format called charts. Each chart comprises one or more Kubernetes manifests -- and a given chart can have child charts and dependent charts, as well. Using Helm charts:</p> <pre><code> - Reduces the complexity of deploying Microservices\n - Enhances deployment speed\n - Developers already know the technology\n</code></pre> <p>There are many Helm charts and Helm repositories there that are ready to be used</p> <p>Enable loose coupling and more orchestration scenarios</p> <p>Developers create and deploy applications in things they already know (e.g. Helm charts)</p> <p>Use the TMF models as wrapper entities around Helm charts</p> <p>Use OpenSlice to expose them in service catalogs and deploy them in complex scenarios (service bundles) involving also other systems:</p> <pre><code>- Include e.g. RAN controllers, \n- Pass values through life cycle rules from one service to another, \n- Manage multiple Helms in multiple clusters\n</code></pre>"},{"location":"service_design/kubernetes/helm/design_helmaas/#the-installation-of-helm-charts-is-based-on-openslice-crd-support","title":"The installation of HELM charts is based on OpenSlice CRD support","text":"<p>Please read more here</p> <p>For installing HELM charts we will use ArgoCD a well known Kubernetes-native continuous deployment (CD) tool </p> <p>ArgoCD is a Kubernetes-native continuous deployment (CD) tool</p> <p>While just deploying Heml charts is just a scenario for ArgoCD , in future one can exploit it for many things</p> <p>Despite some other tools like FluxCD, it provides also a UI which is useful for management and troubleshooting</p> <p>We will mainly use the CRD of <code>Kind: Application</code> that ArgoCD can manage</p> <p>Before proceeding, install ArgoCD in your management cluster, by following ArgoCD instructions</p> <p>As soon as you install ArgoCD, OpenSlice is automatically aware for specific new Kinds. The one we will use is is the <code>Kind: Application</code> that ArgoCD can manage under the apiGroup argoproj.io</p> <p>Browse to Resource Specifications. You will see an entry like the following:</p> <p><code>Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/</code></p> <p>see image: </p> <p></p>"},{"location":"service_design/kubernetes/helm/design_helmaas/#whats-next","title":"What's next","text":"<p>See the Example: Offer Jenkins as a Service via Openslice </p>"},{"location":"service_ordering/ordering_services/","title":"Service Ordering","text":""},{"location":"service_ordering/ordering_services/#intended-audience-users","title":"Intended Audience: Users","text":""}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Introduction","text":"<p>version: 2024Q2 - SNAPSHOT</p> <p>The ETSI Software Development Group for OpenSlice (SDG OSL) is developing an open-source service-based Operations Support System (OSS) to deliver Network as a Service (NaaS) following specifications from major SDOs including ETSI, TM Forum and GSMA.</p>"},{"location":"#usage","title":"Usage","text":"<p>OpenSlice can be used in managing 5G network services from the user device to the core network and cloud as well as for Orchestrating cloud resources across private and public clouds for enterprise applications. OpenSlice is capable of supporting most of the features of an end-to-end (E2E) service orchestration framework while many of them will be more mature in future releases. The following figure displays the general usage of OpenSlice. </p> <p></p> <p>The image illustrates how OpenSlice supports the idea of an E2E network service orchestration framework by integrating multiple network components and layers, from user devices at the edge to radio, transport networks, core and public cloud services, ensuring seamless, secure, and efficient delivery of network services. Assuming that there are domain controllers for all the above domains OpenSlice can create the end-to-end service via the domain controllers by following the process of creating and deploying the end-to-end service by implementing transformations, and consuming APIs from various network entities. OpenSlice, in a nutchell, offers user interfaces where users can interact with the framework to order, expose, and manage service catalogs, services and resources that can be ordered, following business logic and policies and exposed through the APIs. </p>"},{"location":"#an-end-to-end-e2e-service-orchestration-framework","title":"An end-to-end (E2E) service orchestration framework","text":"<p>An end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, especially, Network as a Service (NaaS) a comprehensive system is needed that automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers. Such E2E frameworks enable users to consume network services on-demand, similar to how cloud computing services are consumed. Some key components and features of such frameworks are:</p> <ul> <li>Service Catalogs including predefined Network Services based on service templates for common network services like 5G core functions, 5G slices, VPNs, SD-WAN, firewalls, load balancers, etc. as well as custom Network services with Options for users to define their own network configurations.</li> <li>User Interface (UI) and APIs exposure, offering both a Self-Service Portal that allows users to request, configure, and manage network services as well as APIs for enabling programmatic access to network services for integration with other systems and automation scripts.</li> <li>Service Design and Creation tharough service templates based on predefined models for creating services.</li> <li>Automation and Workflow Management via Orchestration Engines, supporting Process Automation for automating repetitive tasks and processes, workflow management and orchestration for automating the provisioning, configuration, and management of network services while coordinating multiple workflows to ensure services are delivered efficiently, ensuring that services comply with predefined policies and standards.</li> <li>Standardized API exposure for seamless integration with different systems and services and APIs transformation support for converting data formats and protocols to ensure compatibility and information exhange between systems during workflows orchestration</li> <li>Service and Resource management and Orchestration while including the capability of multi-domain coordination in managing services/resources across different domains like cloud, 5G core, radios, transport network, and edge including dynamic allocation with adjusting resources based on demand and service requirements. To accomplish the above advanced technologies need to be exploited like, Containerized workloads, Network Function Virtualization (NFV) which uses virtualized network functions to provide services like routing, switching, and security and Software-Defined Networking (SDN) which Controls the network programmatically to dynamically manage traffic and resources.</li> <li>Monitoring and Analytics including Service Monitoring while continuously tracking the performance and health of services with capabilities to analyse data to optimize service delivery and predict issues. Real-Time Monitoring is also needed for tracking the performance and health of network services enabling analytics that provide insights for optimization and troubleshooting.</li> <li>Security and Access Control for ensuring only authorized users and systems can access network services. while implementing rules and policies to comply with regulatory requirements.</li> </ul>"},{"location":"#an-e2e-service-orchestration-workflow","title":"An E2E service orchestration workflow","text":"<p>In general an E2E service orchestration workflow includes the following phases:</p> <ul> <li>Service Request: Users or systems request a network service through the self-service portal or API. The request can specify details such as bandwidth, security features, geographic coverage, and duration.</li> <li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with the underlying components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li> <li>Provisioning and Configuration: Services, network resources and network functions (VNFs) are instantiated and configured according to the service request during Service Orchestration through the orchestration engine. Other controllers manage their own domains, for example SDN controllers, manage the flow of data through the network to ensure optimal performance and adherence to policies, RAN controllers manage the RAN resoruces, Containerized controllers manage their workload, etc</li> <li>Service Delivery: The E2E network service is activated and made available to the user. Continuous monitoring ensures the service operates as expected, with automatic adjustments made as necessary.</li> <li>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</li> <li>At the end of the service period, resources are decommissioned and reclaimed.</li> </ul>"},{"location":"#openslice-for-service-providers","title":"OpenSlice for Service Providers","text":"<p>OpenSlice is used by Service Providers to design Network Services, expose them in Service Catalogues and make them available for Service Orders. OpenSlice then can perform the E2E service orchestration workflow.</p> <p>There are various portals offering UI friendly access to users acting as Service Providers:</p> <ul> <li>The Services portal allows Service Providers to design and expose services.</li> <li>The Resource portal allows users to access resource specifications and running resources in resource inventory.</li> <li>The NFV portal allows users to manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li> <li>The Testing portal allows Service Providers to manage test artifacts</li> <li>The Products portal allows Service Providers to expose services as products</li> </ul>"},{"location":"#openslice-for-service-consumers","title":"OpenSlice for Service Consumers","text":"<p>OpenSlice allows Service Consumers to browse the available offered service specifications in a self-service manner. It also supports TMFORUM Northbound APIs regarding Service Catalog Management, Ordering, Resource, etc. There are various portals offering UI friendly access to users acting as Service Consumers:</p> <ul> <li>The Services portal allows Service Consumers to select and order predefined services.</li> <li>The Resource portal allows users to access running resources in resource inventory.</li> <li>The NFV portal allows users to self-manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li> <li>The Testing portal allows Service Consumers to manage test artifacts</li> <li>The Products portal allows Service Consumers to expose services as products</li> </ul> <p>3rd party applications can use OpenSlice through TMForum Open APIs.</p>"},{"location":"#live-demo","title":"Live Demo","text":"<p>Check a live demo of OpenSlice in the following pages:</p> <p>(username=admin, password=openslice or username=admin, password=changeme)</p> <ul> <li>OpenSlice demo: http://portal.openslice.io/</li> <li>OpenSlice Service Catalogs and ordering: http://portal.openslice.io/services/</li> <li>OpenSlice NFV Services onboarding: http://portal.openslice.io/nfvportal </li> </ul>"},{"location":"#probe-further","title":"Probe further","text":"<ul> <li>Installing OpenSlice. See the Deployment of OpenSlice</li> <li>Learn more on [how OpenSlice supports Network as a Service(NaaS)](./naas/introduction</li> <li>Who is implementing OpenSlice? See OSL ETSI SDG</li> <li>How OpenSlice works? See the Architecture of OpenSlice</li> </ul>"},{"location":"OpenSlice_deployment_examples/","title":"OpenSlice deployment examples","text":"<p>Here are some examples from past and current efforts that use OpenSlice in various cases.</p>"},{"location":"OpenSlice_deployment_examples/#5ginfire-eu-project2018","title":"5GinFIRE EU project(2018)","text":"<ul> <li>MultiVIM approach</li> <li>9 Testbeds</li> <li>Automotive, Smart City, eHeath, \u000bPPDR, Media, SDR, Cloud</li> <li>22 Experiment proposals from Verticals</li> <li>100+ Users</li> <li>VxF catalog: </li> <li>150+ ONBOARDED VxFs</li> <li>OSM TWO, FOUR, FIVE</li> <li>50+ are public to be reused</li> <li>NSD catalog: </li> <li>90+ ONBOARDED NSDs</li> <li>30+ are public to be reused</li> <li>500+ Deployment requests \u000b(orchestrations) performed</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#5g-vinni-eu-project-2020","title":"5G-VINNI EU project (2020)","text":"<ul> <li>Multi-vendor challenge \u2013 Commercial and opensource</li> <li>5G services on multiple sites</li> <li>Introduction of TMFORUM models and APIs </li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#5gasp-eu-project-2021-2024","title":"5GASP EU project (2021-2024)","text":"<ul> <li>Support a multi-site CI/CD testing automated DevOps cycle for network Applications</li> <li>Multiple NFVOs</li> <li>Introducing Service Test models</li> <li>Introducing the Product models for a network application marketplace</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#fidal-eu-project-2023-","title":"FIDAL EU project (2023-)","text":"<ul> <li>Support multi-site automated testing</li> <li>Multiple testbeds/ different APIs</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#across-eu-project-2023-","title":"ACROSS EU project (2023-)","text":"<ul> <li>Used as a cross-domain orchestrator</li> <li>Support the multi-domain orchestrator</li> <li>Support Zero-touch provisioning concepts</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#incode-eu-project-2023-","title":"INCODE EU project (2023-)","text":"<ul> <li>Support the provisioning of end-to-end domain services</li> </ul> <p>[</p>"},{"location":"OpenSlice_deployment_examples/#imagineb5g-eu-project-2023-","title":"IMAGINEB5G EU project (2023-)","text":"<ul> <li>Support the provisioning of end-to-end domain services</li> </ul>"},{"location":"OpenSlice_deployment_examples/#etsi-zsm-poc-2","title":"ETSI ZSM PoC #2","text":"<ul> <li>Automated Network Slice Scaling in Multi-Site Environments</li> </ul> <p>[</p>"},{"location":"alarms_actions/","title":"Alarms","text":"<p>In Openslice parts of TMF642 Alarm Management API are currently implemented. Alarms can be managed through the TMF API endpoint as well as the UI.</p>"},{"location":"alarms_actions/#alarms-and-actions","title":"Alarms and Actions","text":"<p>Note: Actions is an experimental feature. We expect to have a more mature solution in future. The component in the architecture is the Openslcie Assurance Services</p> <p>Alarms can be automatically resolved by specific actions. Today only the following actions are offered.</p> <ul> <li>execDay2</li> <li>scaleServiceEqually</li> </ul>"},{"location":"alarms_actions/#execday2","title":"execDay2","text":"<p>Usually used to perform a Day2 configuration (towards OSM). To use it, Create a New Action Specification Name=execDay2 as following</p> <p></p> <p>Now make a Service Order for your service. In this example \u03c2\u03b5 used a cirros NSD</p> <p>Create a New Action Rule for the running services as the following example:</p> <p></p> <p>The scope is the running cirros service. </p> <p>Params should be paramname=value;paramname2=value2;paramname3=value3 (must exist in the VNF otherwise OSM will raise an error).</p> <p>In this case should be filename=test.txt</p> <p>Primitive=touch</p> <p>ServiceId = select the service which will accept the Day2. In this case is the same</p> <p>To test it:</p> <p>Go to the Service Inventory and select the active Service.</p> <p>Note the UUID of the service (e.g. c4e7990a-e174-4cd2-9133-b10e56721e08 copy from address bar), DeploymentRequestID and NSDID from characteristics</p> <p>You can either use the UUID of the service or the DeploymentRequestID and POST to the Alarms endpoint ( /tmf-api/alarmManagement/v4/alarm)</p> <p>If the DeploymentRequestID is used then POST:</p> <pre><code>\n{\n \"alarmRaisedTime\": \"2021-06-29T12:30:24.675Z\",\n \"alarmReportingTime\": \"2021-06-29T12:30:54.675Z\",\n \"state\": \"raised\",\n \"alarmType\": \"qualityOfServiceAlarm\",\n \"probableCause\": \"thresholdCrossed\",\n \"ackState\": \"unacknowledged\",\n \"perceivedSeverity\": \"major\",\n \"sourceSystemId\": \"mano-client-service\",\n \"alarmDetails\": \"NSID=3;DeploymentRequestID=1\",\n \"specificProblem\": \"myalram raised\"\n}\n\n</code></pre> <p>If the UUID is used then POST:</p> <pre><code>\n{\n \"alarmRaisedTime\": \"2021-06-29T12:30:24.675Z\",\n \"alarmReportingTime\": \"2021-06-29T12:30:54.675Z\",\n \"state\": \"raised\",\n \"alarmType\": \"qualityOfServiceAlarm\",\n \"probableCause\": \"thresholdCrossed\",\n \"ackState\": \"unacknowledged\",\n \"perceivedSeverity\": \"major\",\n \"sourceSystemId\": \"mano-client-service\",\n \"alarmDetails\": \"analarm\",\n \"specificProblem\": \"myalram raised\",\n \"affectedService\": [\n {\n \"id\": \"c4e7990a-e174-4cd2-9133-b10e56721e08\"\n }\n ]\n\n}\n\n</code></pre> <p>The Alarm to be created must have the affected Service ID equal to the running service from the scope (the cirros_ns)</p> <p>Go to service inventory you will see the notes and also the service characteristics for any EXEC_ACTION updates</p> <p>You can also adjust the alarm conditions. They must match true so the alarm to be acknowledged So if another external service raises an Alarm (with POST) for the running service, a Day2 will be performed on another Service</p>"},{"location":"alarms_actions/#scaleserviceequally","title":"scaleServiceEqually","text":"<p>This action is used from getting a scaling event from OSM. Please see the next demo for details on how it works</p>"},{"location":"alarms_actions/#prototype-demo","title":"Prototype demo","text":"<p>You can watch how we used the prototype on the following ETSI ZMS PoC #2</p> <ul> <li>ETSI ZMS PoC #2: https://www.etsi.org/events/1905-webinar-zsm-poc-2-showcase-automated-network-slice-scaling-in-multi-site-environments/</li> </ul>"},{"location":"catalogs/","title":"Catalogs and Templates","text":"<p>The Openslice Service Catalogue (accessible through the API or Services portal) contains the representation of Service Specifications, either created from the provider defining service attributes, or by supporting the GSMA Generic Slice Templates (GST) as well as the VINNI Service Blueprint. The following scenarios are supported by the Openslice Service Catalogue.</p>"},{"location":"catalogs/#createdesign-a-service-specification","title":"Create/Design a Service Specification","text":""},{"location":"catalogs/#first-import-some-resources-as-resource-facing-services-rfss","title":"First Import some Resources as Resource Facing Services (RFSs)","text":"<p>If you have any NSDs as NFV artifacts, import them through the UI menu (Import from NSD list). Then an NSD is imported as a resource and an RFS automatically is created. RFSs then later are used to design a Customer Facing Service Specification</p>"},{"location":"catalogs/#createdesign-a-customer-facing-service-specification","title":"Create/Design a Customer Facing Service Specification","text":"<p>Customer Facing Service Specification are the services offered to customers. You can create a new Service Specification from the menu. The services created through the UI are Customer Facing Services (CFS). Usually you create a CFS as a bundle and then you include Service Specification Relationships with RFSs or/and CFSs.</p> <p>Any Service Specification Characteristics from the RFS are copied to the CFS specification. A CFS can include multiple RFS or/and CFSs. For example you can create a CFS spec called \"A 5G Service\" which is a bundle of two other services (include them in Service Specification Relationships) such as 5G eMBB Slice and a Customer VPN. So when the user orders \"A 5G Service\" services from 5G eMBB Slice and a Customer VPN will be created during the order.</p>"},{"location":"catalogs/#initial-configuration-for-osm-deployment","title":"Initial configuration for OSM deployment","text":"<p>if you have an initial configuration that needs to be applied in the NSD deployment, then you go to the RFS (or CFS) and in Service Specification Characteristics go and edit the OSM_CONFIG characteristic. You can add in the Service Characteristic Value, in the Value field something like the following example which gives a floating IP to a VNF:</p> <pre><code>{ \"nsdId\": \"e855be91-567b-45cf-9f86-18653e7ea\", \"vimAccountId\": \"4efd8bf4-5292-4634-87b7-7b3d49108\" , \"vnf\": [ {\"member-vnf-index\": \"1\", \"vdu\": [ {\"id\": \"MyCharmedVNF-VM\", \"interface\": [{\"name\": \"eth0\", \"floating-ip-required\": true }]}]}]}\n\n</code></pre> <p>or a more complex example (beautify it first if you want to view it, but in the parameter OSM_CONFIG must be minified like the example):</p> <pre><code>{\"nsdId\":\"e855be91-567b-45cf-9f86-18653e7\",\"vimAccountId\":\"4efd8bf4-5292-4634-87b7-7b3d491\",\"vnf\":[{\"member-vnf-index\":\"1\",\"vdu\":[{\"id\":\"haproxy_vdu\",\"interface\":[{\"name\":\"haproxy_vdu_eth1\",\"floating-ip-required\":true}]}]}],\"vld\":[{\"name\":\"pub_net\",\"vim-network-name\":\"OSMFIVE_selfservice01\"},{\"name\":\"management\",\"vim-network-name\":\"OSMFIVE_selfservice01\"},{\"name\":\"lba_net\",\"vim-network-name\":\"lba_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"1\",\"vnfd-connection-point-ref\":\"haproxy_private\",\"ip-address\":\"192.168.28.2\"}]},{\"name\":\"backend_net\",\"vim-network-name\":\"backend_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"3\",\"vnfd-connection-point-ref\":\"haproxy_public\",\"ip-address\":\"192.168.20.2\"}]},{\"name\":\"lb_sb_net\",\"vim-network-name\":\"lb_sb_net\",\"vnfd-connection-point-ref\":[{\"member-vnf-index-ref\":\"3\",\"vnfd-connection-point-ref\":\"haproxy_private\",\"ip-address\":\"192.168.28.2\"}]},{\"name\":\"breaking_point_Spain\",\"vim-network-name\":\"sb_repo_net\"},{\"name\":\"breaking_point_Greece\",\"vim-network-name\":\"5TONICexternal\"}],\"additionalParamsForVnf\":[{\"member-vnf-index\":\"2\",\"additionalParams\":{\"target_IP\":\"192.168.20.2\"}},{\"member-vnf-index\":\"4\",\"additionalParams\":{\"target1_IP\":\"192.168.21.2\",\"target2_IP\":\"10.154.252.10\"}}]}\n</code></pre> <p>You can leave the Alias and Unit of Measure as is. Check also the is Default.</p>"},{"location":"catalogs/#day-2-primitive-actions","title":"Day 2 Primitive Actions","text":"<p>NFVOs like OSM allow to perform actions while a service is running, for example change attributes or make actions on a specific VNF. To design this do something similar to the following example:</p> <ul> <li>Go to the RFS related to the NSD that contains VNFs with primitives</li> <li>create a characteristic named Primitive:: , e.g. Primitive::touch <li>select Value Type: ARRAY</li> <li>add Service Characteristic Value: i) alias=primitive, value= (e.g. touch), ii) alias=member_vnf_index, value= (e.g. 1), iii) add the params that the user will change in alias the name of param and in value an initial value (e.g. alias=filename, value=myfile.txt) <p>In the above example, when the service is running and the user goes to service inventory to MODIFY it, changes the value of the alias=filename, value=myfile.txt, to value =secondfile.txt. Then inside the VNF a file will be created called secondfile.txt</p>"},{"location":"catalogs/#generic-slice-templates-gst","title":"Generic Slice Templates (GST)","text":"<p>(Offered only as a design for now. THere is no direct implementation to NFV) On October 16th 2019 GSMA published NG.116 Version 2.0 which defines the Generic Network Slice Template (GST). GST is a set of attributes that can characterise a type of network slice/service. GST is generic and is not tied to any specific network deployment. Here is a list of the various attributes of the template:</p> <ul> <li>Availability</li> <li>Area of Service</li> <li>Delay tolerance</li> <li>Deterministic communication</li> <li>Downlink throughput per network slice</li> <li>Downlink throughput per UE</li> <li>Energy efficiency</li> <li>Group communication support</li> <li>Isolation level</li> <li>Location based message delivery</li> <li>Maximum supported packet size</li> <li>Mission critical support</li> <li>MMTel support</li> <li>NB-IoT support</li> <li>Network Slice Customer network functions</li> <li>Number of connections</li> <li>Number of terminals</li> <li>Performance monitoring</li> <li>Performance prediction</li> <li>Positioning support</li> <li>Radio spectrum</li> <li>Reliability</li> <li>Root cause investigation</li> <li>Session and Service Continuity support </li> <li>Simultaneous use of the network slice</li> <li>Slice quality of service parameters</li> <li>Support for non-IP traffic </li> <li>Supported access technologies </li> <li>Supported device velocity </li> <li>Synchronicity</li> <li>Terminal density </li> <li>Uplink throughput per network slice </li> <li>Uplink throughput per UE</li> <li>User management openness</li> <li>User data access </li> <li>V2X communication mode</li> </ul> <p>Openslice offers the GST in a format that is machine readable and aligned with the TMF SID model. Here is a tentative approach in JSON : https://github.com/openslice/org.etsi.osl.tmf.api/blob/master/src/main/resources/gst.json</p> <p>Providers can clone a GST as e NEST directly in Openslice Web portal and the adjust the default attributes to their Service Specification</p>"},{"location":"catalogs/#5g-vinni-service-blueprint","title":"5G-VINNI Service Blueprint","text":"<p>(Offered only as a design for now. THere is no direct implementation to NFV) 5G-VINNI Service Blueprint is a special Service Specification defined by teh 5G-VINNI project. Many details can be found in document https://zenodo.org/record/3345612</p> <p>5G-VINNI Service Blueprint is a reusable self-contained specification of required network slice service (instances). As described in GST mapping VINNI-SB is also machine readable. </p> <p>Here is a tentative approach in JSON : https://github.com/openslice/org.etsi.osl.tmf.api/tree/master/src/main/resources/vinnisb</p> <p>5G-VINNI SB has many commonalities with GST as well as it offers Testing as a Service attributes.</p> <p>Next figure presents the high-level object model of a 5G-VINNI service blueprint.</p> <p>The 5G-VINNI SB as a first prototype approach is conceived as a CFS of a \u2018bundle\u2019 of services. It has some characteristics, like name, description, service type (eMBB, etc) and others. The constituent services are:</p> <ul> <li>A \u201cService Topology\u201d Service Specification which is related to a Network Service Resource topology (a Logical Resource Spec). It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service Requirements\u201d Service Specification which is related to Service requirements. This is very similar to GST. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 1\u201d Service Specification which contains characteristics for service exposure on level 1 ( see D3.1 for details). It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 2\u201d Service Specification which contains characteristics for service exposure on level 2. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 3\u201d Service Specification which contains characteristics for service exposure on level 3. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Exposure Level 4\u201d Service Specification which contains characteristics for service exposure on level 4. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service 3rd part VNF\u201d Service Specification which contains characteristics for support 3rd party VNFs to be included in the service. It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service 3rd part NSD\u201d Service Specification which contains characteristics for support 3rd party NSDs to be included in the service. It is considered at this stage as an RFS but is subject to change in future</li> <li>A \u201cVINNI SB Service Monitoring\u201d Service Specification which contains characteristics for offering Monitoring capabilities on the requested Service. It is considered at this stage a CFS.</li> <li>A \u201cVINNI SB Service Testing\u201d Service Specification which contains characteristics for offering Testing capabilities on the requested Service. It is considered at this stage a CFS.</li> </ul> <p></p>"},{"location":"catalogs/#manage-a-service-specification","title":"Manage a Service Specification","text":"<p>You can manage them though the Web UI</p>"},{"location":"catalogs/#assign-a-service-specification-to-service-categories-and-publish","title":"Assign a Service Specification to Service Categories and Publish","text":"<p>Just create categories and from the menu select the category and add services</p>"},{"location":"catalogs/#retireremove-a-service-specification","title":"Retire/Remove a Service Specification","text":"<p>Delete it from the category</p>"},{"location":"catalogs/#consume-and-expose-service-specifications-from-other-service-catalogues","title":"Consume and expose Service Specifications from other Service Catalogues","text":"<p>See more on Consuming Services From External Partner Organizations</p>"},{"location":"config_intro/","title":"Configuring and managing OpenSlice","text":""},{"location":"config_intro/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>This section provides information on how to configure and manage different aspect of OpenSlice while in operation. For example:</p> <ul> <li>Manage user roles and access in Keycloak</li> <li>Configure/Manage NFVOs</li> <li>Advanced configuration scenarios</li> </ul>"},{"location":"deployment/","title":"OpenSlice Deployment","text":"<p>This section is meant to guide the user through the installation of OpenSlice. </p>"},{"location":"deployment/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>Following, you may thorough guides depending on the installation type of your choice:</p> <ul> <li>Installing via Docker Compose guide</li> <li>Installing via Kubernetes guide</li> </ul>"},{"location":"deploymentCompose/","title":"OpenSlice Deployment Guide with Docker Compose","text":""},{"location":"deploymentCompose/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":""},{"location":"deploymentCompose/#requirements","title":"Requirements","text":""},{"location":"deploymentCompose/#hardware-requirements","title":"Hardware requirements:","text":"Minimum Hardware Requirements Recomended Hardware Requirements 4 CPU cores 8 CPU cores 8 GB RAM 16 GB RAM 30 GB storage 50 GB storage"},{"location":"deploymentCompose/#software-requirements","title":"Software Requirements:","text":"<ul> <li>Docker: A running environment for Docker Compose services</li> </ul>"},{"location":"deploymentCompose/#preparing-the-environment","title":"Preparing the environment","text":""},{"location":"deploymentCompose/#1-backup-your-previous-database-if-necessary","title":"1. Backup your previous database if necessary:","text":"<pre><code>sudo docker exec amysql /usr/bin/mysqldump -u root --password=letmein ostmfdb > backup_ostmfdb.sql\n</code></pre>"},{"location":"deploymentCompose/#2-install-docker","title":"2. Install docker","text":"<p>Since July 2023 Docker Compose V1 stopped receiving updates. OpenSlice fully reverted to Compose V2, which is integrated in the Docker installation.</p>"},{"location":"deploymentCompose/#3-configure-containers-to-properly-resolve-the-dns-of-your-domain-optional","title":"3. Configure containers to properly resolve the DNS of your domain (optional)","text":"<pre><code>sudo nano /etc/docker/daemon.json\n</code></pre> <p>and add:</p> <pre><code>{ \n \"dns\": [\"8.8.8.8\", \"8.8.4.4\"]\n}\n</code></pre> <p>After editing daemon.json restart docker daemon for the changes to take place</p> <pre><code>sudo systemctl restart docker\n</code></pre>"},{"location":"deploymentCompose/#downloading-the-project","title":"Downloading the project","text":""},{"location":"deploymentCompose/#1-create-a-new-folder-to-download-the-project","title":"1. Create a new folder to download the project","text":"<pre><code>mkdir openslice\n</code></pre> <pre><code>cd openslice\n</code></pre>"},{"location":"deploymentCompose/#2-download-the-deployment-script","title":"2. Download the deployment script","text":"<p>Download the deployment / environment preparation script</p> <pre><code>wget https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/raw/develop/compose/deploy.sh\n</code></pre> <p>Make it executable</p> <pre><code>sudo chmod +x deploy.sh\n</code></pre>"},{"location":"deploymentCompose/#3-run-the-deployment-script","title":"3. Run the deployment script","text":"<p>OpenSlice is a multi repo project. This script selects the same branch for all repositories of the project to pull from.</p> <p>After that it builds the respective jar files locally and installs all the npm packages needed for the UI.</p> <p>If you run the script without selecting a branch the the main branch is going to be selected.</p> <p>We recommend:</p> <ul> <li>main branch for the most stable experience and</li> <li>develop branch for an experience with the latest features (for develop branch installation, it is strongly advisable that you may as well follow the develop documentation)</li> </ul> <pre><code>sudo ./deploy.sh develop #[or replace main with other branch name]\n</code></pre> <p>We recommend running the deploy.sh script with root permissions! In other case, some directories may not be accessible by the project building tools and hinder the smooth installation.</p>"},{"location":"deploymentCompose/#configure-docker-compose-services","title":"Configure Docker Compose services","text":""},{"location":"deploymentCompose/#1-create-configuration-specific-docker-compose-file-from-the-template","title":"1. Create configuration specific Docker Compose file from the template","text":"<pre><code>cd org.etsi.osl.main/compose/\n</code></pre> <pre><code>sudo cp docker-compose.yaml.configure docker-compose.yaml\n</code></pre>"},{"location":"deploymentCompose/#2-configure-mysql-portal-container-optional","title":"2. Configure mysql-portal container (optional)","text":"<ol> <li>In folder <code>org.etsi.osl.main/compose/mysql-init</code> edit the file <code>01-databases.sql</code>.</li> <li>In the <code>org.etsi.osl.main/compose/docker-compose.yaml</code> edit the credentials of the users that services use to connect to the databases, if you wish.<ul> <li>portaluser (default is 12345) and</li> <li>keycloak (default is password)</li> </ul> </li> </ol>"},{"location":"deploymentCompose/#3-configure-keycloak-container-optional","title":"3. Configure keycloak container (optional)","text":"<ol> <li> <p>If you made changes to keycloak's mysql credentials:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code>.</p> </li> </ol> <pre><code>DB_DATABASE: keycloak\nDB_USER: keycloak\nDB_PASSWORD: password\n</code></pre> <ol> <li> <p>If you want to change the keycloak admin password:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> </li> </ol> <pre><code>KEYCLOAK_PASSWORD: Pa55w0rd\n</code></pre>"},{"location":"deploymentCompose/#4-configure-bugzilla-container-optional","title":"4. Configure bugzilla container (optional)","text":"<p>If you want to utilise the Bugzilla connector:</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.activemq.brokerUrl\": \"tcp://anartemis:61616?jms.watchTopicAdvisories=false\",\n \"spring.activemq.user\": \"artemis\",\n \"spring.activemq.password\": \"artemis\",\n \"bugzillaurl\":\"\",\n \"bugzillakey\":\"\",\n \"main_operations_product\":\"\"\n}'\n</code></pre> <p>And add the provided Bugzilla installation information:</p> <pre><code>\"bugzillaurl\":\"bugzillaurl.xx:443/bugzilla/\",\n\"bugzillakey\":\"exampleKeyeqNNwxBlgxZgMEIne0Oeq0Bz\",\n\"main_operations_product\":\"Main Site Operations\" // this is the default product to issue tickets\n</code></pre> <p>Bugzilla should have the following components under the specified product: </p> <ul> <li>NSD Deployment Request: Component used to schedule deployment req </li> <li>Onboarding: Issues related to VNF/NSD Onboarding </li> <li>Operations Support: Default component for operations support </li> <li>Validation: Use to track validation processes of VNFs and NSDs </li> <li>VPN Credentials/Access: Used for requesting VPN Credentials/Access </li> </ul> <p>Also in the 'Main Site Operations' product, a version named 'unspecified' must be created.</p>"},{"location":"deploymentCompose/#5-configure-osportalapi-container-nfv-services-conditional","title":"5. Configure osportalapi container (NFV services) (conditional)","text":"<p>Change the respective fields: </p> <ul> <li>If you made changes to mysql and keycloak credentials.</li> <li>If you want to change logging level (TRACE / DEBUG / INFO / WARN / ERROR).</li> </ul> <p>If you are using a non-local domain, replace everywhere the http://keycloak:8080 with the respective {{protocol://domain.name}}, as well as \"spring.portal.main.domain\" property.</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.datasource.username\":\"root\",\n \"spring.datasource.password\":\"letmein\",\n \"spring-addons.issuers[0].uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"spring.security.oauth2.resourceserver.jwt.issuer-uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"springdoc.oAuthFlow.authorizationUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"springdoc.oAuthFlow.tokenUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\", \n \"spring.portal.main.domain\": \"http://localhost\",\n \"logging.level.org.springframework\" : \"INFO\"\n}'\n</code></pre>"},{"location":"deploymentCompose/#6-osscapi-container-tmf-api-service-conditional","title":"6. osscapi container (TMF API service) (conditional)","text":"<p>Change the respective fields: </p> <ul> <li>If you made changes to mysql and keycloak credentials.</li> <li>If you want to change logging level (TRACE / DEBUG / INFO / WARN / ERROR).</li> </ul> <p>If you are using a non-local domain, replace everywhere the http://keycloak:8080 with the respective {{protocol://domain.name}}.</p> <p>In folder <code>org.etsi.osl.main/compose/</code> edit the file <code>docker-compose.yaml</code></p> <pre><code>SPRING_APPLICATION_JSON: '{\n \"spring.datasource.username\":\"root\",\n \"spring.datasource.password\":\"letmein\",\n \"spring-addons.issuers[0].uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"spring.security.oauth2.resourceserver.jwt.issuer-uri\": \"http://keycloak:8080/auth/realms/openslice\",\n \"springdoc.oAuthFlow.authorizationUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"springdoc.oAuthFlow.tokenUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\", \n \"logging.level.org.springframework\" : \"INFO\"\n}'\n</code></pre>"},{"location":"deploymentCompose/#configure-nginx","title":"Configure nginx","text":"<p>In folder <code>org.etsi.osl.main/compose/nginx</code> create a configuration specific <code>nginx.conf</code> file.</p> <pre><code>cd org.etsi.osl.main/compose/nginx/\n</code></pre> <pre><code>sudo cp nginx.conf.default nginx.conf\n</code></pre> <p>If needed, in the nginx.conf file, edit the server_name for an non-local deployment.</p>"},{"location":"deploymentCompose/#configure-web-ui","title":"Configure Web UI","text":"<p>In folder <code>org.etsi.osl.portal.web/src/js/</code> create a configuration specific <code>config.js</code> file.</p> <pre><code>cd org.etsi.osl.portal.web/src/js\n</code></pre> <pre><code>sudo cp config.js.default config.js\n</code></pre> <p>Edit the <code>config.js</code> file with the information of your domain. <code>ROOTURL</code> will automatically extract the the Origin (Protocol://Domain:Port) of the deployment, but you must change <code>APIURL</code> property, if you are not aiming for a localhost installation, e.g. \"https://portal.openslice.io\".</p> <p>Example file:</p> <pre><code>{ \n BUGZILLA: \"ROOTURL/bugzilla/\",\n STATUS: \"ROOTURL/status/\",\n APIURL: \"http://localhost\",\n WEBURL: \"ROOTURL/nfvportal\",\n APIOAUTHURL: \"ROOTURL/auth/realms/openslice\",\n APITMFURL: \"ROOTURL/tmf-api/serviceCatalogManagement/v4\"\n}\n</code></pre>"},{"location":"deploymentCompose/#configure-tmf-web-ui","title":"Configure TMF Web UI","text":"<p>In the folder <code>org.etsi.osl.tmf.web/src/assets/config</code> there are 3 files available for configuration:</p> <ul> <li>config.prod.json (Basic information + API configuration)</li> <li>theming.scss (CSS color palette theming)</li> <li>config.theming.json (HTML configuration - Logo, Favicon, Footer)</li> </ul> <p>The first 2 files above (i.e. config.prod.json, theming.scss) are essential for the successful deployment of OpenSlice, thus created automatically during the initial deployment at <code>org.etsi.osl.tmf.web/src/assets/config</code> directory as a copy of the default ones from the remote repository.</p> <p>Ensure that you check the <code>config.prod.json</code> and <code>theming.scss</code> files and readjust to your deployment if needed.</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <p>E.g. You may edit \"TITLE\", \"WIKI\", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.</p> <p>Example file:</p> <pre><code>{ \n \"TITLE\": \"OpenSlice by ETSI\",\n \"PORTALVERSION\":\"2024Q2\",\n \"WIKI\": \"https://osl.etsi.org/documentation\",\n \"BUGZILLA\": \"{BASEURL}/bugzilla/\",\n \"STATUS\": \"{BASEURL}/status/\",\n \"WEBURL\": \"{BASEURL}\",\n \"PORTAL_REPO_APIURL\": \"{BASEURL}/osapi\",\n \"ASSURANCE_SERVICE_MGMT_APIURL\": \"{BASEURL}/oas-api\",\n \"APITMFURL\": \"{BASEURL}/tmf-api\",\n \"OAUTH_CONFIG\" : {\n \"issuer\": \"{BASEURL}/auth/realms/openslice\",\n \"loginUrl\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/auth\",\n \"tokenEndpoint\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/token\",\n \"userinfoEndpoint\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/userinfo\",\n \"redirectUri\": \"{BASEURL}/redirect\",\n \"logoutUrl\": \"{BASEURL}/auth/realms/openslice/protocol/openid-connect/logout\", \n \"postLogoutRedirectUri\": \"{BASEURL}\",\n\n \"responseType\": \"code\",\n \"oidc\": false,\n \"clientId\": \"osapiWebClientId\",\n \"dummyClientSecret\": \"secret\",\n\n \"requireHttps\": false,\n \"useHttpBasicAuth\": true,\n \"clearHashAfterLogin\": false,\n\n \"showDebugInformation\": true\n }\n}\n</code></pre> <p>The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of OpenSlice, then {BASEURL} is automatically translated to \"http://localhost\". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. \"https://portal.openslice.io\".</p> <p>If further customization, apart from the default provided, is needed for branding (Logo, Footer) then <code>config.theming.json</code> needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows:</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <pre><code>sudo cp config.theming.default.json config.theming.json\n</code></pre> <p>IMPORTANT NOTE: If you want to apply changes to the JSON configuration files without the need to rebuild the application, you have to apply the changes at the <code>org.etsi.osl.tmf.web/dist/io-openslice-portal-web/assets/config</code> directory. Although, it is mandatory to also apply these changes to the <code>org.etsi.osl.tmf.web/src/assets/config</code> for persistancy, as after any future rebuild of OpenSlice the <code>/dist</code> directory is being overwritten along with its contents. The OpenSlice team strongly recommends to always apply your changes to the TMF web UI configuration files at <code>org.etsi.osl.tmf.web/src/assets/config</code> and rebuild the application.</p>"},{"location":"deploymentCompose/#deploy-openslice-via-docker-compose","title":"Deploy OpenSlice via Docker Compose","text":"<p>After configuring the services, and editing the docker compose file accordingly, the docker compose instantiation command can be performed.</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.main/compose/\n</code></pre> <pre><code>sudo docker compose --profile prod down;sudo docker compose --profile prod up -d --build\n</code></pre> <p>Depending on your machine, this process might take time. if for any reason the deployment fails during first time, please rerun the above before any further measures.</p>"},{"location":"deploymentCompose/#validating-deployments-and-container-monitoring","title":"Validating deployments and container monitoring","text":"<p>You can monitor containers' status with portainer at port 9000 (http://your-ip:9000).</p> <p>Initially, you may monitor the local machine at portainer.</p> <p>Please check that all containers are in running state.</p>"},{"location":"deploymentCompose/#post-installation-steps","title":"Post installation steps","text":"<p>After the successful deployment of OpenSlice, to ensure the E2E user experience, this section is mandatory. It contains crucial configuration in regard of authentication and user creation.</p>"},{"location":"deploymentCompose/#configure-keycloak-server","title":"Configure Keycloak server","text":"<p>The Keycloack server is managing authentication and running on a container at port 8080. It is also proxied to your host via nginx under http://localhost/auth. </p> <ul> <li> <p>Navigate to http://domain.com/auth/ or https://domain.com/auth/, (http://ipaddress:8080/auth/ or https://ipaddress:8443/auth/ which are directly accessible without proxy) </p> </li> <li> <p>Navigate to Administration Console </p> </li> <li> <p>Login with the credentials from section Configure keycloak container. Default values are:</p> <ul> <li>user: admin and </li> <li>password: Pa55w0rd</li> </ul> </li> </ul> <p>if you are running in HTTP you will get a message: HTTPS required.</p> <p>To resolve this issue when running in HTTP: </p> <ul> <li>Select the master realm from top left corner</li> <li>Go to login Tab and select \"Require SSL\": None</li> <li>Repeat for realm Openslice</li> </ul> <p>If you are running in HTTPS, then \"Require SSL\" can be left unchanged to external requests.</p>"},{"location":"deploymentCompose/#1-configure-redirects","title":"1. Configure redirects","text":"<p>Navigate to realm Openslice > Clients > osapiWebClientId and change the Root URL to your domain. </p> <p>Also, insert your domain, e.g. http://example.org/*, at:</p> <ul> <li>Valid Redirect URIs</li> <li>Web Origins</li> </ul>"},{"location":"deploymentCompose/#2-configure-email","title":"2. Configure email","text":"<p>Keycloak allows new users to register. Subsequently, this will also allow new users to register to the OpenSlice portal.</p> <p>Navigate to realm Openslice > Realm Settings > Login Tab > check User registration, Verify email, Forgot password etc.</p> <p>Finally, enter the details of the mail server at the Email Tab.</p> <p>Email configuration is optional for test runs, but if not provided the above functionalities (e.g. external user registration) will not be possible.</p>"},{"location":"deploymentCompose/#3-add-an-openslice-admin-user","title":"3. Add an OpenSlice admin user","text":"<p>This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice admin user you must:</p> <ul> <li>Navigate to realm Openslice > Users > Add user</li> <li>Set a password</li> <li>Upon creation, navigate to Role Mappings and add ADMIN to Assigned Roles list</li> </ul> <p>That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Role ADMIN guarantee full access through the OpenSlice UI, thus such a user is always required.</p>"},{"location":"deploymentCompose/#keycloak-at-localhost","title":"Keycloak at localhost","text":"<p>This is an important step if you run Keycloak on localhost!</p> <p>1 - Edit your Hosts File, adding the line below</p> <p><code>127.0.0.1 keycloak</code></p> <p>Hosts File Location:</p> <ul> <li> <p>In Linux/Unix, the file's location is at /etc/hosts </p> </li> <li> <p>In Windows, its location is at c:\\Windows\\System32\\Drivers\\etc\\hosts</p> </li> </ul> <p>2 - Replace http://localhost/auth/ with http://keycloak:8080/auth/ in your Keycloak config for AngularJS and Angular (see examples below).</p> <p>Explanation</p> <p>Nginx uses the http://keycloak:8080 URL, which is accessible via the internal docker system's network. The Front-end (TS/Angular) shall also use the http://keycloak:8080. This way, you will not get the invalid token error, as the API is acquiring the token from http://keycloak:8080 (internally) and the Front-end is getting verified by an issuer at the same URL, as well.</p> <p>2.1 - For the Angular configuration (TMF portal UI), navigate to org.etsi.osl.tmf.web/src/assets/config and edit config.prod.json</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.tmf.web/src/assets/config\n</code></pre> <pre><code>nano config.prod.json\n</code></pre> <p>After editing, the displayed properties should look like the example below:</p> <pre><code>{ \n \"OAUTH_CONFIG\" : {\n \"issuer\": \"http://keycloak:8080/auth/realms/openslice\",\n \"loginUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth\",\n \"tokenEndpoint\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/token\",\n \"userinfoEndpoint\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/userinfo\",\n \"redirectUri\": \"{BASEURL}/redirect\",\n \"logoutUrl\": \"http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/logout\", \n \"postLogoutRedirectUri\": \"{BASEURL}\",\n }\n}\n</code></pre> <p>Note the difference in changing {BASEURL} -> http://keycloak:8080</p> <p>If you want the changes to take place immediately without rebuilding the project, then repeat the process for org.etsi.osl.tmf.web/dist/org.etsi.osl.tmf.web/assets/config/config.prod.json</p> <p>2.2 - For the AngularJS configuration (NVF portal UI), navigate to org.etsi.osl.portal.web/src/js and edit config.js</p> <pre><code># Starting from the root project directory\ncd org.etsi.osl.portal.web/src/js\n</code></pre> <pre><code>nano config.js\n</code></pre> <p>After editing, the displayed properties should look like the example below:</p> <pre><code>var appConfig = angular.module('portalwebapp.config',[]);\n\n\nappConfig.factory('APIEndPointService', function() {\n return { \n APIOAUTHURL: \"http://keycloak:8080/auth/realms/openslice\",\n };\n});\n</code></pre> <p>Note the difference in \"APIOAUTHURL\" property, changing ROOTURL -> http://keycloak:8080</p>"},{"location":"deploymentCompose/#nfv-orchestrator-configuration","title":"NFV Orchestrator Configuration","text":"<p>After successfully deploying and configuring OpenSlice, you may configure its environment (e.g. the NFVO) that will facilitate the deployment of NFV artifacts.</p> <p>See NFV Orchestrator Configuration.</p>"},{"location":"deploymentK8s/","title":"OpenSlice Deployment Guide with Kubernetes","text":""},{"location":"deploymentK8s/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>This is WIP.</p> <p>Please refer to this guide.</p>"},{"location":"etsi_osl/","title":"The ETSi SDG OSL","text":"<p>OpenSlice is developed by the OSL ETSI Software Development Group see more info</p>"},{"location":"history/","title":"History","text":""},{"location":"history/#history","title":"History","text":"<ul> <li>The NFV portal part of OpenSlice was initially developed in H2020 European Research project 5GinFIRE by University of Patras, Greece</li> <li>OpenSlice core services, APIs was further developed and maintained in H2020 European project 5G-VINNI by University of Patras, Greece</li> <li>OpenSlice has been a part of OSM's OSS/BSS ecosystem</li> <li>OpenSlice is now an ETSI SDG Group since 2023</li> </ul>"},{"location":"history/#citation","title":"Citation","text":"<p>Please cite our ![paper] if you use OpenSlice in your research</p> <pre><code>\n@misc{tranoris2021openslice,\n title={Openslice: An opensource OSS for Delivering Network Slice as a Service}, \n author={Christos Tranoris},\n year={2021},\n eprint={2102.03290},\n archivePrefix={arXiv},\n primaryClass={cs.NI}\n}\n\n\n</code></pre>"},{"location":"lcm/","title":"Lifecycle Management (LCM) Rules","text":"<ul> <li>NOTE: This is a prototype/experimental feature. So issues might raise during operation</li> </ul> <p>LCM Rules are used for defining complex conditions and actions during the lifecycle of a service. In Openslice there are four types of rules defined:</p> <ul> <li>PRE_PROVISION</li> <li>CREATION</li> <li>AFTER_ACTIVATION </li> <li>SUPERVISION </li> <li>AFTER_DEACTIVATION </li> </ul> <p>The following figure displays the different phases that the rules are performed, during the lifecycle of a Network Slice Instance.</p> <p></p> <ul> <li>PRE_PROVISION rules: Run only once just before creating a service with a given priority. </li> <li>CREATION rules: Run while the referenced service dependencies of a service are created</li> <li>AFTER_ACTIVATION rules: Run only once just after a service get the ACTIVE state</li> <li>SUPERVISION rules: Run when a characteristic of a service is changed and the service is in the ACTIVE state </li> <li>AFTER_DEACTIVATION rules: Run only once just after a service get the INACTIVE/TERMINATED state </li> </ul> <p>In general the rules allow to perform many actions during service LCM. Thes are some examples:</p> <ul> <li>Modify service specification parameters before the instantiation of a service (or during operation) based on other dependencies. These parameters might be part of other services already included in Service order</li> <li>Translate GST/NEST parameter values to other values passed later to NFVO for instantiation or control</li> <li>Define complex OSM Configs based on other dependencies and passing variables</li> <li>Define any dependencies when creating the referenced services</li> <li>Dynamically include new service dependencies</li> <li>Create new service orders so include dynamically other services</li> <li>Call external (RESTful) services (via http(s), define payload, examine response)</li> </ul>"},{"location":"lcm/#examine-if-the-rules-are-executed-successfully","title":"Examine if the rules are executed successfully","text":"<p>Rules are transformed automatically to executable code (currently is Java). If a rule is performed successfully or has any issues (e.g. unexpected syntax errors or exceptions) appear in OSOM logfiles and also tey are attached as Notes to the running Service.</p>"},{"location":"lcm/#lcm-rules-and-osom-service-orchestration","title":"LCM Rules and OSOM Service Orchestration","text":"<p>OSOM is the responsible service for executing the rules on a specific phase. The following image explains the design in the BPMN phases:</p> <p></p>"},{"location":"lcm/#define-rules","title":"Define rules","text":"<p>Rules are defined when designing a Service Spec. Here is an example of a list of rules:</p> <p></p> <p>Execution order of rules on a specific phase is random</p> <ul> <li>NOTE: There is a priority field. The lower the number the highest the priority of rule execution. For example Rule with priority 0 will run before rule with priority 1.</li> </ul>"},{"location":"lcm/#definition-language","title":"Definition language","text":"<ul> <li>The visual language that Openslice used is based on Google's Blockly (see https://developers.google.com/blockly)</li> <li>The blockly graph is automatically translated to Java internally and then dynamically executed during orchestration phases.</li> </ul> <p>The following figure is an example of such a rule design. The rule for example will run in PRE_PROVISION phase:</p> <p></p> <ul> <li>The goal of the above rule is to properly define a variable AreaCodes given the chosen AreaOfService from a Service Order.</li> <li>On the right side the user can define some rule properties or observe the underlying generated java code.</li> </ul>"},{"location":"lcm/#the-blocks-library","title":"The blocks library","text":"<p>The following images describe some blocks found in the library.</p> <p>Blockly has syntax rules. It helps with colours to define them. </p> <p>So for example a parameter that is a Number cannot be \"glued\" with a String. Will need some conversion first</p> <p> </p>"},{"location":"lcm/#examples-of-rules","title":"Examples of Rules","text":"<p>The following images provide some examples of rules.</p>"},{"location":"lcm/#define-variables-according-to-cases","title":"define variables according to cases","text":"<p>In the following example we :</p> <ul> <li>define a String variable. </li> <li>Then according to the Area of Service selected from the Service Order of the Service Specification we need to define it properly.</li> <li>We output the value to the OSOM Log</li> <li>Define dynamically the value of another parameter (This is fictional) and then do some other condition check</li> </ul> <p>The strAreaCodes could be passed then e.g. to NFVO for instantiation of services to these cells.</p> <p></p>"},{"location":"lcm/#define-complex-osm-configs-for-day-0","title":"Define complex OSM configs for DAY 0","text":"<p>The following displays some complex examples for defining the parameters to pass to the NFV. In this case is OSM.</p> <ul> <li> <p>NOTE: The OSM_CONFIG characteristic of a service is the one that it is used in orchestration to instantiate NS from OSM</p> </li> <li> <p>check the variable strTargetsParam. It is passed to the variable strOsmConfig3 which is executed if the Number of Cameras is more than 100. </p> </li> <li>if the Video quality requested is 3, then the Maximum Namber of camers will be 8. Check the OSM detailed configuration block and its syntax.</li> <li>if the Video quality requested is 2, we use a simpler OSM Config block to configure the parameter OSM_CONFIG. We just injected a json text ( watch the Escape of the string for the Quotes!)</li> <li>if the Video quality requested is 1, again we use a simpler OSM Config block to configure the parameter OSM_CONFIG. We use as injected json text a variable constructed later</li> </ul> <p></p>"},{"location":"lcm/#define-and-instantiate-different-services-according-to-service-order-request","title":"Define and instantiate different services according to Service Order request","text":"<p>In the following example we would like to offer a service either as Platinum, Gold or Silver. Depending on the selection we need to instantiate different services.</p> <p>There are different ways to accomplish this:</p> <ul> <li>create dynamically New Service Orders of RFSs with equivalent quality of Services</li> <li>change for example the VIMs that you deploy the NS</li> <li>change the NSD (that is use different VNFs)</li> </ul> <p>The following image displays for example the latter case.</p> <p></p>"},{"location":"lcm/#call-an-external-restful-service","title":"Call an external RESTful service","text":"<p>This is useful in cases for example of alarms , external logging, calling other services e.g. email or even a complex algorithm written in other language e.g. call an external service and get a result. (service e.g. a Python service)</p> <p></p> <p></p>"},{"location":"lcm/#create-new-service-orders","title":"Create New Service Orders","text":"<p>The following example calls to Order a New Service Specification with specific Parameter Values</p> <p></p>"},{"location":"nfvoconfig/","title":"NFV Orchestrator configuration","text":"<p>Currently we support Open Source MANO version EIGHT/NINE/TEN/ELEVEN/THIRTEEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NS packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.</p> <p>Configuration of your target(s) NFVOs/MANO services with Openslice is performed through the NFV portal.</p> <ol> <li> <p>Login to {{yourdomain}}/nfvportal/</p> </li> <li> <p>Navigate to Admin > Manage MANO Platforms > Add New MANO Platform, pick one of the supported MANO platform(s), e.g. Name=OSMvTHIRTEEN, Version=OSMvTHIRTEEN and save. You may edit the saved MANO platforms after this.</p> </li> <li> <p>Navigate to Admin > Manage MANO providers > Add New MANO Provider and enter its details:</p> <ul> <li>Name and description of your choice. The selected name will supplement the NFV artifacts of this provider.</li> <li>One of the already defined MANO platforms</li> <li>API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint - Note the port 9999)</li> <li>Username, Password and Project of your OSM tenant.</li> </ul> </li> </ol> <p>Check EnabledForONBOARDING, if you want VNF/NS packages uploaded through the UI by the user, to also be automatically ONBOARDED to this MANO (1 step process). If left unchecked, the onboarding process must be performed manually after the VNF/NS package is uploaded to the portal, by the designated UI (2 step process).</p> <p>Check EnabledForSYNC, if you want to support the automatic synchronization of this MANO with OpenSlice. When enabled, the existing VNF/NS packages and VIMs (and any updates on them) of the registered MANO are also reflected to the portal to the respective UIs (Registered VNFs/NSDs and Manage Infrastructures). </p> <p>The synchronization is a continuous process that will confirm that the artifacts are still present in the MANO, updating the status field of the respective artifacts to <code>OSM_PRESENT</code>. If during this process, an artifact is deleted from the MANO, the respective status field will be updated to <code>OSM_MISSING</code>.</p>"},{"location":"portals_intro/","title":"OpenSlice Portals","text":"<p>Openslice comprises of a web landing page See Demo that navigates to the respective Portal:</p> <ul> <li>Services Portal See Demo</li> <li>NFV Portal See Demo</li> <li>Products Portal See Demo</li> <li>Testing Portal See Demo</li> <li>Resources Portal See Demo</li> </ul> <p>Following you may find the scope each portal focuses on and the main TMF APIs it supports.</p> <p>Services Portal is a designated portal for the: - Service Designer - To design Customer Facing Services as bundles of Resource Facing Services that map to specific Resourses (e.g. NFV, Testing, General Resources). Then, it is charged with the designed Services' exposure to public Service Catalogs. - Service Customer - To browse the public Service Catalogs and order the offered Services. The fulfilment process of the Service Order is also captured and the final deployed Services are exposed to the Customer.</p> <p>NFV Portal is a designated portal for the: Indicatively, the portal can be used to: - Register new a new MANO provider (e.g. OSM) - Synchronize the onboarded VNF/NS packages, and the VIMs of the registered MANO provider - Onboard/Delete VNF/NS packages on specific MANO provider - Deploy a NS to a target MANO provider</p> <p>More information can be found at NFV Services.</p> <p>Resources Portal is a designated portal for the: - Resource Administrator - To view the available Resources that are being synchronized from the underlying infrastructure. - Products Portal is a designated portal for the: - Product Designer - To design Products as bundles of available Services. Then, it is charged with the designed Products' exposure to public Product Catalogs. - Product Customer - To browse the public Product Catalogs and navigate to the respective offered Services.</p> <p>Testing Portal is a designated portal for the: - Testing Designer - To design Tests and provide the testing scripts as attachments to the latter. The Tests can be imported as Services at the Services Portal, and can be included in a Service Bundle.</p> TMF620 TMF632 TMF633 TMF634 TMF638 TMF639 TMF640 TMF641 TMF642 TMF653 TMF685 Services Portal x x x x x x Products Portal x x Testing Portal x x Resources Portal x x x x <p>The NFV Portal uses a proprietary API</p>"},{"location":"role_keycloak_management/","title":"Role management in Keycloak","text":"<p>Some initial configuration of Keycloak happens at Installation/Deployment time. Here are some notes regarding user management</p>"},{"location":"role_keycloak_management/#intended-audience-openslice-administrators","title":"Intended Audience: OpenSlice administrators","text":"<p>There are cases that OpenSlice administrators need to configure Keycloak:</p> <ul> <li>Change user roles, e.g. make a Simple user a Service Designer</li> <li>Domain management</li> <li>User Password reset</li> </ul>"},{"location":"service_inventory/","title":"Service Inventory","text":"<p>After a Service Order completion, active services with their additional characteristics are found:</p> <ul> <li>From the Order Items of a selected Service order</li> <li>from the menu of Service inventory and then selecting details of each service</li> <li>through the Service Inventory API (TMF 638 - Service Inventory Management ) </li> </ul> <p>Openslice creates a Service for the requested CFS. Customers make Service Orders and Openslice instantiates the requested Service Specifications for each Service Order Item of a Service Order. Running Services instantiated by Openslice, reside in Openslice Service Inventory. The following picture displays how Service Specifications are related to Running Services and how Running Services relate with instantiated running Network Services. </p> <p></p> <p>There is a hierarchy of services. Usually an Instantiated CFS has Supporting Services some Instantiated RFSs. Then an Instantiated RFS is related to some running NS managed by NFVO</p>"},{"location":"service_inventory/#interacting-with-an-active-service-day-2-config","title":"Interacting with an Active Service (Day 2 config)","text":"<p>In some cases, if the underlying service is configured with actions (for example in OSM Day 2 primitive actions), there are characteristics that can be modified. Usually they are named like : ::Primitive:: <p>The user can edit the characteristic with a new value. The value is propagated through the OSOM and NFVO down to the related VNF.</p>"},{"location":"service_inventory/#terminatinginactivating-a-service","title":"Terminating/Inactivating a service","text":"<p>You can terminate the service with one of the following processes:</p> <ul> <li>Select the related Service Order and terminate the Order Item. This will delete all the underlying related active services. The Order goes to ACKNOWLEDGED->INPROGRESS->COMPLETE</li> <li>To terminate or inactivate a service, select the specific service from the inventory, press Edit and set the State either to Inactive or Terminated</li> </ul> <p>Warning: if you terminate or inactivate a service the action cannot be undone. </p>"},{"location":"service_inventory/#uml-sequence-diagram","title":"uml: sequence diagram","text":"<p>Here I will embed PlantUML markup to generate a sequence diagram.</p> <p>I can include as many plantuml segments as I want in my Markdown, and the diagrams can be of any type supported by PlantUML.</p>"},{"location":"terminology/","title":"User Roles","text":"<ul> <li>User</li> <li>Service Designer</li> <li>OpenSlice administrator</li> </ul>"},{"location":"terminology/#terms","title":"Terms","text":"<ul> <li>Resource Facing Service Specification (RFSSpec): A Service that exposes a resource Specification as a Service.</li> <li>Customer Facing Service Specification (CFSSpec): Service exposed to users for Service Orders. Usually it exposes other CFSSpec(Service Bundle) or other RFSSpecs</li> <li>OpenSlice management cluster</li> <li>Service Specification: Detailed descriptions of services, including attributes, configurations, performance metrics, and SLAs.</li> <li>Service Catalog</li> <li>Service Categories</li> <li>Service Inventory</li> </ul>"},{"location":"under_construction/","title":"Under construction","text":"<p>under construction</p>"},{"location":"architecture/architecture/","title":"Architecture","text":"<p>Openslice offers the following main functionalities:</p> <ul> <li>Service Catalog Management: A CSP will have the ability to manage the Service Catalog Items, their attributes , organize in categories and decide what to make available to Customers</li> <li>Services Specifications: A CSP will be able to manage Service Specifications</li> <li>Service Catalog Exposure: A CSP will be able to expose catalog to customers and related parties</li> <li>Service Catalog to Service Catalog: Openslice able to consume and provide Service Catalog items to other catalogs</li> <li>Service Order: The Customer will be able to place a Service Order</li> <li>Service Inventory: The Customer and Provider will be able to view deployed Services status</li> </ul> <p>The following figure displays the overall architecture of Openslice.</p> <p></p> <p>Openslice allows Vertical Customers browsing the available offered service specifications. It consists of:</p> <ul> <li>Web frontend UIs that consist of mainly two portals: i) a NFV portal allowing users self-service management and onboarding VNFDs/NSDs to facility\u2019s NFVO ii) a Services Portal, which allows users to browse the Service Catalog, Service Blueprints specifications and the Service Inventory</li> <li>An API gateway that proxies the internal APIs and used by the web front end as well as any other 3rd party service</li> <li>A Message Bus where all microservices use it to exchange messages either via message queues or via publish/subscribe topics</li> <li>An authentication server implementing Oauth2 authentication scheme</li> <li>A microservice offering TMF compliant API services (eg Service Catalog API, Service Ordering APIetc)</li> <li>A microservice offering NFV API services (eg VNF/NSD onboarding etc) and allows to store VNFDs and NSDs in a catalog</li> <li>A microservice that is capable to interface to an issue management system. For example it raises an issue to all related stakeholders (CSP, NOP, CSC) that a new Service Order is requested</li> <li>Central logging microservice that is capable to log all distributed actions in to an Elasticsearch cluster</li> <li>A Service Orchestrator solution that will propagate Service Ordering requests to the equivalent SOs and NFVOs </li> </ul> <p>The following figure depicts how Openslice microservices are deployed</p> <p></p>"},{"location":"architecture/architecture/#deploying-openslice-in-multi-domain-scenarios","title":"Deploying Openslice in multi domain scenarios","text":"<p>A typical deployment across domains, involves today some typical components: i) an OSS/BSS to allow customers access the service catalog and perform service orders, ii) a Service Orchestrator (SO) component for executing the service order workflow, as well as iii) a Network Functions Virtualization Orchestrator (NFVO) for configuring the iv) network resources.</p> <p>TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the LSO requirements as introduced by MEF.</p> <p>The following figure shows how openslice could be used in such scenarios:</p> <p></p> <p>See more Consuming Services From External Partner Organizations</p>"},{"location":"architecture/centrallog/","title":"Central Logging","text":"<p>Openslice follows the centralized log management concept, i.e. a type of logging solution system that consolidates the log data from different services and pushes it to a central, accessible and easy-to-use interface. </p> <p>For that reason, Elasticsearch is elected as an open-source centralized logging solution for collecting, parsing and storing logs towards a real-time data analytics tool that provides insights from any type of structured and unstructured data source.</p>"},{"location":"architecture/consumingServicesFromExternalPartners/","title":"Consuming Services From External Partner Organizations","text":"<p>A typical deployment across domains, involves today some typical components: i) an OSS/BSS to allow customers access the service catalog and perform service orders, ii) a Service Orchestrator (SO) component for executing the service order workflow, as well as iii) a Network Functions Virtualization Orchestrator (NFVO) for configuring the iv) network resources.</p> <p>TMF Open APIs are introduced not only for exposing catalogues and accepting service orders, but also implementing the East-West interfaces between the domains, fulfilling also the LSO requirements as introduced by MEF.</p> <p>The following figure shows how openslice could be used in such scenarios:</p> <p></p> <p>In Openslice we can consume services from 3rd parties via Open APIs.</p> <p>We use the TMF 632 Party Management model to specify Organizations that we can exchange items and other information such as:</p> <ul> <li>Import Service Specifications</li> <li>Create a Service Order</li> <li>Use the Service Inventory to query the status of the service ordered to the external partner organization</li> </ul>"},{"location":"architecture/consumingServicesFromExternalPartners/#define-an-organization-as-3rd-party-to-consume-services-east-west","title":"Define an Organization as 3rd party to consume services East-West","text":"<p>An organization must have the following characteristics in openslice catalog, like for example:</p> <p>\"EXTERNAL_TMFAPI_BASEURL\", \"http://portal.openslice.io\"</p> <p>\"EXTERNAL_TMFAPI_CLIENTREGISTRATIONID\", \"authOpensliceProvider\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2CLIENTID\", \"osapiWebClientId\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2CLIENTSECRET\", \"secret\"</p> <p>\"EXTERNAL_TMFAPI_OAUTH2SCOPES\", scopes</p> <p>\"EXTERNAL_TMFAPI_OAUTH2TOKENURI\", \"http://portal.openslice.io/osapi-oauth-server/oauth/token\"</p> <p>\"EXTERNAL_TMFAPI_USERNAME\", \"admin\"</p> <p>\"EXTERNAL_TMFAPI_PASSWORD\", \"openslice\"</p> <p>\"EXTERNAL_TMFAPI_SERVICE_CATALOG_URLS\" = \"/tmf-api/serviceCatalogManagement/v4/serviceSpecification?type=CustomerFacingServiceSpecification\" (this is optional, fetch a list of service specs it will be relative with the BASEURL. If the url is empty then no specs will be fetched, the EXTERNAL_TMFAPI_SERVICE_CATEGORY_URLS might be used)</p> <p>\"EXTERNAL_TMFAPI_SERVICE_CATEGORY_URLS\" = \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/{categoryid}\" (this example will fetch all specs in a category. You may define comma separated URLs of categories API URL . This will fetch specifications of every defined category. If you want only one specific category put for example the uuid only of one category: \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/bda02821-bc4d-4bd6-b64b-d9c2aa5f8e6d\". multiple urls should be \"/tmf-api/serviceCatalogManagement/v4/serviceCategory/bda02821-bc4d-4bd6-b64b-d9c2aa5f8e6d,/tmf-api/serviceCatalogManagement/v4/serviceCategory/9b6d8bf3-abd2-43c4-8154-c8c6fe5545b2\")</p> <p>\"EXTERNAL_TMFAPI_SERVICE_SPEC\" = \"/tmf-api/serviceCatalogManagement/v4/serviceSpecification\"</p> <p>\"EXTERNAL_TMFAPI_SERVICE_ORDER_URLS\"= \"/test/v1/serviceorder\" (this is optional)</p> <p>An example Organization defined example in json:</p> <pre><code>\n{\n \"uuid\": \"1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"Openslice.io\",\n \"id\": \"1a09a8b5-6bd5-444b-b0b9-a73c69eb42ae\",\n \"isHeadOffice\": null,\n \"isLegalEntity\": null,\n \"nameType\": null,\n \"organizationType\": null,\n \"tradingName\": null,\n \"contactMedium\": [],\n \"creditRating\": [],\n \"existsDuring\": null,\n \"externalReference\": [],\n \"organizationChildRelationship\": [],\n \"organizationIdentification\": [],\n \"organizationParentRelationship\": null,\n \"otherName\": [],\n \"partyCharacteristic\": [\n {\n \"uuid\": \"3a2f7221-e0a2-4a6b-88d1-534c8e1963f6\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_CLIENTREGISTRATIONID\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"authOpensliceProvider\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"c24bb527-f178-4d38-9b93-2027c1732876\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_USERNAME\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"admin\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"27e45df8-414b-44c6-a5d5-3f064e2cfd3b\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_PASSWORD\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"openslice\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"e0e470b8-6024-4014-8a18-2333e5465ce1\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2CLIENTSECRET\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"secret\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"3e0de762-ac80-4c1e-a0a1-f265ff0899b4\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2SCOPES\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"admin;read\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"0bbb8314-f7f2-420d-9fed-ba054b15f886\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2TOKENURI\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"http://portal.openslice.io/osapi-oauth-server/oauth/token\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"3a567de4-79eb-4006-a500-3e5229b44175\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_OAUTH2CLIENTID\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"osapiWebClientId\",\n \"alias\": null\n }\n },\n {\n \"uuid\": \"6dca729f-dbe1-46b7-89f1-5c4f9fe89d4e\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": null,\n \"href\": null,\n \"name\": \"EXTERNAL_TMFAPI_BASEURL\",\n \"valueType\": null,\n \"value\": {\n \"value\": \"http://portal.openslice.io\",\n \"alias\": null\n }\n }\n ],\n \"relatedParty\": [],\n \"status\": null,\n \"taxExemptionCertificate\": []\n}\n\n</code></pre>"},{"location":"architecture/issuemgt/","title":"Issue Management","text":"<p>For issue management support, Openslice relies on Bugzilla. Bugzilla is a ticketing tool that allows issue reporting and tracking via tickets to all relevant stakeholders. </p> <p>The figure below displays the overall issue management service architecture integrating Bugzilla as its core and how this tool interacts with other Openslice services presenting some distinctive scenarios. It should be noted that Bugzilla tickets will not only be used for bugs/errors, but also for general requests, e.g. Service Order procedure.</p> <p></p>"},{"location":"architecture/messagebus/","title":"Message Bus and exchanged Messages","text":"<p>Openslice has a Message bus which allows Openslice services to exchange messages via queues and topics.</p> <p>It is based on ActiveMQ.</p> <p>3rd party services can be attached to bus and subscribe to message topics or request resources via queues.</p>"},{"location":"architecture/messagebus/#queue-messages","title":"QUEUE MESSAGES","text":"Message Alias CATALOG_GET_SERVICEORDERS Name jms:queue:CATALOG.GET.SERVICEORDERS Type queue Destination TMF API service Producers OSOM Body Description Return a List as String Json Message Alias CATALOG_GET_SERVICEORDER_BY_ID Name jms:queue:CATALOG.GET.SERVICEORDER_BY_ID Type queue Destination TMF API service Producers OSOM Body String orderid Description Return a ServiceOrder as String Json Message Alias CATALOG_UPD_SERVICEORDER_BY_ID Name jms:queue:CATALOG.UPD.SERVICEORDER_BY_ID Type queue Destination TMF API service Producers OSOM Body ServiceOrderUpdate serviceOrder Headers \"orderid\"= orderid Description Returns a ServiceOrder as String Message Alias CATALOG_GET_SERVICESPEC_BY_ID Name jms:queue:CATALOG.GET.SERVICESPEC_BY_ID Type queue Destination TMF API service Producers OSOM Body specid Description Return a ServiceSpecification Message Alias CATALOG_ADD_SERVICESPEC Name jms:queue:CATALOG.ADD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecCreate Description Creates a ServiceSpecification and returns a ServiceSpecification as String Message Alias CATALOG_UPD_SERVICESPEC Name jms:queue:CATALOG.UPD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecUpdate Headers \"serviceSpecid\" = serviceSpecId Description Updates a ServiceSpecification and returns a ServiceSpecification as String. --- Message Alias CATALOG_UPDADD_SERVICESPEC Name jms:queue:CATALOG.UPDADD.SERVICESPEC Type queue Destination TMF API service Producers CRIDGE Body ServiceSpecUpdate Headers \"serviceSpecid\" = serviceSpecId, \"forceId\"=forceId Description Updates a ServiceSpecification and returns a ServiceSpecification as String. If forceId is true then tries to assign the requested ID to the spec Message Alias CATALOG_ADD_SERVICEORDER Name jms:queue:CATALOG.ADD.SERVICEORDER Type queue Destination TMF API service Producers OSOM Body ServiceOrderCreate serviceOrder Headers Description Creates a ServiceOrder and returns a ServiceOrder as String Message Alias CATALOG_GET_INITIAL_SERVICEORDERS_IDS Name jms:queue:CATALOG.GET.INITIAL_SERVICEORDERS Type queue Destination TMF API service Producers Body Description Return a List as String Json Message Alias CATALOG_GET_SERVICEORDER_IDS_BY_STATE Name jms:queue:CATALOG.GET.ACKNOWLEDGED_SERVICEORDERS Type queue Destination TMF API service Producers OSOM Body Headers \"orderstate\"= orderState Description String Json ArrayList of ServiceOrders Message Alias CATALOG_ADD_SERVICE Name jms:queue:CATALOG.ADD.SERVICE Type queue Destination TMF API service Producers OSOM Body ServiceCreate String json Headers \"orderid\"=orderid, \"serviceSpecid\"= specid Description Creates Service based an a Service Spec, Returns a Service object Message Alias CATALOG_UPD_SERVICE Name jms:queue:CATALOG.UPD.SERVICE Type queue Destination TMF API service Producers Body ServiceUpdate Headers \"serviceid\" = serviceId, \"propagateToSO\" = true/false Description will update a service by id and return the service instance. If propagateToSO=true then any service change will be handled by OSOM. This is needed to be controlled in order to avoid update loops Message Alias CATALOG_GET_SERVICE_BY_ID Name jms:queue:CATALOG.GET.SERVICE Type queue Destination TMF API service Producers OSOM Body String serviceID Description returns a Service instance <p>---| Message | | | ------------- |----------------| |Alias | CATALOG_GET_SERVICE_BY_ORDERID | |Name | jms:queue:CATALOG.GET.SERVICE_BY_ORDERID | |Type | queue | |Destination | TMF API service | |Producers | | |Body | String serviceID | |Description | returns Service IDs of a specific order given then order id |</p> Message Alias CATALOG_SERVICE_QUEUE_ITEMS_GET Name jms:queue:CATALOG.SERVICEQUEUEITEMS.GET Type queue Destination TMF API service Producers OSOM Body Description returns a LIST OF Service Queue Items --- Message Alias CATALOG_SERVICE_QUEUE_ITEM_UPD Name jms:queue:CATALOG.SERVICEQUEUEITEM.UPDATE Type queue Destination TMF API service Producers OSOM Body String SERVICEQUEUEITEM Headers \"itemid\" = SERVICEQUEUEITEM id Description ill update a service queue item by id and return the instance --- Message Alias CATALOG_SERVICE_QUEUE_ITEM_DELETE Name jms:queue:CATALOG.SERVICEQUEUEITEM.DELETE Type queue Destination TMF API service Producers OSOM Body Headers \"itemid\" = SERVICEQUEUEITEM id Description ill delete a service queue item by id Message Alias CATALOG_SERVICES_TO_TERMINATE Name jms:queue:CATALOG.GET.SERVICETOTERMINATE Type queue Destination TMF API service Producers OSOM Body Headers Description Get a list of ACTIVE services with END DAte in the past --- Message Alias CATALOG_SERVICES_OF_PARTNERS Name jms:queue:CATALOG.GET.SERVICESOFPARTNERS Type queue Destination TMF API service Producers OSOM Body Headers Description Get a list of ACTIVE services from the inventory of partners Message Alias NFV_CATALOG_GET_NSD_BY_ID Name jms:queue:NFVCATALOG.GET.NSD_BY_ID Type queue Destination NFV Catalog service Producers TMF API, OSOM Body NSDid Description Returns a NetworkServiceDescriptor object Message Alias NFV_CATALOG_DEPLOY_NSD_REQ Name jms:queue:NFVCATALOG.DEPLOY.NSD_REQ Type queue Destination NFV Catalog service Producers OSOM Body DeploymentDescriptor as Json String Headers NSD id Description Returns a DeploymentDescriptor object as json string containing deployment info Message Alias NFV_CATALOG_UPD_DEPLOYMENT_BY_ID Name jms:queue:NFVCATALOG.UPD.DEPLOYMENT_BY_ID Type queue Destination NFV Catalog service Producers OSOM Body DeploymentDescriptor as Json String Headers DeploymentDescriptor id Description Updates and Returns a DeploymentDescriptor object as json string containing deployment info Message Alias GET_USER_BY_USERNAME Name jms:queue:GET.USER_BY_USERNAME Type queue Destination NFV Catalog service (this is temproary for now) Producers TMF API Body username Headers Description Returns a PortalUser object as json string containing user info Message Alias NFV_CATALOG_GET_DEPLOYMENT_BY_ID Name jms:queue:NFVCATALOG.GET.DEPLOYMENT_BY_ID Type queue Destination NFV Catalog service Producers OSOM Body Deployment ID Description Returns a DeploymentDescriptor object Message Alias CATALOG_GET_EXTERNAL_SERVICE_PARTNERS Name jms:queue:CATALOG.GET.EXTERNALSERVICEPARTNERS Type queue Destination TMF API service Producers OSOM Body Headers Description As a String Json ArrayList of Organizaton objects containing the characteristic name EXTERNAL_TMFAPI Message Alias CATALOG_UPD_EXTERNAL_SERVICESPEC Name jms:queue:CATALOG.UPD.EXTERNAL_SERVICESPEC Type queue Destination TMF API service Producers OSOM or maybe used by others that would like to update a Service Spec Body A serviceSpecification as json string Headers servicespecification id, orgid id Description Updates (or inserts if does not exist in catalog) an external service specification) Message Alias NFV_CATALOG_NSACTIONS_SCALE Name jms:queue:NSACTIONS.SCALE Type queue Destination TMF API service Producers OSOM or maybe used by others that would like scale a NS Body A ScaleDescriptor as json string Headers none Description performs a scale Message Alias NFV_CATALOG_NS_LCMCHANGED Name NFV_CATALOG_NS_LCMCHANGED Type topic Destination any Producers MANO client Body A json string Headers none Description A NFV_CATALOG_NS_LCMCHANGED message is published when LCM of a running NS is changed"},{"location":"architecture/messagebus/#alarms","title":"ALARMS","text":"Message Alias ALARMS_ADD_ALARM Name jms:queue:ALARMS.ADD.ALARM Type queue Publishers Consumers TMF API Body AlarmCreate Headers Description Add an alarm Message Alias ALARMS_UPDATE_ALARM Name jms:queue:ALARMS.UPDATE.ALARM Type queue Publishers Consumers TMF API Body AlarmUpdate Headers alarmid = alarm id, body (AlarmUpdate object) Description Update an alarm Message Alias ALARMS_GET_ALARM Name jms:queue:ALARMS.GET.ALARM Type queue Publishers Consumers TMF API Body Headers alarmid = alarm id Description get an alarm"},{"location":"architecture/messagebus/#event-topics-in-message-bus","title":"EVENT TOPICS IN Message Bus","text":"Message Alias EVENT_SERVICE_CREATE Name jms:topic:EVENT.SERVICE.CREATE Type topic Publishers TMF API Consumers - Body Notification object Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_STATE_CHANGED Name jms:topic:EVENT.SERVICE.STATECHANGED Type topic Publishers TMF API Consumers - Body Notification object Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_DELETE Name jms:topic:EVENT.SERVICE.DELETE Type topic Publishers TMF API Consumers - Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.SERVICE.ATTRCHANGED Type topic Publishers TMF API Consumers - Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description xx Message Alias EVENT_SERVICE_ORDER_CREATE Name jms:topic:EVENT.SERVICEORDER.CREATE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object. Bugzilla service for example uses this to create a new issue Message Alias EVENT_SERVICE_ORDER_STATE_CHANGED Name jms:topic:EVENT.SERVICEORDER.STATECHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object. Bugzilla service for example uses this to update an issue Message Alias EVENT_SERVICE_ORDER_DELETE Name jms:topic:EVENT.SERVICEORDER.DELETE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object Message Alias EVENT_SERVICE_ORDER_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.SERVICEORDER.ATTRCHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service Body Notification object. Can be one of ServiceOrderCreateNotification, ServiceOrderStateChangeNotification, ServiceOrderAttributeValueChangeNotification, ServiceOrderDeleteNotification, etc Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the ServiceOrder object Message Alias EVENT_ALARM_CREATE Name jms:topic:EVENT.ALARM.CREATE Type topic Publishers TMF API Consumers OAS, BUGZILLA Service, CentralLog Service Body AlarmCreateEvent Headers Description The Event contains the Alarm object in payload Message Alias CATALOG_ADD_RESOURCE Name jms:queue:CATALOG.ADD.RESOURCE Type topic Publishers TMF API Consumers any Body ResourceCreate Headers Description The Body contains the ResourceCreate object to add Message Alias CATALOG_UPD_RESOURCE Name jms:queue:CATALOG.UPD.RESOURCE Type topic Publishers TMF API Consumers any Body ResourceUpdate Headers resourceid , propagateToSO Description The Body contains the ResourceCreate object to update Message Alias CATALOG_GET_RESOURCE_BY_ID Name jms:queue:CATALOG.GET.RESOURCE Type topic Publishers TMF API Consumers any Body resourceid Headers Description The Body contains the ResourceCreate object to update Message Alias CATALOG_RESOURCES_OF_PARTNERS Name jms:queue:CATALOG.GET.SERVICESOFPARTNERS Type topic Publishers TMF API Consumers any Body none Headers none Description retrieve all active services of partners Message Alias CATALOG_ADD_RESOURCESPEC Name jms:queue:CATALOG.ADD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body ResourceSpecificationCreate Headers Description The Body contains the ResourceSpecificationCreate object to add Message Alias CATALOG_UPD_RESOURCESPEC Name jms:queue:CATALOG.UPD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body ResourceSpecificationUpdate Headers resourceSpecId Description The Body contains the ResourceSpecificationCreate object to update Message Alias CATALOG_GET_RESOURCESPEC_BY_ID Name jms:queue:CATALOG.GET.RESOURCESPEC_BY_ID Type topic Publishers TMF API Consumers any Body resourceSpecid Headers Description The Body contains the object id to find Message Alias CATALOG_UPDADD_RESOURCESPEC Name jms:queue:CATALOG.UPDADD.RESOURCESPEC Type topic Publishers TMF API Consumers any Body resourceid Headers Description The Body contains the ResourceSpecificationCreate object to update or create if not exist Message Alias EVENT_RESOURCE_CREATE Name jms:topic:EVENT.RESOURCE.CREATE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_STATE_CHANGED Name jms:topic:EVENT.RESOURCE.STATECHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_DELETE Name jms:topic:EVENT.SERVICE.RESOURCE Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias EVENT_RESOURCE_ATTRIBUTE_VALUE_CHANGED Name jms:topic:EVENT.RESOURCE.ATTRCHANGED Type topic Publishers TMF API Consumers BUGZILLA Service, CentralLog Service, other Body Notification object. Headers \"eventid\"=eventid, \"objId\"= objId Description The Event of the Notification object contains the Resource object Message Alias CATALOG_GET_LCMRULE_BY_ID Name jms:queue:CATALOG.GET.LCMRULE Type topic Publishers TMF API Consumers any Body lcmid Headers Description The Body contains the LCMRuleSpec object Message Alias CATALOG_GET_LCMRULES_BY_SPECID_PHASE Name jms:queue:CATALOG.GET.LCMRULES_BY_SPECID_PHASE Type topic Publishers TMF API Consumers any Body Headers header.servicespecid, header.phasename Description The Body contains the LCMRuleSpec objects of the specific Service Spec and the specific phase Message Alias CATALOG_GET_SERVICETESTSPEC_BY_ID Name jms:queue:CATALOG.GET.SERVICETESTSPEC_BY_ID Type queue Destination TMF API service Producers OSOM Body specid Description Return a ServiceTestSpecification Message Alias CATALOG_ADD_SERVICETEST Name jms:queue:CATALOG.ADD.SERVICETEST Type queue Destination TMF API service Producers OSOM Body ServiceTestCreate String json Headers \"orderid\"=orderid, \"serviceTestSpecid\"= specid Description Creates Service Test based an a Service Test Spec, Returns a ServiceTest object Message Alias CATALOG_UPD_SERVICETEST Name jms:queue:CATALOG.UPD.SERVICETEST Type queue Destination TMF API service Producers Body ServiceTestUpdate Headers \"serviceid\" = serviceId, \"propagateToSO\" = true/false Description will update a service test by id and return the service instance. If propagateToSO=true then any service change will be handled by OSOM. This is needed to be controlled in order to avoid update loops Message Alias CATALOG_GET_SERVICETEST_BY_ID Name jms:queue:CATALOG.GET.SERVICETEST Type queue Destination TMF API service Producers OSOM Body String serviceID Description returns a Service TEST instance Message Alias CRD_DEPLOY_CR_REQ Name jms:queue:CRD.DEPLOY.CR_REQ Type queue Destination CRD service Producers OSOM Body CR spec as String Headers related service id Description Returns a String object containing deployment info Message Alias CRD_PATCH_CR_REQ Name jms:queue:CRD.PATCH.CR_REQ Type queue Destination CRD service Producers OSOM Body CR as String Headers related service id Description Returns a String object containing PATCH info Message Alias CRD_DELETE_CR_REQ Name jms:queue:CRD.DELETE.CR_REQ Type queue Destination CRD service Producers OSOM Body CR as String Headers related service id Description Returns a String object containing deletion info"},{"location":"architecture/nfvapi/","title":"API interaction","text":""},{"location":"architecture/nfvapi/#oauth-token","title":"OAuth token","text":"<p>See oauth</p>"},{"location":"architecture/nfvapi/#request-a-protected-api-resource","title":"Request a protected API resource","text":"<p>Example: Get all vxfs (check the <code>Authorization:Bearer</code> to be correct)</p> <pre><code>curl -H \"Authorization:Bearer eybGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbIm9wZW5hcGkiLCJhZG1pbiIsInJlYWQiLCJ3cml0ZSJdLCJvcmdhbml6YXRpb24iOiJteW9yZ2FuaXp0aW9uIiwiZXhwIjoxNTcxOTI0MjU2LCJhdXRob3JpdGllcyI6WyJST0xFX01FTlRPUiIsIlJPTEVfQURNSU4iXSwianRpIjoiNzNkZmIxODEtNTMwOS00MmExLThkOWUtOGM3YmQ0YTE1YmU0IiwiY2xpZW50X2lkIjoib3NhcGlXZWJDbGllbnRJZE91dCJ9.Pj_hxnyMGhFhN8avU_DiAw1-LlcaIz5Hp9HNqalw-X4\" http://localhost:13000/osapi/admin/vxfs\n</code></pre> <p>Example response:</p> <pre><code>[\n {\n \"id\": 1,\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"createdAt\": null\n },\n \"uuid\": \"a954daf2-16da-4b7e-ae42-4825936d453c\",\n \"name\": \"cirros_vnfd\",\n \"iconsrc\": \"/osapi/images/a954daf2-16da-4b7e-ae42-4825936d453c/cirros-64.png\",\n \"shortDescription\": \"cirros_vnfd\",\n \"longDescription\": \"Simple VNF example with a cirros\",\n \"version\": \"1.0\",\n \"packageLocation\": \"/osapi/packages/a954daf2-16da-4b7e-ae42-4825936d453c/cirros_vnf.tar.gz\",\n \"dateCreated\": 1568971426000,\n \"dateUpdated\": 1568981107000,\n \"categories\": [\n {\n \"id\": 3,\n \"name\": \"Service\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n },\n {\n \"id\": 2,\n \"name\": \"Networking\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n }\n ],\n \"extensions\": [],\n \"validationJobs\": [],\n \"screenshots\": \"\",\n \"vendor\": \"OSM\",\n \"published\": false,\n \"termsOfUse\": null,\n \"descriptor\": \"vnfd-catalog:\\n vnfd:\\n - connection-point:\\n - name: eth0\\n type: VPORT\\n description: Simple VNF example with a cirros\\n id: cirros_vnfd\\n logo: cirros-64.png\\n mgmt-interface:\\n cp: eth0\\n name: cirros_vnfd\\n short-name: cirros_vnfd\\n vdu:\\n - count: 1\\n description: cirros_vnfd-VM\\n id: cirros_vnfd-VM\\n image: cirros034\\n interface:\\n - external-connection-point-ref: eth0\\n name: eth0\\n position: '1'\\n type: EXTERNAL\\n virtual-interface:\\n bandwidth: '0'\\n type: VIRTIO\\n vpci: 0000:00:0a.0\\n name: cirros_vnfd-VM\\n vm-flavor:\\n memory-mb: 512\\n storage-gb: 1\\n vcpu-count: 1\\n vendor: OSM\\n version: '1.0'\\n\",\n \"descriptorHTML\": \"<h3>cirros_vnfd</h3><br><b>Vendor: </b>OSM<br><b>Version: </b>1.0<br><b>Description: </b>Simple VNF example with a cirros<br><b>VM Count: </b>1<br><b>vCPU Count: </b>1<br><b>Memory: </b>512 MB<br><b>Storage: </b>1 GB<br>\",\n \"certified\": false,\n \"certifiedBy\": null,\n \"validationStatus\": \"UNDER_REVIEW\",\n \"packagingFormat\": \"OSMvFIVE\",\n \"supportedMANOPlatforms\": [\n {\n \"id\": 1,\n \"name\": \"osm fivee\",\n \"version\": \"osm fivee\",\n \"description\": \"osm five\"\n }\n ],\n \"vxfOnBoardedDescriptors\": [],\n \"vfimagesVDU\": [\n {\n \"id\": 1,\n \"name\": \"cirros034\",\n \"uuid\": \"d4549610-8abd-42ad-97f4-0a64e1c93977\",\n \"shortDescription\": \"Automatically created during vxf cirros_vnfd submission. Owner must update.\",\n \"packageLocation\": null,\n \"publicURL\": null,\n \"dateCreated\": 1568971426000,\n \"dateUpdated\": null,\n \"refVxFs\": [\n {\n \"id\": 1,\n \"name\": \"cirros_vnfd\"\n }\n ],\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"active\": true,\n \"currentSessionID\": null,\n \"apikey\": \"e41c1cc4-aa56-4b7e-9f4d-64589549d768\",\n \"createdAt\": 1568711859000,\n \"roles\": [\n \"ADMIN\",\n \"MENTOR\"\n ]\n },\n \"published\": false,\n \"termsOfUse\": null,\n \"deployedInfrastructures\": []\n }\n ]\n },\n {\n \"id\": 2,\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"createdAt\": null\n },\n \"uuid\": \"4ab80095-a63e-4fe7-8598-e1c7e880706e\",\n \"name\": \"cirros_sriov_vnfd\",\n \"iconsrc\": null,\n \"shortDescription\": \"cirros_sriov_vnf\",\n \"longDescription\": \"Simple VNF example with a cirros SRIOV interface\",\n \"version\": \"1.0\",\n \"packageLocation\": \"/osapi/packages/4ab80095-a63e-4fe7-8598-e1c7e880706e/cirros_sriov.tar.gz\",\n \"dateCreated\": 1568971740000,\n \"dateUpdated\": 1568981100000,\n \"categories\": [\n {\n \"id\": 4,\n \"name\": \"tyu\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n },\n {\n \"id\": 5,\n \"name\": \"tyi\",\n \"productsCount\": 1,\n \"appscount\": 0,\n \"vxFscount\": 1\n }\n ],\n \"extensions\": [],\n \"validationJobs\": [],\n \"screenshots\": \"\",\n \"vendor\": \"OSM\",\n \"published\": false,\n \"termsOfUse\": null,\n \"descriptor\": \"vnfd:vnfd-catalog:\\n vnfd:\\n - connection-point:\\n - name: eth0\\n type: VPORT\\n - name: eth1\\n type: VPORT\\n description: Simple VNF example with a cirros SRIOV interface\\n id: cirros_sriov_vnfd\\n logo: cirros-64.png\\n mgmt-interface:\\n cp: eth0\\n name: cirros_sriov_vnf\\n short-name: cirros_sriov_vnf\\n vdu:\\n - count: 1\\n description: cirros_sriov_vnfd-VM\\n guest-epa:\\n cpu-pinning-policy: DEDICATED\\n cpu-thread-pinning-policy: PREFER\\n mempage-size: SMALL\\n numa-node-policy:\\n mem-policy: STRICT\\n node:\\n - id: '1'\\n node-cnt: '1'\\n id: cirros_sriov_vnfd-VM\\n image: cirros-0.3.6-x86_64\\n interface:\\n - external-connection-point-ref: eth0\\n name: eth0\\n position: '1'\\n type: EXTERNAL\\n virtual-interface:\\n bandwidth: '0'\\n type: VIRTIO\\n vpci: 0000:00:0a.0\\n - external-connection-point-ref: eth1\\n name: eth1\\n position: '2'\\n type: EXTERNAL\\n virtual-interface:\\n type: SR-IOV\\n name: cirros_sriov_vnfd-VM\\n vm-flavor:\\n memory-mb: 4096\\n storage-gb: 10\\n vcpu-count: 4\\n vendor: OSM\\n version: '1.0'\\n\",\n \"descriptorHTML\": \"<h3>cirros_sriov_vnf</h3><br><b>Vendor: </b>OSM<br><b>Version: </b>1.0<br><b>Description: </b>Simple VNF example with a cirros SRIOV interface<br><b>VM Count: </b>1<br><b>vCPU Count: </b>1<br><b>Memory: </b>4096 MB<br><b>Storage: </b>10 GB<br>\",\n \"certified\": false,\n \"certifiedBy\": null,\n \"validationStatus\": \"UNDER_REVIEW\",\n \"packagingFormat\": \"OSMvFIVE\",\n \"supportedMANOPlatforms\": [\n {\n \"id\": 1,\n \"name\": \"osm fivee\",\n \"version\": \"osm fivee\",\n \"description\": \"osm five\"\n }\n ],\n \"vxfOnBoardedDescriptors\": [],\n \"vfimagesVDU\": [\n {\n \"id\": 2,\n \"name\": \"cirros-0.3.6-x86_64\",\n \"uuid\": \"be121176-1d62-4a1b-a3c1-7dce2e069d22\",\n \"shortDescription\": \"Automatically created during vxf cirros_sriov_vnfd submission. Owner must update.\",\n \"packageLocation\": null,\n \"publicURL\": null,\n \"dateCreated\": 1568971740000,\n \"dateUpdated\": null,\n \"refVxFs\": [\n {\n \"id\": 2,\n \"name\": \"cirros_sriov_vnfd\"\n }\n ],\n \"owner\": {\n \"id\": 1,\n \"organization\": \"ee\",\n \"name\": \"Portal Administrator\",\n \"email\": \"\",\n \"username\": \"admin\",\n \"active\": true,\n \"currentSessionID\": null,\n \"apikey\": \"e41c1cc4-aa56-4b7e-9f4d-64589549d768\",\n \"createdAt\": 1568711859000,\n \"roles\": [\n \"ROLE_ADMIN\",\n \"ROLE_MENTOR\"\n ]\n },\n \"published\": false,\n \"termsOfUse\": null,\n \"deployedInfrastructures\": []\n }\n ]\n }\n]\n</code></pre>"},{"location":"architecture/oauth/","title":"Authentication Server","text":"<p>Authentication is based on oAuth2. Our authentication service is a Keycloak server which is deployed with Openslice deployment </p> <p>API users needs to authenticate. All APIs (except grant token request) must include Bearer token in request Authorization header.</p>"},{"location":"architecture/oauth/#oauth-token","title":"OAuth token","text":"<p>Get first an oauth token, using your username and password. </p> <pre><code>curl -X POST http://portal.openslice.io/auth/realms/openslice/protocol/openid-connect/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'username=demouser' -d 'password=demouser' -d 'grant_type=password' -d 'client_id=osapiWebClientId' \n</code></pre> <p>response:</p> <pre><code> {\"access_token\":\"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1NzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiOGI2ZTU0NWUtNDIyYy00NzFiLWEwN2UtYTUzYzY1NDQ0MzZmIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImExYTI3NjVhLWVjODMtNDQ1Ni1iN2IyLTIwNzMxOTg2ZTAzNSIsInR5cCI6IkJlYXJlciIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0IiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjEzMDgyIiwiaHR0cDovL2xvY2FsaG9zdCIsImh0dHA6Ly9vcGVuc2xpY2UuaW8iLCJodHRwOi8vbG9jYWxob3N0OjEzMDAwIiwiaHR0cDovL2xvY2FsaG9zdDo0MjAwIiwiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8iXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIk5GVl9ERVZFTE9QRVIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiRVhQRVJJTUVOVEVSIiwiVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkZW1vdXNlciJ9.TnzzpRLMD94UTKpT5_wkr1h4_3KUQmr4TGvFLpJ7cZx-Klrv8tB_eRkWnPqqzCAM9G21a1qXboL8MLMW8ECzG7HYKpobKOGr7LSczMOTdA2ZDyBCRUSOdW77pchu54tJ0ITEkFaDwSKMKKt04V_Sy4U-eIndj0XzzRlkDolWDnK4Z2lRaXAI6fMwOKx1Toa6RfOcemxtzl3pdtjPx92zo6MaKlbIqHK82lxdK0k8aQQaT6TmIrXbZKV2dU_1d3O0q0dVUEZJ_1kzwqOFkmxr9w0EnndC6ccYJlDAr_-GgUhhhNOn5v6tjYLUQdj5e4KEAsxIPzaCreK4un7mEAPmDw\",\"expires_in\":300,\"refresh_expires_in\":1800,\"refresh_token\":\"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwZjUxMDk5Yy0wNTIzLTRjNGQtODM0Zi1iNDc0YzBjOTA1MzkifQ.eyJleHAiOjE1ODgyNDIwNzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiZmViOTg5NWEtOTY5ZS00MzIzLWJjY2QtZTY2YzQ0NGE1MzJlIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwic3ViIjoiYTFhMjc2NWEtZWM4My00NDU2LWI3YjItMjA3MzE5ODZlMDM1IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0Iiwic2NvcGUiOiJwcm9maWxlIGVtYWlsIn0.cDTx9BE1Df8EfGYm3VLr_MNFeymxZtJhMtlK7PVbIuk\",\"token_type\":\"bearer\",\"not-before-policy\":1586797346,\"session_state\":\"3350f493-6627-4373-8544-defd27ad3c74\",\"scope\":\"profile email\"}\n\n</code></pre> <p>The <code>access_token</code> will be used next as a Bearer.</p> <pre><code>curl http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog -H 'Authorization: Bearer yJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1MjQsImlhdCI6MTU4ODI0MDIyNCwianRpIjoiYjg0NGYxZDAtMzk3Mi00YTMyLThiMWEtZDAxMDY3OGZjMTQ4IiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwic3ViIjoiYTFhMjc2NWEtZWM4My00NDU2LWI3YjItMjA3MzE5ODZlMDM1IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYWRtaW4tY2xpIiwic2Vzc2lvbl9zdGF0ZSI6ImFmMmMzZmY1LTE4YWQtNDFkNC1hYTAyLTFlMGJkNzNmOTM5MSIsImFjciI6IjEiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXIifQ.SMtgV1E44_K_MQumGXZtWsLGVhYNaoM8Pk-DiFIZtUP4Zu-ervOsxHVQMX1frgVERR4jJidBcSshy9TnJ3UjF4l33WujHltbs-1UPy-gaIufVuEpl8RmbjOti3Up70vLfLXbzb6kN6WaahgobWXlbJsSXXwaBPQP6vSX5KigCa8TmzXcuqom14lOrlU-RB2zQTlJ30p7d9ag-a7o3I5m9GZWLJCZW2UYMl1JkskTHKgilA8HFQY4C9DYwWu8YDMyzqQSNumrTlURalBFidFbZvb1kp4dAyct8TysSWSbxxiwaL2RX1PWUqk-5Fpc1Q6BnBC8muMheiukFuoSkuADAg'^C\nubuntu@portal:~$ curl http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJHZFRjQnpxczg2VW10NTRVZV8ybTJyWHJkV3dzaWdSZE9EUldMYm1memNvIn0.eyJleHAiOjE1ODgyNDA1NzAsImlhdCI6MTU4ODI0MDI3MCwianRpIjoiOGI2ZTU0NWUtNDIyYy00NzFiLWEwN2UtYTUzYzY1NDQ0MzZmIiwiaXNzIjoiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8vYXV0aC9yZWFsbXMvb3BlbnNsaWNlIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImExYTI3NjVhLWVjODMtNDQ1Ni1iN2IyLTIwNzMxOTg2ZTAzNSIsInR5cCI6IkJlYXJlciIsImF6cCI6Im9zYXBpV2ViQ2xpZW50SWQiLCJzZXNzaW9uX3N0YXRlIjoiMzM1MGY0OTMtNjYyNy00MzczLTg1NDQtZGVmZDI3YWQzYzc0IiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjEzMDgyIiwiaHR0cDovL2xvY2FsaG9zdCIsImh0dHA6Ly9vcGVuc2xpY2UuaW8iLCJodHRwOi8vbG9jYWxob3N0OjEzMDAwIiwiaHR0cDovL2xvY2FsaG9zdDo0MjAwIiwiaHR0cDovL3BvcnRhbC5vcGVuc2xpY2UuaW8iXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIk5GVl9ERVZFTE9QRVIiLCJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiRVhQRVJJTUVOVEVSIiwiVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJkZW1vdXNlciJ9.TnzzpRLMD94UTKpT5_wkr1h4_3KUQmr4TGvFLpJ7cZx-Klrv8tB_eRkWnPqqzCAM9G21a1qXboL8MLMW8ECzG7HYKpobKOGr7LSczMOTdA2ZDyBCRUSOdW77pchu54tJ0ITEkFaDwSKMKKt04V_Sy4U-eIndj0XzzRlkDolWDnK4Z2lRaXAI6fMwOKx1Toa6RfOcemxtzl3pdtjPx92zo6MaKlbIqHK82lxdK0k8aQQaT6TmIrXbZKV2dU_1d3O0q0dVUEZJ_1kzwqOFkmxr9w0EnndC6ccYJlDAr_-GgUhhhNOn5v6tjYLUQdj5e4KEAsxIPzaCreK4un7mEAPmDw'\n\nResponse:\n\n\n[{\"uuid\":\"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\"lastUpdate\":\"2020-03-11T23:19:05Z\",\"@baseType\":\"BaseEntity\",\"@schemaLocation\":null,\"@type\":\"ServiceCatalog\",\"href\":null,\"name\":\"Example Facility Services\",\"description\":\"Example Facility Services\",\"lifecycleStatus\":\"Active\",\"version\":\"1.0\",\"validFor\":{\"endDateTime\":\"2039-11-20T23:07:21Z\",\"startDateTime\":\"2019-11-20T23:07:21Z\"},\"relatedParty\":null,\"id\":\"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\"category\":[{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"Generic Services\",\"@referredType\":null,\"id\":\"98b9adf1-a1d6-4165-855f-153ddc2131b1\"},{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"External\",\"@referredType\":null,\"id\":\"08ffdb3c-6237-45d0-9f3a-d43b5fc5f0b6\"},{\"@baseType\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"@schemaLocation\":null,\"@type\":\"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\"href\":null,\"name\":\"eMBB\",\"@referredType\":null,\"id\":\"ef2c90dd-b65e-4a9f-a9c3-427c9fb0219b\"}]}]\n\n\n</code></pre>"},{"location":"architecture/osom/","title":"Openslice Service Orchestration and Order Management - OSOM","text":"<p>OSOM is a service responsible for:</p> <ul> <li>Service Order Management (SOM)</li> <li>Service Orchestration (SO)</li> </ul> <p>It uses open source Flowable Business process engine (https://www.flowable.org) .</p> <p>A Service Order follows the states as defined in TMF641 specification: </p> <p></p>"},{"location":"architecture/osom/#initial-state","title":"Initial state","text":"<p>When a new order is created, it goes into the Initial state. It is stored in the repository and triggers an Event.</p> <p></p> <p>Administrators are notified usually from the Ticketing System of a new order. They login to Openslice and change the State of the order either to ACKNOWLEDGED or REJECTED. If ACKNOWLEDGED they can Propose a startDate, add Notes, and add any additional service items</p>"},{"location":"architecture/osom/#order-scheduler","title":"Order scheduler","text":"<p>A process checks every 1 minute for ACKNOWLEDGED orders.</p> <p></p> <p></p> <p>It retrieves all orders that are in ACKNOWLEDGED state and if the start date is in time it will initialize the process by settingn the order in IN_PROGRESS state. Finally the Start Order Process will start.</p>"},{"location":"architecture/osom/#start-order-process","title":"Start order process","text":"<p>This process for now is a draft simple prototype to make a simple orchestration via NFVO. Here the actual Services (TMF638/640 model) are created and attached to Service Order and Service Inventory.</p> <p></p> <p></p> <p>We expect here to check which tasks can be orchestrated by NFVO and which by human. We create the equivalent Services(TMF638/640 model) for this order.</p> <ol> <li>During check it should decide to create Service(s) for this service order O1 and send it to ServiceInventory</li> <li>The Services(TMF638 model) are assigned to the Order O1 In supportService List</li> <li>Each OrderItem OI1 is related to one serviceSpecification</li> <li>Each ServiceSpecification has also related serviceSpecRelationships</li> <li>So if we receive an order O1 for a ServiceSpec A which relates to (a bundle of) 3 specs(2 CFS, 1 RFS) we do the following:<ol> <li>Create a Service S_A(TMF638 model) for ServiceSpec A for Order O1</li> <li>We create also 3 Services S_C1, S_C2 and S_R1 equivalent to the serviceSpecRelationships (2 CFS, 1 RFS) </li> <li>At this point the order will have 1 Local Service Orchestration Process(S_A), 2 supportingServices refs(S_C1, S_C2) and 1 supportingResource(S_R1)</li> <li>The 3 supportingServices and 1 supportingResource correspond to total 4 Services in ServiceInventory</li> <li>Service S_A will have: <ol> <li>startMode 1: Automatically by the managed environment</li> <li>State: RESERVED and the Lifecycle will be handled by OSOM</li> </ol> </li> <li>Services S_C1 and S_C2 we decide that cannot be orchestrated then they have <ol> <li>startMode: 3: Manually by the Provider of the Service</li> <li>State: RESERVED and the Lifecycle will be handled by OSOM</li> <li>If the CFS is a bundle spec it is further recursively orchestrated </li> </ol> </li> <li>Service S_R1 will have <ol> <li>startMode 1: Automatically by the managed environment.</li> <li>State: RESERVED</li> <li>IF The Service has the characteristic CharacteristicByName( \"NSDID\") it will be further processed by the NFVO </li> </ol> </li> </ol> </li> </ol> <p>There will be two instances of task \"User Task Manual Complete Service\" each for Services S_C1 and S_C2. The task is Transient for now. It displays only the services that are not automated! Here is a flow for future:</p> <ol> <li>We wait here for human decision.</li> <li>From API we get a result: a. If set to ACTIVE/TERMINATED then we complete the task b. In any other state we stay in this task until it is resolved as in step a c. The Status of ORDER O1 is also updated to PARTIAL</li> </ol> <p>There will be an instance of NFVODeploymentRequest process each for Service S_R1. (see later)</p> <ol> <li>This process is related with the NFVO orchestration</li> <li>It will send a msg to NFVO(s?) for a specific deployment request</li> </ol> <p>All services in \"Order Complete\" are in a status:</p> <ol> <li>Depending on the result the service S_A is either ACTIVE or INACTIVE or TERMINATED</li> <li>The Status of ORDER O1 is also updated to COMPLETED or PARTIAL (in case we have some services running) or FAILED (in cases we have errors)</li> </ol> <p>A Service follows the states as defined in TMF638 Service Inventory specification: </p> <p></p>"},{"location":"architecture/osom/#nfvodeploymentrequest-process","title":"NFVODeploymentRequest process","text":"<p>This process is related with the NFVO orchestration It will send a msg to NFVO(s?) for a specific deployment request Then it checks the deployment status. It will wait 30 secs each time until the deployment is running (or failed)</p>"},{"location":"architecture/osom/#check-in-progress-orders-process","title":"Check In Progress orders process","text":"<p>Every 1 minute the \"Check In Progress Orders\" process is executed checking if a supported Service changed state (i.e. to ACTIVE) then the whole Order will change state (e.g. go to COMPLETED)</p> <p></p>"},{"location":"architecture/osom/#external-service-provider-deployment-request-process","title":"External Service Provider Deployment Request process","text":"<p>This process contains tasks for submitting order requests to external partners. - Submit Order To External Service Provider Task: This task creates automatically a Service Order request to a 3rd party provider SO that hosts the Service Specification - Check external service order fulfillment task: This task Check external partner for Service creations and updates our local inventory of services the service characteristics of remote Service Inventory</p>"},{"location":"architecture/osom/#fetch-partner-services-process","title":"Fetch Partner Services Process","text":"<p>Every 2 minutes the \"fetchPartnerServicesProcess\" process is executed checking remote Partner Organizations for changes in the published catalogues. The Fetch and Update External Partner Services Task is executed in paralle l for each Partner Organization </p>"},{"location":"architecture/osom/#local-service-orchestration-process","title":"Local Service Orchestration Process","text":"<p>This process handles automatically services that need to be further orchestrated or processed by OSOM. For example, for a CFS Bundled service we create such automated service instances that just aggregate the underlying services. </p>"},{"location":"architecture/tmfapi/","title":"TMF OpenAPI specification","text":"<p>PLease check the complete specification here.</p>"},{"location":"architecture/tmfapi/#api-interaction","title":"API interaction","text":""},{"location":"architecture/tmfapi/#oauth-token","title":"OAuth token","text":"<p>See oauth</p>"},{"location":"architecture/tmfapi/#request-a-protected-api-resource","title":"Request a protected API resource","text":"<p>Example: Get all Service Catalogs (check the <code>Authorization:Bearer</code> to be correct)</p> <pre><code>curl -H \"Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbIm9wZW5hcGkiLCJhZG1pbiIsInJlYWQiLCJ3cml0ZSJdLCJvcmdhbml6YXRpb24iOiJteW9yZ2FuaXp0aW9uIiwiZXhwIjoxNTc4NTA1MDcyLCJhdXRob3JpdGllcyI6WyJST0xFX01FTlRPUiIsIlJPTEVfQURNSU4iXSwianRpIjoiMTFlNGYxYTUtZDY0Ny00YzA1LWE0ZGMtYWFhYzUyMjk4YzMwIiwiY2xpZW50X2lkIjoib3NhcGlXZWJDbGllbnRJZE91dCJ9.gm7cKdusDrdMRkxEiFU5sENKGRC1xwVj2SgPRmE9xxx\" -H \"accept: application/json;charset=utf-8\" -X GET \"http://portal.openslice.io/tmf-api/serviceCatalogManagement/v4/serviceCatalog\"\n\n</code></pre> <p>response:</p> <pre><code>[\n {\n \"uuid\": \"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\n \"lastUpdate\": \"2019-12-19T10:45:55Z\",\n \"@baseType\": \"BaseEntity\",\n \"@schemaLocation\": null,\n \"@type\": \"ServiceCatalog\",\n \"href\": null,\n \"name\": \"Example Facility Services\",\n \"description\": \"Example Facility Services\",\n \"lifecycleStatus\": \"Active\",\n \"version\": \"1.0\",\n \"validFor\": {\n \"endDateTime\": \"2039-11-20T23:07:21Z\",\n \"startDateTime\": \"2019-11-20T23:07:21Z\"\n },\n \"relatedParty\": null,\n \"id\": \"9e186cd5-b2b2-4a06-b1d6-895720193bc9\",\n \"category\": [\n {\n \"@baseType\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"@schemaLocation\": null,\n \"@type\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"href\": null,\n \"name\": \"eMBB\",\n \"@referredType\": null,\n \"id\": \"ef2c90dd-b65e-4a9f-a9c3-427c9fb0219b\"\n },\n {\n \"@baseType\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"@schemaLocation\": null,\n \"@type\": \"org.etsi.osl.tmf.scm633.model.ServiceCategoryRef\",\n \"href\": null,\n \"name\": \"Generic Services\",\n \"@referredType\": null,\n \"id\": \"98b9adf1-a1d6-4165-855f-153ddc2131b1\"\n }\n ]\n }\n]\n</code></pre>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/","title":"CRIDGE: A Service to manage Custom Resources in a Kubernetes Cluster","text":""},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#intended-audience-osl-developers","title":"Intended Audience: OSL developers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.</p> <p>CRIDGE is a service designed to create and manage Custom Resources (CRs) based on Custom Resource Definitions (CRDs) installed on a Kubernetes cluster. By leveraging the OpenSlice (OSL), CRIDGE enables seamless integration and orchestration within Kubernetes environments, utilizing Kubernetes APIs via the TMF APIs and models. Thus, more or less, OSL exposes Kubernetes APIs as TMF APIs and models.</p> <p>By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OSL can be used in many complex scenarios now involing resources from multiple domains.</p> <ol> <li> <p>CRIDGE service allows OSL to:</p> <ul> <li>Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.</li> <li>Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.</li> <li>Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs</li> <li>Wraps the Kubernetes API, Receives and provides resources towards other OSL services via the service bus</li> </ul> </li> <li> <p>Enabling Loose Coupling and Orchestration</p> <ul> <li>Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.</li> <li>Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.</li> </ul> </li> <li> <p>Ecosystem Reusability</p> <ul> <li>CRIDGE capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).</li> <li>Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.</li> </ul> </li> <li> <p>Service Catalog Exposure and Deployment</p> <p>OSL can expose CRs in service catalogs, facilitating their deployment in complex scenarios. These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.</p> </li> </ol> <p>Why the CRIDGE name? we wanted to build a service that maps TMF models to CRDs; a kind of a CRD to TMF bridge. Therefore CRIDGE was born</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#approach","title":"Approach","text":"<p>OSL in general is responible for exposing service specifications which are ready to be ordered and orchestrated, through tmforum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.</p> <p>The following image illustrates the approach.</p> <p></p> <ol> <li>A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog</li> <li>Service Orders can be created for this service specification. The OSL Orchestrator (OSOM) will manage the lifecycle of the Service Order.</li> <li>OSOM creates a Resource in OSL Resource inventory and requests (via CRIDGE) a new Custom Resource (CR) in the target cluster<ul> <li>The resource is created in a specific namespace (for example the UUID of the Service Order)</li> <li>A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory</li> <li>Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order</li> </ul> </li> </ol> <p></p> <p>The provided image illustrates the architecture and workflow of the CRIDGE service, showing how it interacts with other components within a Kubernetes (K8s) cluster. Here is an explanation of the key components and flow in the diagram:</p> <ul> <li>Other OSL Services: This box represents various OSL services such as Service Spec Catalogue, Resource Spec Catalogue, Service Inventory, Resource Inventory, and OSOM (OpenSlice Service Orchestration and Management).</li> <li>Service Bus: This is the communication layer that facilitates interaction between the CRIDGE service and other OSL services.</li> <li>CRIDGE: CRIDGE acts as a bridge that converts CRDs (Custom Resource Definitions) to TMF (TM Forum) APIs and models. It enables the creation and management of Custom Resources (CRs) in the Kubernetes cluster.</li> <li> <p>K8s API: The Kubernetes API server, which is the central control point for managing the Kubernetes cluster. CRIDGE interacts with the K8s API to manage CRDs and CRs.</p> <p>CRD (Custom Resource Definition): A CRD is a way to define custom resources in Kubernetes cluster-wise. It allows the extension of Kubernetes API to create and manage user-defined resources. Example :</p> </li> </ul> <pre><code> apiVersion: apiextensions.k8s.io/v1\n kind: CustomResourceDefinition\n metadata:\n name: myresource.example.com\n</code></pre> <ul> <li>Namespaces: Kubernetes namespaces provide a way to partition resources within a cluster. The diagram shows that multiple namespaces (nsxx, nsyy, nsz) can be managed by CRIDGE.</li> </ul> <p>CR (Custom Resource): A CR is an instance of a CRD. It represents the actual custom resource that is managed within the Kubernetes cluster. Example shown in different namespaces:</p> <pre><code> apiVersion: example.com/v1\n kind: Myresource\n metadata:\n name: example_resource_1\n</code></pre> <p>In a nutchell:</p> <ul> <li>Various OSL services use the Service Bus to communicate with CRIDGE.</li> <li>CRIDGE converts requests towards Kubernetes API and vice-versa, facilitating the integration of custom resources with other OSL services.</li> <li>CRDs are defined and managed through the K8s API. The example CRD is named myresource.example.com.</li> <li>Deploying CRs in Namespaces: Custom resources defined by the CRD are created and managed within different namespaces in the Kubernetes cluster. Each namespace can have its own instances of the custom resources.<pre><code>> The example CRD myresource.example.com allows the creation of custom resources of type Myresource.\n> Instances of Myresource are created in various namespaces, each with unique names like example_resource_1.\n</code></pre> </li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#handling-more-than-one-clusters","title":"Handling more than one clusters","text":"<p>A CRIDGE service is usually responsible for managing one cluster. In the following diagram we show how it can be used for managing multiple clusters:</p> <p></p> <p>We assume that there is an OSL Management cluster that OSL is installed. CRIDGE is also installed there if we would like to manage resources in the same management cluster. - Each CRIDGE service has for example its own configuration to connect to target cluster - Each CRIDGE can be installed either in the managed cluster or at the remote clusters. Connectivity is handled via the service bus - Important: Each CRIDGE has a different context and API endpoints. This is used to request CRDs on a different cluster</p> <p>A CRD has a globally unique name for example mycrd.example.com. So we need to somehow identify also the different cluster</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#awareness-for-crds-and-crs-in-cluster","title":"Awareness for CRDs and CRs in cluster","text":"<p>CRDs and CRs can appear (disappear) or change status at any time in a cluster. OSL Resource Inventory need to be aware of these events.</p> <p>The sync process is found in the code and explained by the following picture:</p> <p></p> <p>WatcherService is executed when the cridge service application starts (see onApplicationEvent). First things:</p> <ul> <li>KubernetesClientResource is a class that wraps fabric8\u2019s KubernetesClient<ul> <li>This fabric8 KubernetesClient is initialized from the kubeconf and default context of the machine that runs CRIDGE</li> </ul> </li> <li>On CRIDGE Start up we try to register this cluster and context to OSL catalogs.<ul> <li>See registerKubernetesClientInOSLResource method which registers the KubernetesContextDefinition in Resource Inventory as a LogicalResource via createOrUpdateResourceByNameCategoryVersion method</li> </ul> </li> <li>After the creation(or update) of this cluster as a Resource in OSL we proceed to create SharedIndexInformers for CustomResourceDefinition objects</li> <li>In this way CRIDGE is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL(CRIDGE)</li> <li>The SharedIndexInformer events notify CRIDGE, which is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL(CRIDGE)<ul> <li>NOTE: The ADD event is raised every time also we run CRIDGE. Therefore, on ADD we do the method to createORupdate resource specifications and resources</li> </ul> </li> <li>On ADD event:<ul> <li>The CRD is transformed to OSL Kubernetes domain model: method kubernetesClientResource.KubernetesCRD2OpensliceCRD</li> <li>Then the OSL Kubernetes domain model is:<ul> <li>transformed to Resource Specification and is stored to catalog (see createOrUpdateResourceSpecByNameCategoryVersion)</li> <li>Transformed to Resource and is stored to catalog (see createOrUpdateResourceByNameCategoryVersion)</li> </ul> </li> <li>Conceptually while a CRD is a new resource located in the Kubernetes cluster resource, it is transformed also as a Resource Specification (a high-level entity) which is ready to be reused as an entity to other scenarios. The same concept as in Kubernetes where a CRD is a definition ready to be used for instantiating resources of this CRD</li> <li>Then for this CRD a Watcher is added for all Resources of this Kind (fabric8\u2019s GenericKubernetesResource entity) </li> <li>When we have a newly added/updated/deleted resource of a certain CRD the method updateGenericKubernetesResourceInOSLCatalog is called for this object (fabric8\u2019s GenericKubernetesResource entity)</li> <li>We examine if the resource has label org.etsi.osl.resourceId<ul> <li>This label is added by OSOM during service orders to correlate K8S requested resources with resources in inventory</li> </ul> </li> <li>If the label exists, we update the resource by ID updateResourceById</li> <li>Else a resource is created in catalog</li> </ul> </li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#deployment-of-a-new-cr-based-on-a-crd","title":"Deployment of a new CR based on a CRD","text":"<ul> <li>A message arrives to deploy a CR<ul> <li>The call examines if this CRIDGE service can handle the request (based on context and masterURL)</li> </ul> </li> <li>There are headers received and a crspec in json</li> <li>The crspec is unmarshaled as GenericKubernetesResource</li> <li>Headers are in format org.etsi.osl.*</li> <li>These headers are injected as labels <ul> <li>(see later in orchestration)</li> </ul> </li> <li>A namespace is created for this resource</li> <li>Watchers are created for this namespace for e.g. new secrets, config maps etc , so that they can be available back as resources to the Inventory of OSL (Note only Secrets for now are watched)</li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#expose-crds-as-service-specifications-in-openslice-catalogs","title":"Expose CRDs as Service Specifications in OpenSlice catalogs","text":"<p>See ExposingKubernetesResources</p>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#service-orchestration-and-crdscrs","title":"Service Orchestration and CRDs/CRs","text":"<p>OSOM checks the presence of attribute _CR_SPEC at the RFS to make a request for a CR deployment</p> <ul> <li>_CR_SPEC is a JSON or YAML string that is used for the request<ul> <li>It is similar to what one will do with e.g. a kubectl apply</li> <li>There are tools to translate a yaml file to a json</li> </ul> </li> </ul> <p>LCM rules can be used to change attributes of this yaml/json file, before sending this for orchestration</p> <p>However, the following issue needs to be solved: ** How to map the CR lifecycle that is defined in the CRD with the TMF resource Lifecycle? ** - For this We introduced the following characteristics: _CR_CHECK_FIELD, _CR_CHECKVAL_STANDBY, _CR_CHECKVAL_ALARM, _CR_CHECKVAL_AVAILABLE, _CR_CHECKVAL_RESERVED, _CR_CHECKVAL_UNKNOWN, _CR_CHECKVAL_SUSPENDED</p> <p>OSOM sends to CRIDGE a message with the following information:</p> <ul> <li>currentContextCluster: current context of cluster </li> <li>clusterMasterURL: current master url of the cluster </li> <li>org.etsi.osl.serviceId: This is the related service id that the created resource has a reference </li> <li>org.etsi.osl.resourceId: This is the related resource id that the created CR will wrap and reference. </li> <li>org.etsi.osl.prefixName: we need to add a short prefix (default is cr) to various places. For example in K8s cannot start with a number </li> <li>org.etsi.osl.serviceOrderId: the related service order id of this deployment request </li> <li>org.etsi.osl.namespace: requested namespace name </li> <li>org.etsi.osl.statusCheckFieldName: The name of the field that is needed to be monitored in order to monitor the status of the service and translate it to TMF resource statys (RESERVED AVAILABLE, etc) </li> <li>org.etsi.osl.statusCheckValueStandby: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state STANDBY (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueAlarm: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state ALARMS (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueAvailable: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state AVAILABLE (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueReserved: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state RESERVED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>org.etsi.osl.statusCheckValueUnknown: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state UNKNOWN (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li> <p>org.etsi.osl.statusCheckValueSuspended: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state SUSPENDED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </p> </li> <li> <p>Parameters:</p> <ul> <li>aService reference to the service that the resource and the CR belongs to</li> <li>resourceCR reference the equivalent resource in TMF repo of the target CR. One to one mapping</li> <li>orderId related service order ID</li> <li>startDate start date of the deployment (not used currently)</li> <li>endDate end date of the deployment (not used currently)</li> <li>_CR_SPEC the spec that is sent to cridge (in json)</li> </ul> </li> <li> <p>Returns:</p> <ul> <li>a string response from cridge. It might return \"OK\" if everything is ok. \"SEE OTHER\" if there are multiple CRIDGEs then some other cridge will handle the request for the equivalent cluster. Any other response is handled as error</li> </ul> </li> <li> <p>CRIDGE receives the message and creates according to the labels the necessary CR</p> </li> <li>It monitors the created resource(s) in namespace (see the Sequence Diagram in previous images)</li> <li>It monitors and tries to figure out and map the Status of the CR to the TMF Status according to the provided org.etsi.osl.statusCheck* labels</li> <li>It sends to the message bus the current resource for creation or update to the TMF service inventory</li> </ul>"},{"location":"architecture/CRIDGE/CRIDGEforDevelopers/#probe-further","title":"Probe further","text":"<ul> <li>See examples of exposing operators via OpenSlice:<ul> <li>Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice</li> </ul> </li> </ul>"},{"location":"contributing/developing/","title":"Developing","text":"<p>OpenSlice backend services are mainly implemented with Java 17 or above and Spring boot.</p> <p>OpenSlice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at docker-compose.yaml file).</p> <p>To get the latest development branch:</p> <pre><code>wget https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/raw/develop/compose/deploy.sh \nsudo ./deploy.sh develop #[or replace develop with other branch name]\n</code></pre> <p>You may follow the installation process, as described at \"develop\" tagged documentation.</p> <p>To work on a specific subsystem e.g. org.etsi.osl.tmf.api, you must:</p> <p>1a - Deploy only the core necessary subsystems through:</p> <pre><code>sudo docker compose --profile dev down;sudo docker compose --profile dev up -d --build\n</code></pre> <p>Note --profile dev that will only deploy the core dependency subsystems, instead of the whole OpenSlice.</p> <p>1b - Or alternatively, commend out the respective container from the docker-compose.yaml file, so as to deploy the whole OpenSlice, except the subsystem you want to work on, following the provided installation steps.</p> <p>2 - Clone the respective repository, e.g. https://labs.etsi.org/rep/osl/code/org.etsi.osl.tmf.api/-/tree/develop</p> <p>3 - Code :)</p>"},{"location":"contributing/developing/#general-requirements","title":"General requirements","text":"<ul> <li>Docker should be installed in your development environment</li> <li>Run the core subsystems (see above section)</li> </ul>"},{"location":"contributing/developing/#slack","title":"Slack","text":"<p>Feel free to join OpenSlice Slack for any development oriented questions.</p>"},{"location":"contributing/developing/#examples-of-developing-on-specific-subsystems","title":"Examples of developing on specific subsystems","text":""},{"location":"contributing/developing/#vnfnsd-catalog-management-and-nsd-deployment-api-service","title":"VNF/NSD Catalog Management and NSD Deployment API service","text":"<p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.api/-/tree/develop</p> <p>Check the docker-compose.yml file. Default port is 13080. Check specifically the datasource username/password, server port.</p> <p>Make sure that the core subsystems are up and running.</p> <p>Execute it with </p> <pre><code>mvn spring-boot:run\n</code></pre> <p>For verification, Swagger API of the service is at <code>http://localhost:13000/osapi/swagger-ui/index.html</code>. </p> <p>There, you may try there various REST actions and authenticate via the OAuth server without the use of the UI.</p>"},{"location":"contributing/developing/#vnfnsd-catalog-management-and-nsd-deployment-web-ui-service","title":"VNF/NSD Catalog Management and NSD Deployment WEB UI service","text":"<p>The Web UI is written in AngularJS.</p> <p>Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.web/-/tree/develop</p> <p>By default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to <code>http://localhost:13000/osapi/testweb/index.html/</code></p>"},{"location":"contributing/developing/#versionrelease-management","title":"Version/release management","text":"<p>Check this nice article on how we develop and release versions.</p> <p>https://nvie.com/posts/a-successful-git-branching-model/</p> <p>We develop in the develop branch and follow a issue driven development model.</p>"},{"location":"contributing/developing/#wishlist","title":"Wishlist","text":"<p>Check also our wishlist of new features. You can add your own.</p> <p>See Wishlist.</p>"},{"location":"contributing/wishlist/","title":"TMF API","text":"<ul> <li>RBAC of API endpoints</li> <li>TMF Ticketing API support</li> <li>TMF Product</li> <li>HATEOAS integration</li> <li>Select Specs that can be exposed to partners (maybe with a characteristic?)</li> </ul>"},{"location":"contributing/wishlist/#resource-management","title":"resource management","text":"<ul> <li>Resource Activation and Configuration API TMF702 (NEW) (https://projects.tmforum.org/wiki/pages/viewpage.action?pageId=128855518)</li> </ul>"},{"location":"contributing/wishlist/#tmf-web","title":"TMF WEB","text":""},{"location":"contributing/wishlist/#osom","title":"OSOM","text":"<ul> <li>Actions on service order item and acknowledge order status will define the lifecycle</li> <li>action shutdown on specific date for service order</li> <li>action edit on service order item</li> </ul>"},{"location":"contributing/wishlist/#dynamic-attribute-transformation","title":"Dynamic attribute transformation","text":"<ul> <li>DTM decision tables support per Service Specification</li> <li>Schedule Termination of completed order on running services</li> </ul>"},{"location":"contributing/wishlist/#nfvo-connectivity","title":"NFVO connectivity","text":""},{"location":"contributing/wishlist/#osm-client","title":"OSM Client","text":"<ul> <li>VNF/NSD config params Day 2</li> <li>NSD Lifcecylce</li> <li>NST support</li> </ul>"},{"location":"contributing/wishlist/#nfv-api","title":"NFV API","text":""},{"location":"contributing/wishlist/#nfv-web","title":"NFV WEB","text":""},{"location":"contributing/wishlist/#3rd-party-connectivity","title":"3rd party connectivity","text":""},{"location":"contributing/wishlist/#flowone-connector","title":"FlowOne connector","text":""},{"location":"contributing/wishlist/#openstack-connector","title":"Openstack connector","text":""},{"location":"contributing/wishlist/#kubernetes-connector","title":"Kubernetes connector","text":""},{"location":"contributing/wishlist/#centrallog","title":"CentralLog","text":"<ul> <li>Events from TMF to be written to Central Log</li> </ul>"},{"location":"contributing/wishlist/#authentication","title":"Authentication","text":""},{"location":"naas/exposed_apis/","title":"Supported TMFORUM exposed APIs","text":"Endpoint Title Description Version /tmf-api/serviceCatalogManagement/v4 633 Service Catalog Management Provides a catalog of services. 4.0.0 /tmf-api/productCatalogManagement/v4/ 620 Product Catalog Management Provides a catalog of products. 4.0.0 /tmf-api/productOrderingManagement/v4/ v622 Product Ordering Provides a standardized mechanism for placing a product order. 4.0.0 /tmf-api/resourceCatalogManagement/v4 634 Resource Catalog Management This is Swagger UI environment generated for the TMF Resource Catalog Management specification. 4.0.0 /tmf-api/serviceInventory/v4 638 Service Inventory Management Provides a consistent/standardized mechanism to query and manipulate the Service inventory. 4.0.0 /tmf-api/serviceOrdering/v4 641 API ServiceOrdering Provides a standardized mechanism for managing Service Order. 4.0.0 /tmf-api/serviceQualityManagement/v2 657 Service Quality Management This is Swagger UI environment generated for the TMF Service Quality Management specification. 2.0.0 /tmf-api/partyRoleManagement/v4/ 669 Party Role Management This is Swagger UI environment generated for the TMF Party Role Management specification. 4.0.0 /tmf-api/party/v4/organization 632 API Party Provides standardized mechanism for party management such as creation, update, retrieval, deletion and notification of events. 4.0.0 /tmf-api/agreementManagement/v2/ 651 Agreement Management T his is Swagger UI environment generated for the TMF Agreement Management specification. 2.0.0 /tmf-api/resourceOrderingManagement/v4 652 Resource Order Management-v4.0.0 This is Swagger UI environment generated for the TMF 652-Resource Order Management-v4.0.0 specification. 4.0.0 /tmf-api/accountManagement/v4 666 Account Management This is Swagger UI environment generated for the TMF Account Management specification. 4.0.0 /tmf-api/customerManagement/v4 629 Customer Management TMF Customer Management 4.0.0 /tmf-api/userinfo 691 Federated ID TMF Federated ID 1.0.0 /tmf-api/ServiceActivationAndConfiguration/v3/ 640 API Service Activation and Configuration Provides the ability to activate and configure Services. 3.0.0 /tmf-api/alarmManagement/v4/ 642 API Alarm 4.0.0 /tmf-api/serviceTestManagement/v4 653 Service Test Management Provides the ability to manage tests of provisioned Services. 4.0.0 /tmf-api/resourceInventoryManagement/v4 639 API Resource Inventory Management Provides the ability to manage Resources. 4.0.0 /tmf-api/lcmrulesmanagement/v1/ LCM Rules Custom API environment for LCM Rules 1.0.0 /tmf-api/resourcePoolManagement/v1 685 Resource Pool Management Resources that can be reserved are only in one pool. 1.0.0 /tmf-api/geographicSiteManagement/v5 674 Geographic Site Management Covers the operations to manage sites that can be associated with entities 5.0.0"},{"location":"naas/gst_to_tmf/","title":"Generic Slice Template as a Service Specification","text":""},{"location":"naas/gst_to_tmf/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>GSMA Generic Slice Template (GST) Defines customer-oriented service requirements, E.g. Availability, Area of service, delay tolerance, etc. and attempts to narrow down the gap between (network) service customers and vendors</p> <p>Moreove it Proposes standardized Network Slice Templates (NESTs) to target specific use cases</p> <p>In OpenSlice we made an effort and translated the GST to a Service Specification model. So Service Designers can use it as a template to design a new Service.</p> <p>The image illustrates the relationship between the GSMA Generic Slice Template (GST), TM Forum Service Specification, and how they are utilized within OpenSlice to offer network services.</p> <p></p> <p>The GST to TM Forum via OpenSlice:</p> <pre><code> * GST Attributes List: A comprehensive list of service attributes, such as availability, delay tolerance, downlink throughput, energy efficiency, isolation level, mission-critical support, and many others.\n * TMF Service Specification: Demonstrates the transformation of GST attributes into a TM Forum service specification, showing JSON code snippets that define service parameters.\n * Offered Service based on GST: Represents the final offered service, an example of a GST-based service shown as an entry in a catalog, ready to be consumed by customers.\n</code></pre> <p>What was our flow:</p> <pre><code>* Started with defining service requirements and attributes using GST.\n* Translated these GST attributes into a formal TM Forum service specification.\n* Service Offering in OpenSlice: The service specification is then used to create and offer a specific network service within OpenSlice, available for customer selection and deployment.\n</code></pre>"},{"location":"naas/gst_to_tmf/#probe-further","title":"Probe further","text":"<p>See v9 of the GST model in GSMA here</p>"},{"location":"naas/introduction/","title":"Network as a Service (NaaS)","text":"<p>This section describes some core concepts for Delivering Network as a Service in OpenSlice. There are many articles and reports on the subject like:</p> <ul> <li>TMF909 API Suite Specification for NaaS</li> <li>TMF926A Connectivity_as_a_Service </li> <li>TMF931-Open_Gateway_Onboarding_and_Ordering_Component_Suite</li> <li>GSMA Open Gatewy initiative</li> </ul> <p>In general Network as a Service (NaaS) is a service model that allows users to consume network infrastructure and services , similar to how they would consume other cloud services like Software as a Service (SaaS) or Infrastructure as a Service (IaaS). NaaS abstracts the complexity of managing physical network infrastructure, providing users with virtualized network resources that can be dynamically allocated and managed through software.</p>"},{"location":"naas/introduction/#openslice-and-naas","title":"OpenSlice and NaaS","text":"<p>OpenSlice makes extensive use of TMFORUM's models and APIs. Therefore if one is familiar with TMF APIs the terminology and ideas are the same.</p> <p>To deliver NaaS we need to incorporate various APIs (see TMF909 API Suite Specification for NaaS). OpenSlice implements various TMF APIs to deliver NaaS and support the lifecycle functions required to manage the network capabilities exposed as Network as a Service and managed by operational domains.</p>"},{"location":"naas/introduction/#probe-further","title":"Probe further","text":"<ul> <li>For a complete list of supported APIs, see Supported APIs</li> <li>Check the defined user roles of OpenSlice in our Terminology</li> </ul>"},{"location":"naas/lcm_intro/","title":"Lifecycle Management - LCM","text":"<p>Lifecycle Management: The orchestration framework handles the activation, termination and any necessary modifications throughout the service lifecycle.</p>"},{"location":"naas/lcm_intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>In OpenSlice the Lifecycle of a service follows in general the concept of Network Slice lifecycle as defined by 3GPP.</p> <p></p>"},{"location":"naas/lcm_intro/#introduction-in-openslice-lcm","title":"Introduction in OpenSlice LCM","text":"<p>OpenSlice adopted the LCM model by 3GPP and mapped to the TMF model service state. Next we discuss briefly the process and the relationships.</p> <p>The lifecycle of a service, particularly in the context of Network Service lifecycle encompasses several stages that ensure the service is effectively planned, deployed, managed, and eventually decommissioned. </p> <p>Here is an overview of these stages and relationships with OpenSlice:</p>"},{"location":"naas/lcm_intro/#0-preparation-phase","title":"0. Preparation Phase","text":"<p>This phase is performed by Service Designers</p>"},{"location":"naas/lcm_intro/#service-design","title":"Service Design:","text":"<ul> <li>Requirements Gathering: Collect service requirements from stakeholders, including performance metrics, quality of service (QoS), security needs, and geographical coverage.</li> <li>Service Specification: Define the service in terms of functionalities, attributes, and dependencies. This can be formalized using standardized templates such as the GSMA Generic Slice Template (GST).</li> <li>Resource Planning: Identify and plan the required resources, including network functions, computing power, storage, and connectivity, inclluding network function configurations.</li> <li>Expose to Service Catalog: Expose to service catalog for user ordering.</li> </ul> <p>Next phases are handled by the Service Orchestrator after a service is scheduled for instantiation</p> <p>If it is a bundle of services, each services follows its own Lifecycle!</p>"},{"location":"naas/lcm_intro/#1-instantiation-phase","title":"1. Instantiation Phase","text":""},{"location":"naas/lcm_intro/#service-instantiation","title":"Service Instantiation:","text":"<ul> <li>Configuration: Configure the network service according to the specifications including the user requirements from the service order, ensuring that all components are correctly set up to provide the desired service.</li> <li>Resource Allocation - Feasibility check: Allocate the necessary physical and virtual resources based on the service specification. This includes any containerized resources, virtual network functions (VNFs) and software-defined networking (SDN) components. (This step is not performed in OpenSlice)</li> <li>OpenSlice Service Orchestrator creates the services at \"RESERVED\" state</li> <li>User Notification: There could be an email notification from the system (if Bugzilla is configured)</li> </ul>"},{"location":"naas/lcm_intro/#service-deployment","title":"Service Deployment:","text":"<ul> <li>Activation: OpenSlice Service Orchestrator activates the network service and makes the service available to the end-users. This may involve:</li> <li>Create any related services that the service depends on</li> <li>Contacting all related controllers during provisioning, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls)</li> <li>Scheduling instantiation, Resolving dependencies and passing paramemters between controllers,</li> <li>setting up user accounts, provisioning access credentials -this is performed either offline or via other services.</li> <li>OpenSlice Service Orchestrator if everything is succesful puts the service at \"ACTIVE\" state</li> <li>User Notification: There could be an email notification from the system (if Bugzilla is configured)</li> </ul>"},{"location":"naas/lcm_intro/#2-operation-phase","title":"2. Operation Phase","text":""},{"location":"naas/lcm_intro/#service-operation","title":"Service Operation:","text":"<ul> <li>Lifecycle Management: Manage the network slice throughout its lifecycle, including scaling, reconfiguration, and adaptation to changing requirements. </li> <li>In OpenSlice this is performed with Lifecycle management Rules (see next)</li> </ul> <p>In this phase the Service Designer can define several aspects. Be aware that these are NOT performed automatically by OpenSlice - further examples and future enhancements will address these. This could include:</p> <ul> <li>Monitoring: Continuously monitor the service for performance, availability, and compliance with SLAs. Utilize tools for real-time tracking and alerts for any anomalies or performance degradation.</li> <li>Maintenance: Conduct regular maintenance activities, including software updates, patching, and optimization to ensure the service runs smoothly.</li> <li>Scaling: Dynamically scale the resources up or down based on the demand and performance requirements.</li> <li>Fault Management: Detect and resolve faults in the network slice to minimize downtime and maintain service quality.</li> </ul>"},{"location":"naas/lcm_intro/#3-decommissioning-phase","title":"3. Decommissioning Phase","text":"<ul> <li>Service Termination: Service Orchestrator terminates the network service. This may involve:</li> <li>Terminate any related services that the service depends on</li> <li>Contacting all related controllers during termination to release resources, e.g. Kubernetes controllers, Kubernetes operators, MANO Orchestrators, RAN controllers, SDN Controlles, or other external services (e.g. via REST calls)</li> <li>Scheduling termination, Resolving dependencies and passing paramemters between controllers</li> <li>OpenSlice Service Orchestrator, if everything is succesful, puts the service at \"TERMINATED\" state</li> <li>User Notification: There could be an email notification from the system (if Bugzilla is configured)</li> </ul>"},{"location":"naas/lcm_intro/#high-level-example-enhanced-mobile-broadband-embb-service-lifecycle","title":"High level example: Enhanced Mobile Broadband (eMBB) Service Lifecycle","text":"<ol> <li>Preparation:</li> <li>Define eMBB service requirements for high bandwidth and low latency.</li> <li>Create an eMBB service specification template specifying related services and resources to Kubernetes Operators, VNFs for content delivery and traffic management.</li> <li> <p>Expose to catalog</p> </li> <li> <p>Instantiation:</p> </li> <li>Instantiate other services and allocate resources such as edge computing nodes and high-capacity links.</li> <li> <p>Configure the service to prioritize video streaming traffic.</p> </li> <li> <p>Operation:</p> </li> <li>Monitor the service to ensure it meets high-bandwidth requirements.</li> <li> <p>Scale up resources during peak usage periods, such as live sports events.</p> </li> <li> <p>Decommissioning:</p> </li> <li>Notify users about service termination.</li> <li>Decommission the network service, reclaiming resources for other services.</li> </ol>"},{"location":"naas/lcm_intro/#probe-further","title":"Probe further","text":"<ul> <li>See 3GPP Lifecycle</li> </ul>"},{"location":"naas/lcm_rules_intro/","title":"Lifecycle Management Rules - LCM Rules","text":"<p>Lifecycle Management Rules: Defining complex conditions and actions during the lifecycle of a service and any necessary modifications throughout the service lifecycle.</p>"},{"location":"naas/lcm_rules_intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>OpenSlice end-to-end (E2E) service orchestrator follows some predefined workflows to manage a service lifecycle (They are described in BPMN language and included in our orchestration engine)</p> <p>So in the system there are already predefined recipes, which in each process-step of the workflow some piece of code is executed. </p> <p>How is it possible to intervene in the workflow process and inject some user defined actions? The next image illustrates the idea</p> <p></p> <p>## How is it possible to intervene in the workflow process and affect it?</p> <p>LCM Rules are used for defining complex conditions and actions during the lifecycle of a service. In Openslice there are the following types of rules defined:</p> <ul> <li>PRE_PROVISION</li> <li>CREATION</li> <li>AFTER_ACTIVATION </li> <li>SUPERVISION </li> <li>AFTER_DEACTIVATION </li> </ul> <p>The following figure displays the different phases that the rules are performed, during the lifecycle of a Network Service Instance. </p> <p></p> <ul> <li>PRE_PROVISION rules: Run only once just before creating a service with a given priority. </li> <li>CREATION rules: Run while the referenced service dependencies of a service are created</li> <li>AFTER_ACTIVATION rules: Run only once just after a service get the ACTIVE state</li> <li>SUPERVISION rules: Run when a characteristic of a service is changed and the service is in the ACTIVE state </li> <li>AFTER_DEACTIVATION rules: Run only once just after a service get the INACTIVE/TERMINATED state </li> </ul> <p>In general the rules allow to perform many actions during service LCM. These are some examples:</p> <ul> <li>Modify service specification parameters before the instantiation of a service (or during operation) based on other dependencies. These parameters might be part of other services already included in Service order</li> <li>Translate GST/NEST parameter values to other values passed later to NFVO for instantiation or control</li> <li>Define complex OSM Configs based on other dependencies and passing variables</li> <li>Define any dependencies when creating the referenced services</li> <li>Dynamically include new service dependencies</li> <li>Create new service orders so include dynamically other services</li> <li>Call external (RESTful) services (via http(s), define payload, examine response)</li> </ul>"},{"location":"naas/lcm_rules_intro/#examine-if-the-rules-are-executed-successfully","title":"Examine if the rules are executed successfully","text":"<p>Rules are transformed automatically to executable code (currently is Java). If a rule is performed successfully or has any issues (e.g. unexpected syntax errors or exceptions) appear in OSOM logfiles and also tey are attached as Notes to the running Service.</p>"},{"location":"naas/lcm_rules_intro/#probe-further","title":"Probe further","text":"<ul> <li>In the Service Design section we present in details the Lifecycle rules and how one can design them</li> <li>Many of them are used in our provided Service Design examples</li> </ul>"},{"location":"naas/resource_catalog/","title":"OpenSlice Resource Catalog:","text":"<pre><code>* Resource Specifications: Defines the underlying resources required to deliver services, such as network components, servers, and software.\n* Resource Availability: Tracks the availability and status of resources to ensure efficient service delivery.\n</code></pre>"},{"location":"naas/service_catalog/","title":"OpenSlice Service Catalogs","text":"<p>OpenSlice offers complete management of Service Catalogs.</p>"},{"location":"naas/service_catalog/#intended-audience-service-designers-openslice-administrators-users","title":"Intended Audience: Service Designers, OpenSlice administrators, Users","text":"<p>OpenSlice offers complete management of Service Catalogs which offer to end users:</p> <ul> <li>Service categories: Lists the available services, including their specifications and performance metrics.</li> <li>Service Bundles: Combines multiple services into a single offering to provide added value to customers.</li> </ul> <p>Service Catalogs contain Service Specifications (organized in Service Categories) exposed to users for Service Orders.</p>"},{"location":"naas/service_catalog/#ui-management","title":"UI management","text":"<p>In the UI this looks like the following. Service catalogs and categories exposed in Service marketplace. </p> <p>In the menu the administrator can manage the Service Catalogs and Categories.</p> <p></p>"},{"location":"naas/service_catalog/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0\n\nendpoint examples:\n\n/serviceCatalogManagement/v4/serviceCatalog List or find ServiceCatalog objects\n/serviceCatalogManagement/v4/serviceCategory List or find ServiceCategory objects\n\n</code></pre>"},{"location":"naas/service_catalog/#example-use-case","title":"Example Use Case","text":"<p>Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers.</p> <ul> <li>Service Definition: Service Template thus create a template for the XXXX service, including specifications for bandwidth, network features, and performance metrics.</li> <li>Service Catalog Integration: Add to Service Catalog the XXXX service with all relevant details.</li> <li>Service Delivery/Order: Provision Service by Using the orchestration system to provision and configure the XXXX service based on customer orders.</li> </ul>"},{"location":"naas/service_catalog/#probe-further","title":"Probe further","text":"<ul> <li>Read the model of Service Catalogs in TMF TMF633 Service Catalog API User Guide v4.0.0</li> <li>Check a demo of the API here</li> <li>Check a demo of the Catalog and Categories here</li> </ul>"},{"location":"naas/service_inventory/","title":"Service Inventory","text":"<p>Service Inventory contains refences to running services that realize a Service Order</p>"},{"location":"naas/service_inventory/#intended-audience-service-designers-openslice-administrators-users","title":"Intended Audience: Service Designers, OpenSlice administrators, Users","text":"<p>The Service Inventory is a repository that maintains detailed records of all active services and the underlying resources that support them. It acts as a central repository, tracking the lifecycle of each service from provisioning to decommissioning, and includes references to the specific virtual and physical resources that realize the service, such as servers, network components, storage, and software instances. </p> <p>This inventory enables real-time visibility into the status, configuration, and dependencies of each service, facilitating effective management, troubleshooting, and optimization. </p> <p>By providing a view of the active services, the Service Inventory includes services/resource allocation, and ensures that services are delivered in alignment with the inital requst. </p>"},{"location":"naas/service_inventory/#ui-management","title":"UI management","text":"<p>Through the menu and dedicated forms the administrator can manage the Service Inventory and any active Services (reconfigure or terminate).Various examples in this document will guide you to the usage and the management of the Services in Service Inventory.</p>"},{"location":"naas/service_inventory/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-638-ServiceInventoryManagement-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceInventory/v4/service List or find Service objects</p>"},{"location":"naas/service_inventory/#probe-further","title":"Probe further","text":"<ul> <li>See Ordering Services from catalogs</li> <li>See Service Design</li> </ul>"},{"location":"naas/service_ordering/","title":"Service Ordering","text":"<p>Customer Facing Service Specifications - or also CFSSpec (organized in Service Categories) are exposed to users for Service Orders.</p>"},{"location":"naas/service_ordering/#intended-audience-service-designers-openslice-administrators","title":"Intended Audience: Service Designers, OpenSlice administrators","text":"<p>The Service Order process is a structured sequence of steps initiated by a customer's Service Order request for a specific service, aimed at delivering and activating the desired service or services (if it is a service bunlde), as well as its related services. It begins with the customer submitting a service request through OpenSlice Services portal or the Service Order API, specifying the necessary details such as service specification, configurations, and any specific requirements.</p> <p>The request is then validated and verified for completeness and eligibility by an administrator which marks the Service Order as ACKNOWLEDGED otherwise it rejects it. </p> <p>Once ACKNOWLEDGED, the service order is processed by OpenSlice orchestration system (OSOM), which schedules/automates the provisioning of the required resources and configurations, coordinating across various components such as MANO controlers for virtual network functions (VNFs), or Containerized controllers or any 3rd party controllers or services or even physical infrastructure. The OpenSlice orchestration system ensures that all dependencies are managed and that the service is correctly configured.</p> <p>After provisioning, the service is activated and handed over to the customer, . This end-to-end process ensures a seamless, efficient, and automated delivery of services, enhancing customer satisfaction and operational efficiency.</p> <p>Ongoing monitoring and other actions can be performed by the Life Cycle management rules</p> <p>Future developments: In future releases it might be possible the ongoing monitoring and support provided to ensure continuous performance and reliability. The service could undergoe a series of tests to ensure it meets the specified performance metrics and SLAs before delivering</p>"},{"location":"naas/service_ordering/#ui-management","title":"UI management","text":"<p>Through the menu and dedicated forms the administrator can manage the Service Orders. Various examples in this document will guide you to the usage and the management of the Service Orders.</p>"},{"location":"naas/service_ordering/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-641-ServiceOrdering-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceOrdering/v4/serviceOrder List or find ServiceOrder objects</p>"},{"location":"naas/service_ordering/#probe-further","title":"Probe further","text":"<ul> <li>See Ordering Services from catalogs</li> <li>See Service Design</li> </ul>"},{"location":"naas/service_spec/","title":"OpenSlice Service Specification","text":"<p>OpenSlice offers complete management of Service Specifications.</p>"},{"location":"naas/service_spec/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Service Specification is an entity that describes a service offering. There are two types of Service Specifications:</p> <ul> <li>Resource Facing Service Specification</li> <li>Customer Facing Service Specification</li> </ul>"},{"location":"naas/service_spec/#resource-facing-service-specification","title":"Resource Facing Service Specification","text":"<p>Is a Service that It exposes a resource Specification as a Service. (For example expose a Network Service Descriptor as a Service)</p>"},{"location":"naas/service_spec/#customer-facing-service-specification","title":"Customer Facing Service Specification","text":"<p>Customer Facing Service Specifications - or also CFSSpec (organized in Service Categories) are exposed to users for Service Orders. Usually it exposes other CFSSpec(as a Service Bundle) or other RFSSpecs</p>"},{"location":"naas/service_spec/#definition","title":"Definition","text":"<p>Usually a Service Specification has the following aspects:</p> <ul> <li>Name, Description, Version</li> <li>Marked as a Service Bundle: Combines multiple services into a single offering to provide added value to customers.</li> <li>if is is a Bundle then you must add Related Service Specifications</li> <li>If it is a Resource Facing Service Specification has multiple related Resource Facing Service Specifications</li> <li>Characteristics: a list of service characteristics and their type (TEXT, INTEGER, etc)</li> <li>Also they can be exposed as \"Configurable\" so to allow to end-users during the Service Order to select or type values</li> <li>A logo, displayed if needed in the Service Marketplace</li> <li>Any attachments that further help the user</li> <li>Life Cycle Rules that determine the behavior of the Service and instrument the Service Orchestrator. More on Life Cycle Rules here</li> </ul> <p>Service Designers can create a Service Specification from scratch or use some templates:</p> <pre><code>* Create a Service based from a Network Service Descriptor (NSD)\n* Create a Service based on a Kubernetes Operator\n* Create a Service based on the GSMA GST - Generic Slice Template\n</code></pre>"},{"location":"naas/service_spec/#ui-management","title":"UI management","text":"<p>In the UI this looks like the following.</p> <p>Through the menu and dedicated forms the administrator can manage the Service Specifications. Various examples in this document will guide you to the usage and the design of the services.</p>"},{"location":"naas/service_spec/#api-exposed","title":"API exposed","text":"<p>When installing OpenSlice the API endpoints can be browsed at: </p> <pre><code>[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0\n</code></pre> <p>endpoint examples:</p> <p>/serviceCatalogManagement/v4/serviceSpecification List or find ServiceSpecification objects</p>"},{"location":"naas/service_spec/#example-use-case","title":"Example Use Case","text":"<p>Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers.</p> <ul> <li>Service Definition: Create a service specification template for the XXXX service, including specifications for bandwidth, network features, and performance metrics.</li> </ul>"},{"location":"naas/service_spec/#probe-further","title":"Probe further","text":"<ul> <li>Read the model of Service Catalogs in TMF TMF633 Service Catalog API User Guide v4.0.0</li> <li>Check a demo of the API here</li> <li>Check a demo of the Service Specifications in Catalog and Categories here (You need to login - see main guide page)</li> <li>Check the GSMA GST</li> </ul>"},{"location":"naas/so_intro/","title":"Service Orchestration","text":"<ul> <li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with underlying controller components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li> </ul>"},{"location":"naas/so_intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>OpenSlice end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, Network as a Service (NaaS) OpenSlice automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers.</p> <p>As next image depicts, service orchestrators follow some predefined workflows. OpenSlice end-to-end (E2E) service orchestrator follows some predefined workflows to manage a service lifecycle (They are described in BPMN language and included in our orchestration engine)</p> <p></p> <p>This section provides a high level overview of the Service Orchestration process.</p>"},{"location":"naas/nfv/nfvservices/","title":"NFV Services","text":"<p>NFV Services are managed through a dedicate UI the NFV portal (eg http://portal.openslice.io/nfvportal)</p> <p>Users are able through this portal to manage their NFV artifacts towards the NFVO, ( for example onboard VNFs and NSDs to a target OSM)</p> <p>Openslice NFV Services target to accommodate the following envisaged user roles. All users are assumed to be Authenticated:</p> <ul> <li>NFV developer: This role is responsible to upload VNF and NSD Descriptors in the Openslice services towards NFVO like OSM</li> <li>Services administrator: This role represents the user that are responsible for maintenance of the Openslice services</li> </ul> <p>(obsolete: )</p> <ul> <li>Testbed provider: This role represents users that are responsible for testbed administration, configuration, integration, adaptation, support, etc</li> <li>Experimenter: This role represents the user that will utilize our services and tools to deploy an experiment. That is the experiment description in terms of e.g.: NSD (Network Service Descriptor) or TOSCA Specification (in future versions)</li> </ul> <p>Finally an anonymous user role exists who has some really simple usage scenarios (e.g. signup through the portal)</p> <p>During the onboarding process the following occurs:</p> <p>\u2022 A NFV developer submits a NFV archive (VNF or NSD) (he can later manage if needed some metadata) \u2022 The administrator can manage the NFV artifact (e.g. edit it) \u2022 The administrator On-Boards the NFV artifact to the target MANO \u2022 The administrator can optionally mark the NFV: o As public in order to be publicly visible by all portal users o As Certified which means this is certified by a certain entity</p>"},{"location":"naas/nfv/nfvservices/#request-a-new-nsd-deployment-this-is-different-in-comparison-to-services","title":"Request a new NSD deployment (this is different in comparison to Services)","text":"<p>A developer requests a new network service deployment (which NSD, tentative dates, target infrastructure, etc.). The request is marked as UNDER_REVIEW</p> <ul> <li>The administrator is notified about the new request and he has the following options:</li> <li>Schedule the deployment for the requested dates or propose other dates. The request is marked as SCHEDULED</li> <li>Reject the request for some reason. The Request is marked as REJECTED</li> <li>Deploy the request to target VIM(s). The Request is marked as RUNNING</li> <li>Finalize the deployment and release resources. The Request is marked as COMPLETED</li> <li>every change of the request-lifecycle the experimenter is notified.</li> </ul>"},{"location":"service_design/intro/","title":"Service Design in OpenSlice","text":"<p>This section offers details on how to design Service Specifications and expose them in Service Catalogs</p>"},{"location":"service_design/intro/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Service Designers create detailed service specifications, which are then managed and exposed in service catalogs. These services are integrated into OpenSlice E2E service orchestration framework to automate and optimize the delivery of network services.</p> <p>OpenSlice can be used to design service specifications for various services, even not networking related services. Here we cover how service designers can expose services related to the NFV world and the containerized world.</p>"},{"location":"service_design/intro/#probe-further","title":"Probe further","text":"<ul> <li>Design and expose services based on containerized resources via the Kubernetes Operator pattern</li> <li>Design and expose services based on NFV artifacts</li> </ul>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/","title":"Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice","text":""},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>To illustrate the powerful concept of Kubernetes operators and how they can be utilized to offer a service through OpenSlice, let's provide an example of a \"Calculator as a Service.\" </p> <p>This example will demonstrate the flexibility and capabilities of Kubernetes operators in managing custom resources and automating operational tasks.</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#offering-calculator-as-a-service-through-openslice","title":"Offering \"Calculator as a Service\" through OpenSlice","text":"<ul> <li>We have a service that can accept two integers and an action (SUM, SUB, etc) and returns a result</li> <li>We would like to offer it as a Service through OpenSlice</li> <li>So when a user orders it with some initial parameters, OpenSlice will create it and return the result</li> <li>Also while the service is active, we can do further calculations, until we destroy it.</li> </ul> <p>Assume the following simple CRD of a calculator model accepting two params (spec section) and an action and returning a result (status section)</p> <p>The controller (the calculator code) is implemented in any language and is installed in a Kubernetes cluster</p> <pre><code>\napiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n name: mycalculators.examples.osl.etsi.org\nspec:\n group: examples.osl.etsi.org\n names:\n kind: MyCalculator\n plural: mycalculators\n singular: mycalculator\n scope: Namespaced\n versions:\n - name: v1alpha1\n schema:\n openAPIV3Schema:\n properties:\n spec:\n properties:\n parama:\n type: integer\n paramb:\n type: integer\n action:\n type: string\n type: object\n status:\n properties:\n result:\n type: integer\n status:\n type: string\n type: object\n type: object\n served: true\n storage: true\n subresources:\n status: {}\n</code></pre> <p>Request to the cluster (through e.g. kubectl apply)</p> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n name: mycalculator.examples.osl.etsi.org\nspec:\n parama: 170\n paramb: 180\n action: 'SUM'\n\n</code></pre> <p>Response</p> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n\u00a0 creationTimestamp: '2023-12-05T12:26:07Z\u2019\n\n<snip>\n\nstatus:\n\u00a0 result: 350\n\u00a0 status: CALCULATED\nspec:\n\u00a0 action: SUM\n\u00a0 parama: 170\n\u00a0 paramb: 180\n\n</code></pre> <p>To perform this through OpenSlice as a Service Specification ready to be ordered we need to do the following:</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#crd-is-saved-automatically-as-resource-specification","title":"CRD is saved automatically as Resource Specification","text":"<p>As soon as the CRD is deployed in the cluster (e.g. by your admin via kubctl or via any installation through the internet) it is automatically transformed and is available in OpenSlice catalogs as a Resource Specification.</p> <ul> <li>See also the fully qualified name of the resource specification. <ul> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@docker-desktop@https://kubernetes.docker.internal:6443/</li> <li>The resource specification name is quite unique, so you can install the CRD in many clusters around the internet. Each CRD on each cluster will appear here, for example:<ul> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@default_cluster@https://10.10.10.8:6443/</li> <li>MyCalculator@examples.osl.etsi.org/v1alpha1@edge1_cluster@https://172.16.10.10:6443/</li> </ul> </li> <li>Having this OpenSlice can manage resources in multiple clusters</li> </ul> </li> </ul> <p></p> <p>See also the detailed characteristics. See how OpenSlice makes all characteristics automatically flat and expanded with key-value style</p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#expose-to-users","title":"Expose to Users","text":""},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#start-by-creating-a-resourcefacingservicespecification","title":"Start by Creating a ResourceFacingServiceSpecification","text":"<p>From the UI menu create a new Service Specification</p> <p></p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#creation-of-crd-related-characteristics","title":"Creation of CRD-related characteristics","text":"<ul> <li>We need now to adjust some characteristics of this CRD as Resource Specification.</li> <li>OpenSlice transalted automatically the CRD spec in a flat list of characteristics.So the \"spec\" section from the original yaml for example, is now unfold into: spec, spec.parama, spec.paramb, etc. the same for \"status\" object</li> <li> <p>We need to make OpenSlice aware of when the service will be active. </p> <ul> <li>So we go to characteristic _CR_CHECK_FIELD and we define that the field that shows the status of the service is the characteristic \"status.status\" (is a text field) </li> <li>Then we go to _CR_CHECKVAL_AVAILABLE and we define the value CALCULATED, which signals the following: When the characteristic \"status.status\" has the value \"CALCULATED\" then OpenSlice will mark the underlying service as \"ACTIVE\"</li> <li>We need also to define the yaml file that OpenSLice will use to create the new resource in the kubernetes cluster</li> <li>We insert the YAML in the characteristic _CR_SPEC</li> </ul> <p>the _CR_SPEC is: </p> </li> </ul> <pre><code>apiVersion: examples.osl.etsi.org/v1alpha1\nkind: MyCalculator\nmetadata:\n name: mycalculator.examples.osl.etsi.org\nspec:\n parama: 170\n paramb: 180\n action: 'SUM'\n\n</code></pre> <p></p> <p>However the values are fixed. How do we allow a user to pass parameters through OpenSlice</p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#expose-in-catalog","title":"Expose in Catalog","text":"<p>Create a new CustomerFacingServiceSpecification</p> <pre><code>- Go to the menu Service Specification>New Service Specification\n- Create a service My Calulator and mark it as a Bundle\n- Go to Service Specification Relationships and add MyCalculatorRFS\n- The service will be automatically transformed to a \"CustomerFacingServiceSpecification\"\n- Add the following characteristics as the image shows:\n</code></pre> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#allow-users-to-pass-new-values-through-openslice","title":"Allow users to pass new values through OpenSlice","text":"<p>We need to Create LCM rules in CustomerFacingServiceSpecification:</p> <pre><code>- The goal of the rules is to allow the user to pass parameters to the actual resource towards the cluster.\n- we will create one rule that will pass the parameters just before creating the service (PRE_PROVISION phase)\n- we will create one rule that will pass the parameters while the service is active (SUPERVISION phase)\n- The rules will be the same\n</code></pre> <p></p> <p>If we see one rule it will look like the following:</p> <p></p> <ul> <li>We need to change the _CR_SPEC characteristic of the referenced ResourceFacingServiceSpecification</li> <li>First bring a block from Service>Relationships>Service Refs and drop the \"Service MyCalculatorRFS\" block</li> <li>Then add a list block from Lists</li> <li>Then add the block that modifies a referenced characteristic from Service>Relationships>Service Refs the block \"Set value to characteristic of a Referenced Service\"</li> <li>Add a block for text _CR_SPEC </li> <li>We use a block that changes a String according to variables Text>\"A formatted text replacing variables from List\"</li> <li>See that we have as Input string the YAML string lines<ul> <li>see that parama, paramb has a %d (they accept integers), action is %s (accepts a string)</li> <li>See that the variables tha will replace the %d, %d and %s are an list<ul> <li>the first %d will be replaced with the value from characteristic spec.parama</li> <li>the second %d will be replaced with the value from characteristic spec.paramb</li> <li>the %s will be replaced with the value from characteristic spec.action</li> </ul> </li> </ul> </li> </ul> <p>If we see the SUPERVISION rule it will look like the following:</p> <ul> <li>It contains also the Result field, which takes the value from the referenced service</li> <li>Add a block for the Result field from Service>Number blocks</li> <li>Add a str to int block from Number blocks</li> <li>Add Service>Relationships>Service Refs and drop the input block [Service MyCalculatorRFS] \"Get Service details from current context running service\" and select from the drop down the \"serviceCharacteristicValue\"</li> <li>Add as name the \"status.result\" </li> </ul> <p></p> <p></p> <p>Expose it then to a catalogue for orders through the Service Categories and Service Catalogs</p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#order-the-service","title":"Order the Service","text":"<p>When a user orders the service, it will look like this:</p> <p></p> <ul> <li>After the Service Order we have 2 services in service inventory on CFS and on RFS. Both have references to values</li> <li>OpenSlice (via CRIDGE service) updates the Resource in Resource Inventory and OSOM updates the Services in Service Inventory</li> <li>The Actual resources are running in the Kubernetes cluster managed by OpenSlice</li> <li>The result is in the characteristic status.result of the running service</li> </ul> <p></p> <p></p>"},{"location":"service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/#modify-the-running-service","title":"Modify the running service","text":"<p>The user can modify the service</p> <p></p> <ul> <li>After a while the update is applied to the cluster, the controller will pick up the resource update and patch the resource</li> <li>OpenSlice (via CRIDGE service) updates the Resource in Resource Inventory and OSOM updates the Services in Service Inventory</li> <li>The result will be available to the respective characteristic \"Result\" after a few seconds, as need to go through various steps (OpenSlice orchestrator, down to kubernetes, to Calculator controller and back)</li> </ul> <p></p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/","title":"Expose and manage Kubernetes Custom Resource Definitions (Operators) in a Kubernetes Cluster","text":"<p>OpenSlice is capable of exposing Kubernetes Resources and Definitions as Service Specifications</p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.</p> <p>By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OSL can be used in many complex scenarios now involing resources from multiple domains.</p> <ol> <li> <p>OpenSlice is capable to:</p> <ul> <li>Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.</li> <li>Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.</li> <li>Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs</li> <li>Wraps the Kubernetes API, Receives and provides resources towards other OpenSlice services via the service bus</li> </ul> </li> <li> <p>Enabling Loose Coupling and Orchestration</p> <ul> <li>Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.</li> <li>Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.</li> </ul> </li> <li> <p>Ecosystem Reusability</p> <ul> <li>OpenSlice capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).</li> <li>Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.</li> </ul> </li> <li> <p>Service Catalog Exposure and Deployment</p> <ul> <li>OpenSlice can expose CRs in service catalogs, facilitating their deployment in complex scenarios.</li> <li>These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.</li> </ul> </li> </ol>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#approach","title":"Approach","text":"<p>OpenSlice in general is responible for exposing service specifications which are ready to be ordered and orchestrated, through tmforum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.</p> <p>The following image illustrates the approach.</p> <p></p> <ol> <li>A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog</li> <li>Service Orders can be created for this service specification. </li> <li>OSOM creates a Resource in OSL Resource inventory and requests new Custom Resource (CR) in the target cluster<ul> <li>The resource is created in a specific namespace (for example the UUID of the Service Order)</li> <li>A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory</li> <li>Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order</li> </ul> </li> </ol>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#awareness-for-crds-and-crs-in-cluster","title":"Awareness for CRDs and CRs in cluster","text":"<p>CRDs and CRs can appear (disappear) or change status at any time in a cluster. OpenSlice Resource Inventory need to be aware of these events.</p> <p>When installing OpenSlice you can configure at least one management cluster. OpenSlice connects via a provided kubeconf</p> <ul> <li>On Start up OSL tries to register this cluster and context to OSL catalogs.</li> <li>After the registration of this cluster as a Resource in OSL OSL is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL</li> <li>Resources created by OpenSlice have labels, e.g. (org.etsi.osl.*)</li> </ul>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#expose-crds-as-service-specifications-in-openslice-catalogs","title":"Expose CRDs as Service Specifications in OpenSlice catalogs","text":"<p>A CRD by default is exposed as a Resource Specification</p> <p>To ensure unique names across the clusters that OpenSlice can manage, the name of a CRD is constructed as follows:</p> <p><code>Kind @ ApiGroup/version @ ContextCluster @ masterURL</code></p> <p>For example you might see resource Specifications like:</p> <pre><code>- ```Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/```\n- ```IPAddressPool@metallb.io/v1beta1@kubernetes@https://10.10.10.144:6443/```\n- ```Provider@pkg.crossplane.io/v1@kubernetes@https://10.10.10.144:6443/```\n</code></pre> <p>All attributes of the CRD are translated into characteristics</p> <p>The following specific characteristics are added:</p> <pre><code> - _CR_SPEC: Used for providing the json Custom Resource description to apply\n - _CR_CHECK_FIELD: Used for providing the field that need to be checked for the resource status\n - _CR_CHECKVAL_STANDBY: Used for providing the equivalent value from resource to signal the standby status\n - _CR_CHECKVAL_ALARM: Used for providing the equivalent value from resource to signal the alarm status\n - _CR_CHECKVAL_AVAILABLE: Used for providing the equivalent value from resource to signal the available status\n - _CR_CHECKVAL_RESERVED: Used for providing the equivalent value from resource to signal the reserved status\n - _CR_CHECKVAL_UNKNOWN: Used for providing the equivalent value from resource to signal the unknown status\n - _CR_CHECKVAL_SUSPENDED: Used for providing the equivalent value from resource to signal the suspended status\n</code></pre> <ol> <li> <p>Create a new Service Specification and use this Resource Specification in Resource Specification Relationships</p> <ul> <li>Then the Service Specification is saved as ResourceFacingServiceSpecification</li> </ul> <p>1.1. You can give at this stage values to the characteristics:</p> <pre><code>- _CR_SPEC, \n- _CR_CHECK_FIELD\n- _CR_CHECKVAL_STANDBY\n- _CR_CHECKVAL_ALARM\n- _CR_CHECKVAL_AVAILABLE\n- _CR_CHECKVAL_RESERVED\n- _CR_CHECKVAL_UNKNOWN\n- _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>1.2. You can now create LCM rules if you wish</p> </li> <li> <p>Create a new Service Specification and use the Resource Facing Service Specification in Service Specification Relationships</p> <ul> <li>Then the Service Specification is saved as CustomerFacingServiceSpecification</li> </ul> <p>2.1. You can give at this stage values to the characteristics: </p> <pre><code>- _CR_SPEC, \n- _CR_CHECK_FIELD\n- _CR_CHECKVAL_STANDBY\n- _CR_CHECKVAL_ALARM\n- _CR_CHECKVAL_AVAILABLE\n- _CR_CHECKVAL_RESERVED\n- _CR_CHECKVAL_UNKNOWN\n- _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>2.2. You We can create LCM rules for this new Service Specification</p> <p>2.3. You Expose configurable values for users to configure during service order</p> </li> </ol> <p></p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#service-orchestration-and-crdscrs","title":"Service Orchestration and CRDs/CRs","text":"<p>OSOM - OpenSlice Service Orchestrator, checks the presence of attribute _CR_SPEC at the RFS to make a request for a CR deployment</p> <ul> <li>_CR_SPEC is a JSON or YAML string that is used for the request<ul> <li>It is similar to what one will do with e.g. a kubectl apply</li> <li>There are tools to translate a yaml file to a json</li> </ul> </li> </ul> <p>LCM rules can be used to change attributes of this yaml/json file, before sending this for orchestration</p>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#mapping-the-cr-lifecycle-that-is-defined-in-the-crd-with-the-openslice-tmf-based-resource-lifecycle","title":"Mapping the CR lifecycle that is defined in the CRD with the OpenSLice (TMF-based) resource Lifecycle","text":"<p>OpenSlice adds automatically as we see the following characteristics: </p> <pre><code> - _CR_CHECK_FIELD\n - _CR_CHECKVAL_STANDBY\n - _CR_CHECKVAL_ALARM\n - _CR_CHECKVAL_AVAILABLE\n - _CR_CHECKVAL_RESERVED\n - _CR_CHECKVAL_UNKNOWN\n - _CR_CHECKVAL_SUSPENDED\n</code></pre> <p>These characteristics instrument OpenSlice services to manage and reflect the lifecycle of a kubernetes resource to OpenSlice's (TMF based) lifecycle</p> <ul> <li>_CR_CHECK_FIELD: The name of the field that is needed to be monitored in order to monitor the status of the service and translate it to TMF resource statys (RESERVED AVAILABLE, etc) </li> <li>_CR_CHECKVAL_STANDBY: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state STANDBY (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_ALARM: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state ALARMS (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_AVAILABLE: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state AVAILABLE (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_RESERVED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state RESERVED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_UNKNOWN: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state UNKNOWN (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> <li>_CR_CHECKVAL_SUSPENDED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state SUSPENDED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) </li> </ul>"},{"location":"service_design/kubernetes/ExposingKubernetesResources/#probe-further","title":"Probe further","text":"<ul> <li>See examples of exposing operators via OpenSlice:<ul> <li>Exposing Kubernetes Operators as a Service : Offering \"Calculator as a Service\" through OpenSlice</li> </ul> </li> <li>Learn more about CRIDGE, the service in OSL that manages CRDs/CRs</li> </ul>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/","title":"Example: Offer Jenkins as a Service via Openslice","text":"<p>Before reading this example please make sure that you went through the Design Helm as a Service </p> <p>We will use the <code>Kind: Application</code> of ArgoCD and create a ResourceFacingServiceSpecification for Jenkins</p> <pre><code>1. Go to Service Specifications\n2. Create New Specification\n3. Give a Name, eg. jenkinsrfs\n4. Go to Resource Specification Relationships\n5. Assign ```Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/```\n</code></pre> <p></p> <p>Focus now on the characteristics configuration.</p> <p>First we need to map the lifecycle of ArgoCD Application to TMF Resource State</p> <p></p> <p>In ArgoCD the field health.status has the value that we need to check (Healty, Progressing, etc)</p> <p>The _CR_SPEC can be designed first in a YAML or json editor. Let's see a YAML definition:</p> <p>```</p> <p>apiVersion: argoproj.io/v1alpha1 kind: Application metadata: finalizers: - resources-finalizer.argocd.argoproj.io name: openslice-jenkins namespace: argocd spec: project: default destination: namespace: opencrdtest name: in-cluster source: repoURL: https://charts.jenkins.io targetRevision: 4.6.1 chart: jenkins helm: values: | controller: service: type: ClusterIP syncPolicy: automated: prune: true selfHeal: true allowEmpty: false syncOptions: - Validate=false - CreateNamespace=true - PrunePropagationPolicy=foreground - PruneLast=true - RespectIgnoreDifferences=true ```</p> <p>NOTICE</p> <p>On each installation OSOM will change the name of the resource in order to be unique (will have a UUID)</p> <p><code>name: openslice-jenkins</code> </p> <p>destination namespace that ArgoCD will use is the name <code>opencrdtest</code></p> <p><code>destination: namespace: opencrdtest</code></p> <p>This implies that ArgoCD installs the Jenkins always in the same namespace</p> <p>To avoid this we will create a simple pre-provision rule to change the namespace properly</p> <p>See the following image: </p> <p></p> <ol> <li>Drag-Drop the _CR_SPEC characteristic of jenkinsrfs from the Service>Text blocks</li> <li>Drag-Drop Text>Formatted text block</li> <li>Drag-Drop Text>Multi-line text input block</li> <li>Copy paste the YAML text</li> <li>Change the spec: destination:namespace to the value %s</li> <li>Drag-Drop Lists>Create list with block delete 2 items (click the gear icon). Connect it to formatted text block</li> <li>Drag-Drop Context>Current Service Order block and select the id. Connect it to the List</li> <li>Save the PRE_PROVISION Rule</li> </ol>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#expose-the-service-to-your-users","title":"Expose the service to your users","text":"<p>Expose then as CustomerFacingServiceSpecification by using the previous RFSS as Service Specification Relationship 1. Create a Jenkins service and mark as Bundle and save it 2. Go to Service Specification Relationships and assign Jenkinsrfs 3. Add also a Logo if you wish</p> <p></p> <p></p> <p>Expose it now to a Category and a Catalog to be available for ordering.</p> <p></p>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#order-the-service","title":"Order the service","text":"<p>Order the service from the catalog. </p> <p>Soon the order will be completed and the Services will be active</p> <p></p>"},{"location":"service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/#how-to-access-the-jenkins-installation","title":"How to access the Jenkins installation:","text":"<p>From the Supporting services of the Service Order, select the ResourceFacingService (jenkinsrfs)</p> <p>The ResourceFacingService has also supporting resources in resource inventory.</p> <p></p> <p>One is the resource reference to the application (e.g. cr_tmpname...), the other is a secret (e.g. cr87893...). </p> <p>Click to go to the secret resource (This is in the Resource inventory of OpenSlice)</p> <p></p> <p>Use them to login in your Jenkins.</p> <p>Exposing Jenkins to you external is a matter of cluster configuration and request (nodeport, load balancing, etc)! This is not a topic for this example</p>"},{"location":"service_design/kubernetes/helm/design_helmaas/","title":"Expose HELM charts as Service Specifications","text":"<p>Manage Helm charts installations via OpenSlice Service Specifications and Service Orders.</p>"},{"location":"service_design/kubernetes/helm/design_helmaas/#intended-audience-service-designers","title":"Intended Audience: Service Designers","text":"<p>Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. </p> <p>Helm is a tool that automates the creation, packaging, configuration, and deployment of Kubernetes applications by combining your configuration files into a single reusable package</p> <p>At the heart of Helm is the packaging format called charts. Each chart comprises one or more Kubernetes manifests -- and a given chart can have child charts and dependent charts, as well. Using Helm charts:</p> <pre><code> - Reduces the complexity of deploying Microservices\n - Enhances deployment speed\n - Developers already know the technology\n</code></pre> <p>There are many Helm charts and Helm repositories there that are ready to be used</p> <p>Enable loose coupling and more orchestration scenarios</p> <p>Developers create and deploy applications in things they already know (e.g. Helm charts)</p> <p>Use the TMF models as wrapper entities around Helm charts</p> <p>Use OpenSlice to expose them in service catalogs and deploy them in complex scenarios (service bundles) involving also other systems:</p> <pre><code>- Include e.g. RAN controllers, \n- Pass values through life cycle rules from one service to another, \n- Manage multiple Helms in multiple clusters\n</code></pre>"},{"location":"service_design/kubernetes/helm/design_helmaas/#the-installation-of-helm-charts-is-based-on-openslice-crd-support","title":"The installation of HELM charts is based on OpenSlice CRD support","text":"<p>Please read more here</p> <p>For installing HELM charts we will use ArgoCD a well known Kubernetes-native continuous deployment (CD) tool </p> <p>ArgoCD is a Kubernetes-native continuous deployment (CD) tool</p> <p>While just deploying Heml charts is just a scenario for ArgoCD , in future one can exploit it for many things</p> <p>Despite some other tools like FluxCD, it provides also a UI which is useful for management and troubleshooting</p> <p>We will mainly use the CRD of <code>Kind: Application</code> that ArgoCD can manage</p> <p>Before proceeding, install ArgoCD in your management cluster, by following ArgoCD instructions</p> <p>As soon as you install ArgoCD, OpenSlice is automatically aware for specific new Kinds. The one we will use is is the <code>Kind: Application</code> that ArgoCD can manage under the apiGroup argoproj.io</p> <p>Browse to Resource Specifications. You will see an entry like the following:</p> <p><code>Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/</code></p> <p>see image: </p> <p></p>"},{"location":"service_design/kubernetes/helm/design_helmaas/#whats-next","title":"What's next","text":"<p>See the Example: Offer Jenkins as a Service via Openslice </p>"},{"location":"service_ordering/ordering_services/","title":"Service Ordering","text":""},{"location":"service_ordering/ordering_services/#intended-audience-users","title":"Intended Audience: Users","text":""}]} \ No newline at end of file diff --git a/public/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/index.html b/public/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/index.html index 4846d533..589b10f8 100644 --- a/public/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/index.html +++ b/public/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/index.html @@ -15,7 +15,7 @@ <link rel="canonical" href="https://osl.etsi.org/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/"> - <link rel="prev" href="../../../nfv/design_nfv_services/"> + <link rel="prev" href="../../intro/"> <link rel="next" href="../../../kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/"> @@ -1723,6 +1723,27 @@ + <li class="md-nav__item"> + <a href="../../intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../open5gs_nfv.md" class="md-nav__link"> @@ -2984,7 +3005,7 @@ spec: <nav class="md-footer__inner md-grid" aria-label="Footer" > - <a href="../../../nfv/design_nfv_services/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Design NFV Services"> + <a href="../../intro/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Introduction"> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> @@ -2994,7 +3015,7 @@ spec: Previous </span> <div class="md-ellipsis"> - Design NFV Services + Introduction </div> </div> </a> diff --git a/public/develop/service_design/examples/intro/index.html b/public/develop/service_design/examples/intro/index.html new file mode 100644 index 00000000..b1d1f54d --- /dev/null +++ b/public/develop/service_design/examples/intro/index.html @@ -0,0 +1,2808 @@ + +<!doctype html> +<html lang="en" class="no-js"> + <head> + + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + <meta name="description" content="ETSI SDG OSL Documentation page"> + + + <meta name="author" content="OpenSlice by ETSI"> + + + <link rel="canonical" href="https://osl.etsi.org/develop/service_design/examples/intro/"> + + + <link rel="prev" href="../../nfv/design_nfv_services/"> + + + <link rel="next" href="../ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/"> + + + <link rel="icon" href="../../../images/favicon.png"> + <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.28"> + + + + <title>Introduction - ETSI SDG OSL Documentation</title> + + + + <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css"> + + + <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css"> + + + + + + + + + + + + + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> + <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> + + + + <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> + + + + + + + </head> + + + + + + + + <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="cyan" data-md-color-accent="blue"> + + + <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> + <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> + <label class="md-overlay" for="__drawer"></label> + <div data-md-component="skip"> + + </div> + <div data-md-component="announce"> + + </div> + + <div data-md-color-scheme="default" data-md-component="outdated" hidden> + + </div> + + + + + + +<header class="md-header md-header--shadow" data-md-component="header"> + <nav class="md-header__inner md-grid" aria-label="Header"> + <a href="../../.." title="ETSI SDG OSL Documentation" class="md-header__button md-logo" aria-label="ETSI SDG OSL Documentation" data-md-component="logo"> + + <img src="../../../images/logo_osl.png" alt="logo"> + + </a> + <label class="md-header__button md-icon" for="__drawer"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> + </label> + <div class="md-header__title" data-md-component="header-title"> + <div class="md-header__ellipsis"> + <div class="md-header__topic"> + <span class="md-ellipsis"> + ETSI SDG OSL Documentation + </span> + </div> + <div class="md-header__topic" data-md-component="header-topic"> + <span class="md-ellipsis"> + + Introduction + + </span> + </div> + </div> + </div> + + + + + + + <label class="md-header__button md-icon" for="__search"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> + </label> + <div class="md-search" data-md-component="search" role="dialog"> + <label class="md-search__overlay" for="__search"></label> + <div class="md-search__inner" role="search"> + <form class="md-search__form" name="search"> + <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> + <label class="md-search__icon md-icon" for="__search"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> + </label> + <nav class="md-search__options" aria-label="Search"> + + <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> + </button> + </nav> + + </form> + <div class="md-search__output"> + <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix> + <div class="md-search-result" data-md-component="search-result"> + <div class="md-search-result__meta"> + Initializing search + </div> + <ol class="md-search-result__list" role="presentation"></ol> + </div> + </div> + </div> + </div> +</div> + + + <div class="md-header__source"> + <a href="https://labs.etsi.org/rep/osl" title="Go to repository" class="md-source" data-md-component="source"> + <div class="md-source__icon md-icon"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81-2.9-.295-5.7.083-8.4 1.11-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.09 18.09 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3 4.7 0 9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z"/></svg> + </div> + <div class="md-source__repository"> + OSL GitLab + </div> +</a> + </div> + + </nav> + +</header> + + <div class="md-container" data-md-component="container"> + + + + + + + <main class="md-main" data-md-component="main"> + <div class="md-main__inner md-grid"> + + + + <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + + + +<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> + <label class="md-nav__title" for="__drawer"> + <a href="../../.." title="ETSI SDG OSL Documentation" class="md-nav__button md-logo" aria-label="ETSI SDG OSL Documentation" data-md-component="logo"> + + <img src="../../../images/logo_osl.png" alt="logo"> + + </a> + ETSI SDG OSL Documentation + </label> + + <div class="md-nav__source"> + <a href="https://labs.etsi.org/rep/osl" title="Go to repository" class="md-source" data-md-component="source"> + <div class="md-source__icon md-icon"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81-2.9-.295-5.7.083-8.4 1.11-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.09 18.09 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3 4.7 0 9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z"/></svg> + </div> + <div class="md-source__repository"> + OSL GitLab + </div> +</a> + </div> + + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" > + + + <label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0"> + + + <span class="md-ellipsis"> + Overview + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_1"> + <span class="md-nav__icon md-icon"></span> + Overview + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../.." class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../OpenSlice_deployment_examples/" class="md-nav__link"> + + + <span class="md-ellipsis"> + OpenSlice deployment examples + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../history/" class="md-nav__link"> + + + <span class="md-ellipsis"> + History + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../etsi_osl/" class="md-nav__link"> + + + <span class="md-ellipsis"> + ETSI OSL + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > + + + <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0"> + + + <span class="md-ellipsis"> + Getting Started + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_2"> + <span class="md-nav__icon md-icon"></span> + Getting Started + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" > + + + <label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0"> + + + <span class="md-ellipsis"> + Deployment + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_2_1"> + <span class="md-nav__icon md-icon"></span> + Deployment + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../deployment/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../deploymentCompose/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Docker Compose + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../deploymentK8s/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Kubernetes + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" > + + + <label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0"> + + + <span class="md-ellipsis"> + Portals + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_2_2"> + <span class="md-nav__icon md-icon"></span> + Portals + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../portals_intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" > + + + <label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0"> + + + <span class="md-ellipsis"> + Configuration/Management + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_2_3"> + <span class="md-nav__icon md-icon"></span> + Configuration/Management + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../config_intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../role_keycloak_management/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Role/Keycloak management + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../nfvoconfig/" class="md-nav__link"> + + + <span class="md-ellipsis"> + NFV Orchestrator Configuration + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" > + + + <label class="md-nav__link" for="__nav_2_3_4" id="__nav_2_3_4_label" tabindex="0"> + + + <span class="md-ellipsis"> + Advanced topics + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_4_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_2_3_4"> + <span class="md-nav__icon md-icon"></span> + Advanced topics + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/consumingServicesFromExternalPartners/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Consuming Services From External OSS + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + </ul> + </nav> + + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > + + + <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0"> + + + <span class="md-ellipsis"> + NaaS + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3"> + <span class="md-nav__icon md-icon"></span> + NaaS + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/introduction/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" > + + + <label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0"> + + + <span class="md-ellipsis"> + Services + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3_2"> + <span class="md-nav__icon md-icon"></span> + Services + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/service_catalog/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Service Catalogs + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/service_spec/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Service Specification + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/service_ordering/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Service Ordering + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/service_inventory/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Service Inventory + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/gst_to_tmf/" class="md-nav__link"> + + + <span class="md-ellipsis"> + GSMA GST to TMF Service + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" > + + + <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0"> + + + <span class="md-ellipsis"> + Resources + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3_3"> + <span class="md-nav__icon md-icon"></span> + Resources + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/resource_catalog/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Resources Catalogs + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/resource_spec/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Resources Specification + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/resource_inventory/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Resources Inventory + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" > + + + <label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0"> + + + <span class="md-ellipsis"> + Service orchestration + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3_4"> + <span class="md-nav__icon md-icon"></span> + Service orchestration + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/so_intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/lcm_intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Service Lifecycle management + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/lcm_rules_intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + LCM Rules Introduction + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_4" > + + + <label class="md-nav__link" for="__nav_3_4_4" id="__nav_3_4_4_label" tabindex="0"> + + + <span class="md-ellipsis"> + From Service order to services/resources + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_4_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3_4_4"> + <span class="md-nav__icon md-icon"></span> + From Service order to services/resources + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/so_servicespec_to_services_kubernetes/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Exposing Kubernetes services + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/so_servicespec_to_services_nfv/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Exposing NFV Services + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/exposed_apis/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Supported TMFORUM exposed APIs + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" > + + + <label class="md-nav__link" for="__nav_3_6" id="__nav_3_6_label" tabindex="0"> + + + <span class="md-ellipsis"> + NFV support + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_3_6"> + <span class="md-nav__icon md-icon"></span> + NFV support + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/nfv/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../naas/nfv/nfvservices/" class="md-nav__link"> + + + <span class="md-ellipsis"> + NFV Services + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--active md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked> + + + <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0"> + + + <span class="md-ellipsis"> + Service design + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true"> + <label class="md-nav__title" for="__nav_4"> + <span class="md-nav__icon md-icon"></span> + Service design + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > + + + <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0"> + + + <span class="md-ellipsis"> + Support for Kubernetes + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_4_2"> + <span class="md-nav__icon md-icon"></span> + Support for Kubernetes + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../kubernetes/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../kubernetes/ExposingKubernetesResources/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Exposing Kubernetes Resources + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../kubernetes/helm/design_helmaas/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Design Helm as a Service + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > + + + <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0"> + + + <span class="md-ellipsis"> + Support for NFV + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_4_3"> + <span class="md-nav__icon md-icon"></span> + Support for NFV + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../nfv/design_nfv_services/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Design NFV Services + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > + + + <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0"> + + + <span class="md-ellipsis"> + LCM Rules + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_4_4"> + <span class="md-nav__icon md-icon"></span> + LCM Rules + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../lcmrules/intro.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../lcmrules/specification.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Specification + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../lcmrules/examples.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Typical Examples + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--active md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" checked> + + + <label class="md-nav__link" for="__nav_4_5" id="__nav_4_5_label" tabindex="0"> + + + <span class="md-ellipsis"> + Service Specification Examples + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="true"> + <label class="md-nav__title" for="__nav_4_5"> + <span class="md-nav__icon md-icon"></span> + Service Specification Examples + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + + + <li class="md-nav__item md-nav__item--active"> + + <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> + + + + <a href="./" class="md-nav__link md-nav__link--active"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../open5gs_nfv.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Open5GS (NFV approach) + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../open5gs_kubernetes.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Open5GS (Kubernetes approach) + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Exposing CRDs_aaS_Example_Calculator + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/" class="md-nav__link"> + + + <span class="md-ellipsis"> + HELM Installation aaS Jenkins Example + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > + + + <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0"> + + + <span class="md-ellipsis"> + Service Ordering + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_5"> + <span class="md-nav__icon md-icon"></span> + Service Ordering + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../service_ordering/ordering_services/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Ordering Services from catalogs + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" > + + + <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0"> + + + <span class="md-ellipsis"> + Testing services + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_6"> + <span class="md-nav__icon md-icon"></span> + Testing services + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../testing_services/test_spec.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Testing Specification + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../testing_services/test_catalogs.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Testing Catalogs + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../testing_services/test_inventory.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Testing Inventory + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > + + + <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0"> + + + <span class="md-ellipsis"> + Service as a Product + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_7"> + <span class="md-nav__icon md-icon"></span> + Service as a Product + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../product_model/product_spec.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Product Specification + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../product_model/product_catalogs.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Product Catalogs + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../product_model/product_inventory.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Product Inventory + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" > + + + <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0"> + + + <span class="md-ellipsis"> + Assurance services + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_8"> + <span class="md-nav__icon md-icon"></span> + Assurance services + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../assurance_services/intro.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../assurance_services/alarms_actions.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Alarms and Actions + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" > + + + <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0"> + + + <span class="md-ellipsis"> + Design & Architecture + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_9"> + <span class="md-nav__icon md-icon"></span> + Design & Architecture + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/architecture/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Architecture + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_2" > + + + <label class="md-nav__link" for="__nav_9_2" id="__nav_9_2_label" tabindex="0"> + + + <span class="md-ellipsis"> + Cloud native support + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_2_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_9_2"> + <span class="md-nav__icon md-icon"></span> + Cloud native support + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/CRIDGE_cloud_native_intro.md" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/CRIDGE/CRIDGEforDevelopers/" class="md-nav__link"> + + + <span class="md-ellipsis"> + CRIDGE for Developers + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/messagebus/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Message bus + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/osom/" class="md-nav__link"> + + + <span class="md-ellipsis"> + OSOM + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/oauth/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Authentication + </span> + + + </a> + </li> + + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_6" > + + + <label class="md-nav__link" for="__nav_9_6" id="__nav_9_6_label" tabindex="0"> + + + <span class="md-ellipsis"> + APIs + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_6_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_9_6"> + <span class="md-nav__icon md-icon"></span> + APIs + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/tmfapi/" class="md-nav__link"> + + + <span class="md-ellipsis"> + TMF API + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/nfvapi/" class="md-nav__link"> + + + <span class="md-ellipsis"> + NFV API + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/issuemgt/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Issue management + </span> + + + </a> + </li> + + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../architecture/centrallog/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Central logging + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + + <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" > + + + <label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0"> + + + <span class="md-ellipsis"> + Contributing to OSL + </span> + + + <span class="md-nav__icon md-icon"></span> + </label> + + <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false"> + <label class="md-nav__title" for="__nav_10"> + <span class="md-nav__icon md-icon"></span> + Contributing to OSL + </label> + <ul class="md-nav__list" data-md-scrollfix> + + + + + + + + <li class="md-nav__item"> + <a href="../../../contributing/developing/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Developing + </span> + + + </a> + </li> + + + + + </ul> + </nav> + + </li> + + + + + + + + + + <li class="md-nav__item"> + <a href="../../../terminology/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Terminology + </span> + + + </a> + </li> + + + + </ul> +</nav> + </div> + </div> + </div> + + + + <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > + <div class="md-sidebar__scrollwrap"> + <div class="md-sidebar__inner"> + + +<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> + + + + +</nav> + </div> + </div> + </div> + + + + <div class="md-content" data-md-component="content"> + <article class="md-content__inner md-typeset"> + + + + + <h1>Introduction</h1> + + + + + + + + + + + + + + + + </article> + </div> + + +<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> + </div> + + <button type="button" class="md-top md-icon" data-md-component="top" hidden> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> + Back to top +</button> + + </main> + + <footer class="md-footer"> + + + + <nav class="md-footer__inner md-grid" aria-label="Footer" > + + + <a href="../../nfv/design_nfv_services/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Design NFV Services"> + <div class="md-footer__button md-icon"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> + </div> + <div class="md-footer__title"> + <span class="md-footer__direction"> + Previous + </span> + <div class="md-ellipsis"> + Design NFV Services + </div> + </div> + </a> + + + + <a href="../ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/" class="md-footer__link md-footer__link--next" aria-label="Next: Exposing CRDs_aaS_Example_Calculator"> + <div class="md-footer__title"> + <span class="md-footer__direction"> + Next + </span> + <div class="md-ellipsis"> + Exposing CRDs_aaS_Example_Calculator + </div> + </div> + <div class="md-footer__button md-icon"> + + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> + </div> + </a> + + </nav> + + + <div class="md-footer-meta md-typeset"> + <div class="md-footer-meta__inner md-grid"> + <div class="md-copyright"> + + <div class="md-copyright__highlight"> + Copyright © 2024 ETSI OSL + </div> + + + Made with + <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> + Material for MkDocs + </a> + +</div> + + <div class="md-social"> + + + + + + + + + <a href="https://osl.etsi.org/" target="_blank" rel="noopener" title="osl.etsi.org" class="md-social__link"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.4c2.2 20.4 3.3 41.8 3.3 64zm28.8-64h123.1c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6 78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7 10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5 11.6 26 20.9 58.2 27 94.7zm-209 0H18.6c30-74.1 93.6-130.9 172-151.6-25.5 34.2-45.3 87.7-55.3 151.6zM8.1 192h123.1c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zm186.6 254.6c-11.6-26-20.9-58.2-27-94.6h176.6c-6.1 36.4-15.5 68.6-27 94.6-10.5 23.6-22.2 40.7-33.5 51.5-11.2 10.7-20.5 13.9-27.8 13.9s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6-78.4-20.7-142-77.5-172-151.6h116.7zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6 25.5-34.2 45.2-87.7 55.3-151.6h116.6z"/></svg> + </a> + + + + + + + + + <a href="https://labs.etsi.org/rep/osl" target="_blank" rel="noopener" title="labs.etsi.org" class="md-social__link"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81-2.9-.295-5.7.083-8.4 1.11-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.09 18.09 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3 4.7 0 9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z"/></svg> + </a> + + + + + + + + + <a href="https://www.linkedin.com/company/openslice/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg> + </a> + + + + + + + + + <a href="https://twitter.com/OpensliceOSS" target="_blank" rel="noopener" title="twitter.com" class="md-social__link"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9L389.2 48zm-24.8 373.8h39.1L151.1 88h-42l255.3 333.8z"/></svg> + </a> + +</div> + + </div> + </div> +</footer> + + </div> + <div class="md-dialog" data-md-component="dialog"> + <div class="md-dialog__inner md-typeset"></div> + </div> + + <div class="md-progress" data-md-component="progress" role="progressbar"></div> + + + <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.instant", "navigation.instant.progress", "navigation.top", "navigation.footer", "navigation.path", "search", "search.highlight"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script> + + + <script src="../../../assets/javascripts/bundle.fe8b6f2b.min.js"></script> + + + </body> +</html> \ No newline at end of file diff --git a/public/develop/service_design/intro/index.html b/public/develop/service_design/intro/index.html index d14dda2a..ca9701f8 100644 --- a/public/develop/service_design/intro/index.html +++ b/public/develop/service_design/intro/index.html @@ -1779,6 +1779,27 @@ + <li class="md-nav__item"> + <a href="../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_design/kubernetes/ExposingKubernetesResources/index.html b/public/develop/service_design/kubernetes/ExposingKubernetesResources/index.html index 56b83942..f5673a33 100644 --- a/public/develop/service_design/kubernetes/ExposingKubernetesResources/index.html +++ b/public/develop/service_design/kubernetes/ExposingKubernetesResources/index.html @@ -1772,6 +1772,27 @@ + <li class="md-nav__item"> + <a href="../../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/index.html b/public/develop/service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/index.html index 366c4a86..e446e047 100644 --- a/public/develop/service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/index.html +++ b/public/develop/service_design/kubernetes/helm/HELM_Installation_aaS_Jenkins_Example/index.html @@ -1723,6 +1723,27 @@ + <li class="md-nav__item"> + <a href="../../../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_design/kubernetes/helm/design_helmaas/index.html b/public/develop/service_design/kubernetes/helm/design_helmaas/index.html index 49b3e7c9..684f85f1 100644 --- a/public/develop/service_design/kubernetes/helm/design_helmaas/index.html +++ b/public/develop/service_design/kubernetes/helm/design_helmaas/index.html @@ -1790,6 +1790,27 @@ + <li class="md-nav__item"> + <a href="../../../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../../examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_design/kubernetes/intro/index.html b/public/develop/service_design/kubernetes/intro/index.html index 07edd101..cf29c385 100644 --- a/public/develop/service_design/kubernetes/intro/index.html +++ b/public/develop/service_design/kubernetes/intro/index.html @@ -1726,6 +1726,27 @@ + <li class="md-nav__item"> + <a href="../../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_design/nfv/design_nfv_services/index.html b/public/develop/service_design/nfv/design_nfv_services/index.html index 8c7425b3..a4d84706 100644 --- a/public/develop/service_design/nfv/design_nfv_services/index.html +++ b/public/develop/service_design/nfv/design_nfv_services/index.html @@ -18,7 +18,7 @@ <link rel="prev" href="../../kubernetes/helm/design_helmaas/"> - <link rel="next" href="../../examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/"> + <link rel="next" href="../../examples/intro/"> <link rel="icon" href="../../../images/favicon.png"> @@ -1726,6 +1726,27 @@ + <li class="md-nav__item"> + <a href="../../examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../examples/open5gs_nfv.md" class="md-nav__link"> @@ -2683,13 +2704,13 @@ - <a href="../../examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/" class="md-footer__link md-footer__link--next" aria-label="Next: Exposing CRDs_aaS_Example_Calculator"> + <a href="../../examples/intro/" class="md-footer__link md-footer__link--next" aria-label="Next: Introduction"> <div class="md-footer__title"> <span class="md-footer__direction"> Next </span> <div class="md-ellipsis"> - Exposing CRDs_aaS_Example_Calculator + Introduction </div> </div> <div class="md-footer__button md-icon"> diff --git a/public/develop/service_inventory/index.html b/public/develop/service_inventory/index.html index af5205b4..9b048e32 100644 --- a/public/develop/service_inventory/index.html +++ b/public/develop/service_inventory/index.html @@ -1715,6 +1715,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/service_ordering/ordering_services/index.html b/public/develop/service_ordering/ordering_services/index.html index c699dca4..bacdfe20 100644 --- a/public/develop/service_ordering/ordering_services/index.html +++ b/public/develop/service_ordering/ordering_services/index.html @@ -1719,6 +1719,27 @@ + <li class="md-nav__item"> + <a href="../../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/sitemap.xml b/public/develop/sitemap.xml index d60afb23..2902400a 100644 --- a/public/develop/sitemap.xml +++ b/public/develop/sitemap.xml @@ -75,11 +75,6 @@ <lastmod>2024-07-06</lastmod> <changefreq>daily</changefreq> </url> - <url> - <loc>https://osl.etsi.org/develop/service_design_intro/</loc> - <lastmod>2024-07-06</lastmod> - <changefreq>daily</changefreq> - </url> <url> <loc>https://osl.etsi.org/develop/service_inventory/</loc> <lastmod>2024-07-06</lastmod> @@ -250,6 +245,11 @@ <lastmod>2024-07-06</lastmod> <changefreq>daily</changefreq> </url> + <url> + <loc>https://osl.etsi.org/develop/service_design/examples/intro/</loc> + <lastmod>2024-07-06</lastmod> + <changefreq>daily</changefreq> + </url> <url> <loc>https://osl.etsi.org/develop/service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator/</loc> <lastmod>2024-07-06</lastmod> diff --git a/public/develop/sitemap.xml.gz b/public/develop/sitemap.xml.gz index adec834d3bb8e8804c8cd2d91c34918e1672083e..acf40cd4dfa916fc31a8389dac2651cba543e44b 100644 GIT binary patch delta 740 zcmV<A0vrAF1@8rr7k`;uZ__XohVS<)s@|_D6M})d?xO2p3<TQX+VY&!#Hv4nkJFET z&vBZRmMgeH$C0Wyj%z)3ULT(~nceQJ8Eqh-_U>l<YBC*<z$ss9SKW+%e80cE9^cL{ zW^FJCaYT(B-i+%QoA*Vr-EJqSBUsts#D}UtRnr9)ePuD7ynh?dFGh5v4i2U6m>I9; zsTZVfJemna)Lj=PY{2-Ym=&qX=|3b!>&yAo^y>BH^zG&J4K?ZOPMWD&x(ZeSe$Gp& z&3;y#)ErQXBg;QieQm%!8?8W;&=|kB;G%$?w2c8|$}Eix7KK!i9x+!)C8IRHVvFb9 zN>@U=7(7$N-+zK+54iBQ@d)fWAFsLUF;xh<!xXR97=73?r8CMhC3CBdKZF{lfZl*u z!(JIL*TPCCD_|UP8Xss^LDpeA<Ta%TVUyAy?KT9-ca28~Ry$8A1y{n>l@J82c8sCz zax<>^V^B5a^D4Fh&Mz|HRix4&4e1~YT2ezxx~-lM%YO{-gSX2aiP=f>O@`>msO2ya zjo5;%Vh*ep5Gm-sv{}q7r3kXoIgonU#ySg7^fm|1Xjhp$`o+`3-G^m=TKRByXv8;o zQQ(b1zqFBJ?@*bF8PIMu)`t8RS4$%$7O+cxzZ4{2<jh%N6wwP>Xq+iKJ5#dG89Pq$ z*{rSC5q~nY29Q5$0Q7Aj^VPpB&4QJ?Q9P%`1{7z|!G33;fLz`boWc4)rkwA_f5ysQ ztDb*ICB}X_(`=@_f4CIu_JwRWM8Hf3Ku(b}dBS6_j|53S=3ggIQHRIR{QYqWs4K@> z0Dqt!zw+nEyi5j+_O->+9SSL*#qw}RETmDbkzKSu|5ckTMtu^whcP`KtDgE)53?If zM!GwpuEE&i<MQ(t@!*i6DCvl7Yp1VI;MUsVptC%OcBmGqoT6|RV@O*?&rL;<$(C`< W&4<E&1n*7=asCSrY#k*qCjbEBk8P*` delta 744 zcmV<E0vG-71@i@v7k`>vZ__XohVS<)s@|_D6M})d?xO2p48*j-wdFadiB*3DAEzJx zp5rtr?H$~p<49E<$F&|iZ(g6{bauP5X0(BT+Pj<ao5^%M0;hbbU3D}5`Q!fbdVD*- zn6<$m#1S=icr&hJY(5sncDtRRj$mbj6CbJqRZS;Y^p(YQ@_%7GzZlVxIyjWNV`jXX zr(Te{@n|LxQFmRGumR(nVpgOkr@xRGtuN<S)2p|a)AyItchsb>J87nB=_*(S_%$!3 zHv3s|Qgc8ljx7I7^}PZ2VzdHLLSy{if{Oxn(l!Q=DYG;(SQJu4y2V@}m5kE(iY=aZ zD_sfgV(?56|9=RQJ>bII#v`!je7xqW$5bKc3RApVWAtIql+Gy2l+3L*{$Mps0lfjS zhP^Ugu7#COR>0VC8Xss?LDse%@|seFusMW3s4K^MW(QR5HZ-4n?I=R9+Ifn8xDvLm zgdoV6Fow1ZBe{mULDiIcsMrQLKgobskxGL!q=PJINq-G3>9%?~JZ5+wyj|`{%ubpo z8KR?{GKYa^#1?E7b6~ZANbAFEo5jphG$R|G1F4s7tg`?`Z*$;`c9qGkUpznDeOmTk zD<AF-jrf`u8E*{wwT<MxLuD#vK)cmg8%hniW?xcb0lTy{Q3{eTa^|csis%JBXq+j# z{GenVGk<oRMp@Rm%n>rQ29Q5$0Q7C3<g4G;&4QJCqIgb=4Jgi_L;9V80&>|YID_?p zl5)Na{~0TLt$O~JN{sz<rrAtu|8OeS?JK3-5CJnC0A-4t$rB!XeI!WwFn^JHiaOl> zEVjCf9Jac9)Z-r#mMNK`HDd96heFC1u{>N63t?$gYb338f7K?7QJ=WrFs8?2)pH*< zVRmE5NOvdHH5glbUVi;19vqS*k&Y+@?DX{o+*&&vbe8AP`uAU{oE$BSF(ljVxv3~J avEO5yI~4vSc=v@6=f443vgEZVCjbDz-D%?h diff --git a/public/develop/terminology/index.html b/public/develop/terminology/index.html index b53b6972..2bb2b17e 100644 --- a/public/develop/terminology/index.html +++ b/public/develop/terminology/index.html @@ -1717,6 +1717,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> diff --git a/public/develop/under_construction/index.html b/public/develop/under_construction/index.html index 366e97a4..3418c644 100644 --- a/public/develop/under_construction/index.html +++ b/public/develop/under_construction/index.html @@ -1710,6 +1710,27 @@ + <li class="md-nav__item"> + <a href="../service_design/examples/intro/" class="md-nav__link"> + + + <span class="md-ellipsis"> + Introduction + </span> + + + </a> + </li> + + + + + + + + + + <li class="md-nav__item"> <a href="../service_design/examples/open5gs_nfv.md" class="md-nav__link"> -- GitLab