From 0fa4a0daa6e138ee287747c46b67dfff05f9126f Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@gmail.com> Date: Thu, 4 Jul 2024 16:07:07 +0300 Subject: [PATCH] update #9 --- doc/architecture/nfvweb.md | 11 --- doc/config_intro.md | 9 ++ doc/naas/introduction.md | 9 +- .../nfv/nfvservices.md} | 0 doc/naas/service_catalog.md | 33 +++++++- doc/naas/service_catalog/img01.png | Bin 0 -> 66542 bytes doc/naas/service_spec.md | 77 ++++++++++++++++++ .../tmfweb.md => portals_intro.md} | 33 +++++--- doc/role_keycloak_management.md | 11 +++ doc/terminology.md | 18 ++-- mkdocs.yml | 6 +- 11 files changed, 170 insertions(+), 37 deletions(-) delete mode 100644 doc/architecture/nfvweb.md rename doc/{nfvcatalogs.md => naas/nfv/nfvservices.md} (100%) create mode 100644 doc/naas/service_catalog/img01.png rename doc/{architecture/tmfweb.md => portals_intro.md} (69%) create mode 100644 doc/role_keycloak_management.md diff --git a/doc/architecture/nfvweb.md b/doc/architecture/nfvweb.md deleted file mode 100644 index b96dee34..00000000 --- a/doc/architecture/nfvweb.md +++ /dev/null @@ -1,11 +0,0 @@ -# Openslice NFV Web Portal - -The [NFV Web Portal](http://portal.openslice.io/nfvportal) offers a domain-specific UI to manage NFV Services. - -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 - -More information can be found at [NFV Services](../nfvcatalogs.md). \ No newline at end of file diff --git a/doc/config_intro.md b/doc/config_intro.md index e69de29b..c3549c15 100644 --- a/doc/config_intro.md +++ b/doc/config_intro.md @@ -0,0 +1,9 @@ +# Configuring and managing OpenSlice + +## Intended Audience: OpenSlice administrators + +This section provides information on how to configure and manage different aspect of OpenSlice while in operation. For example: + +* Manage user roles and access in Keycloak +* Configure/Manage NFVOs +* Advanced configuration scenarios \ No newline at end of file diff --git a/doc/naas/introduction.md b/doc/naas/introduction.md index 12d4a939..469b19eb 100644 --- a/doc/naas/introduction.md +++ b/doc/naas/introduction.md @@ -1,6 +1,7 @@ # Network as a Service (NaaS) -This section describes some core concepts for Delivering Network as a Service in OpenSlice. There are many articles and reports on the subject like +This section describes some core concepts for Delivering Network as a Service in OpenSlice. There are many articles and reports on the subject like: + * TMF909 API Suite Specification for NaaS * TMF926A Connectivity_as_a_Service * TMF931-Open_Gateway_Onboarding_and_Ordering_Component_Suite @@ -15,4 +16,8 @@ OpenSlice makes extensive use of TMFORUM's models and APIs. Therefore if one is 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. -For a complete list of supported APIs, see [Supported APIs](exposed_apis.md) \ No newline at end of file + +## What's next + +* For a complete list of supported APIs, see [Supported APIs](exposed_apis.md) +* Check the defined user roles of OpenSlice in our [Terminology](../terminology.md) \ No newline at end of file diff --git a/doc/nfvcatalogs.md b/doc/naas/nfv/nfvservices.md similarity index 100% rename from doc/nfvcatalogs.md rename to doc/naas/nfv/nfvservices.md diff --git a/doc/naas/service_catalog.md b/doc/naas/service_catalog.md index 01663a9e..36b2623a 100644 --- a/doc/naas/service_catalog.md +++ b/doc/naas/service_catalog.md @@ -1,16 +1,40 @@ # OpenSlice Service Catalogs +OpenSlice offers complete management of Service Catalogs. + +## Intended Audience: Service Designers, OpenSlice administrators + + OpenSlice offers complete management of Service Catalogs which offer to end users: + * Service categories: Lists the available services, including their specifications and performance metrics. * Service Bundles: Combines multiple services into a single offering to provide added value to customers. +Service Catalogs contain Service Specifications (organized in Service Categories) exposed to users for Service Orders. + + +## UI management -Service Catalogs contain Service Specifications exposed to users for Service Orders. +In the UI this looks like the following. Service catalogs and categories exposed in Service marketplace. -In the UI this looks like this +In the menu the administrator can manage the Service Catalogs and Categories. +[](./service_catalog/img01.png) +## API exposed + +When installing OpenSlice the API endpoints can be browsed at: +``` +[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0 + +endpoint examples: + +/serviceCatalogManagement/v4/serviceCatalog List or find ServiceCatalog objects +/serviceCatalogManagement/v4/serviceCategory List or find ServiceCategory objects + +``` + ## Example Use Case Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers. @@ -20,3 +44,8 @@ Scenario: A service provider wants to offer a new managed XXXX service to enterp * Service Delivery/Order: Provision Service by Using the orchestration system to provision and configure the XXXX service based on customer orders. +## What's next + +* Read the model of Service Catalogs in TMF [TMF633 Service Catalog API User Guide v4.0.0](https://www.tmforum.org/resources/specification/tmf633-service-catalog-api-user-guide-v4-0-0/) +* Check a demo of the API [here](http://portal.openslice.io/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0) +* Check a demo of the Catalog and Categories [here](http://portal.openslice.io) \ No newline at end of file diff --git a/doc/naas/service_catalog/img01.png b/doc/naas/service_catalog/img01.png new file mode 100644 index 0000000000000000000000000000000000000000..84e3830dd98c49ff6177f914e84ea82b027e5410 GIT binary patch literal 66542 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 literal 0 HcmV?d00001 diff --git a/doc/naas/service_spec.md b/doc/naas/service_spec.md index e69de29b..ffff5eaf 100644 --- a/doc/naas/service_spec.md +++ b/doc/naas/service_spec.md @@ -0,0 +1,77 @@ +# OpenSlice Service Specification + +OpenSlice offers complete management of Service Specifications. + +## Intended Audience: Service Designers + +Service Specification is an he entity that describes a service offering. There are two types of Service Specifications: + +* Resource Facing Service Specification +* Customer Facing Service Specification + +## Resource Facing Service Specification + +Is a Service that It exposes a resource Specification as a Service. (For example expose a Network Service Descriptor as a Service) + +## Customer Facing Service Specification + +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 + +## Definition + +Usually a Service Specification has the following aspects: + +* Name, Description, Version +* Marked as a Service Bundle: Combines multiple services into a single offering to provide added value to customers. + * if is is a Bundle then you must add Related Service Specifications +* If it is a Resource Facing Service Specification has multiple related Resource Facing Service Specifications +* Characteristics: a list of service characteristics and their type (TEXT, INTEGER, etc) + * Also they can be exposed as "Configurable" so to allow to end-users during the Service Order to select or type values +* A logo, displayed if needed in the Service Marketplace +* Any attachments that further help the user +* Life Cycle Rules that determine the behavior of the Service and instrument the Service Orchestrator. More on Life Cycle Rules [here](./lcm_rules_intro.md) + +Service Designers can create a Service Specification from scratch or use some templates: + + * Create a Service based from a Network Service Descriptor (NSD) + * Create a Service based on a Kubernetes Operator + * Create a Service based on the GSMA GST - Generic Slice Template + +## UI management + +In the UI this looks like the following. + +In the menu the administrator can manage the Service Specifications. + +[](./service_catalog/img01.png) + + + + + +## API exposed + +When installing OpenSlice the API endpoints can be browsed at: +``` +[YOURDOMAIN]/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0 +``` + +endpoint examples: + +/serviceCatalogManagement/v4/serviceSpecification List or find ServiceSpecification objects + + + +## Example Use Case + +Scenario: A service provider wants to offer a new managed XXXX service to enterprise customers. + + * Service Definition: SCreate a service specification template for the XXXX service, including specifications for bandwidth, network features, and performance metrics. + + +## What's next + +* Read the model of Service Catalogs in TMF [TMF633 Service Catalog API User Guide v4.0.0](https://www.tmforum.org/resources/specification/tmf633-service-catalog-api-user-guide-v4-0-0/) +* Check a demo of the API [here](http://portal.openslice.io/tmf-api/swagger-ui/index.html?urls.primaryName=tmf-api-633-ServiceCatalogManagement-v4.0.0) +* Check a demo of the Service Specifications in Catalog and Categories [here](http://portal.openslice.io) (You need to login - see main guide page) +* Check the GSMA GST \ No newline at end of file diff --git a/doc/architecture/tmfweb.md b/doc/portals_intro.md similarity index 69% rename from doc/architecture/tmfweb.md rename to doc/portals_intro.md index 729eed65..0f0d53c2 100644 --- a/doc/architecture/tmfweb.md +++ b/doc/portals_intro.md @@ -1,13 +1,14 @@ -# Openslice TMF Web Portal +# OpenSlice Portals -Openslice comprises of a [web landing page](http://portal.openslice.io/) that navigates to the respective TMF Portal. +Openslice comprises of a web landing page [See Demo](http://portal.openslice.io/) that navigates to the respective Portal: -- [Services Portal](http://portal.openslice.io/services) -- [Products Portal](http://portal.openslice.io/products) -- [Testing Portal](http://portal.openslice.io/testing) -- [Resources Portal](http://portal.openslice.io/resources) +- Services Portal [See Demo](http://portal.openslice.io/services) +- NFV Portal [See Demo](http://portal.openslice.io/nfvportal) +- Products Portal [See Demo](http://portal.openslice.io/products) +- Testing Portal [See Demo](http://portal.openslice.io/testing) +- Resources Portal [See Demo](http://portal.openslice.io/resources) +- -The landing page and the TMF portals (Services, Products, Testing, Resources) are written in Angular and are maintained under the same Angular project. Following you may find the scope each portal focuses on and the main TMF APIs it supports. @@ -15,6 +16,18 @@ Following you may find the scope each portal focuses on and the main TMF APIs it - 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. +**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 + +More information can be found at [NFV Services](./naas/nfv/nfvservices.md). + +**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. @@ -22,9 +35,6 @@ Following you may find the scope each portal focuses on and the main TMF APIs it **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. -**Resources Portal** is a designated portal for the: -- Resource Administrator - To view the available Resources that are being synchronized from the underlying infrastructure. - @@ -35,5 +45,4 @@ Following you may find the scope each portal focuses on and the main TMF APIs it |**Testing Portal** | |x | | | | | | | |x | | |**Resources Portal** | |x | |x | |x | | | | |x | - -From the landing page, the user can also navigate towards the NFV portal. See [NFV WEB](./nfvweb.md). \ No newline at end of file +The NFV Portal uses a proprietary API \ No newline at end of file diff --git a/doc/role_keycloak_management.md b/doc/role_keycloak_management.md new file mode 100644 index 00000000..153d5c31 --- /dev/null +++ b/doc/role_keycloak_management.md @@ -0,0 +1,11 @@ +# Role management in Keycloak + +Some initial configuration of Keycloak happens at Installation/Deployment time. Here are some notes regarding user management + +## Intended Audience: OpenSlice administrators + +There are cases that OpenSlice administrators need to configure Keycloak: + +* Change user roles, e.g. make a Simple user a Service Designer +* Domain management +* User Password reset \ No newline at end of file diff --git a/doc/terminology.md b/doc/terminology.md index 204adb87..c021048c 100644 --- a/doc/terminology.md +++ b/doc/terminology.md @@ -1,13 +1,17 @@ # User Roles -User -Service Designer -OpenSlice administrator + +* User +* Service Designer +* OpenSlice administrator # Terms -OpenSlice management cluster -Service Specification: Detailed descriptions of services, including attributes, configurations, performance metrics, and SLAs. -Service Catalog -Service Inventory +* Resource Facing Service Specification (RFSSpec): A Service that exposes a resource Specification as a Service. +* Customer Facing Service Specification (CFSSpec): Service exposed to users for Service Orders. Usually it exposes other CFSSpec(Service Bundle) or other RFSSpecs +* OpenSlice management cluster +* Service Specification: Detailed descriptions of services, including attributes, configurations, performance metrics, and SLAs. +* Service Catalog +* Service Categories +* Service Inventory diff --git a/mkdocs.yml b/mkdocs.yml index aba5dfbf..f84c1237 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -79,6 +79,8 @@ nav: - Introduction: deployment.md - Docker Compose: deploymentCompose.md - Kubernetes: deploymentK8s.md + - Portals: + - Introduction: portals_intro.md - Configuration/Management: - Introduction: config_intro.md - Role/Keycloak management: role_keycloak_management.md @@ -106,7 +108,7 @@ nav: - Supported TMFORUM exposed APIs: ./naas/exposed_apis.md - NFV support: - Introduction: ./naas/nfv/intro.md - - NFV Catalogs: ./naas/nfv/nfvcatalogs.md + - NFV Services: ./naas/nfv/nfvservices.md - Service design: - Introduction: ./service_design/intro.md - Support for Kubernetes: @@ -148,8 +150,6 @@ nav: - APIs: - TMF API: ./architecture/tmfapi.md - NFV API: ./architecture/nfvapi.md - - TMF WEB: ./architecture/tmfweb.md - - NFV WEB: ./architecture/nfvweb.md - Issue management: ./architecture/issuemgt.md - Central logging: ./architecture/centrallog.md - Contributing to OSL: -- GitLab