diff --git a/doc/naas/lcm_intro.md b/doc/naas/lcm_intro.md index 9654b54632d6f282fec6676ac48a89734912b184..5670c58f2197bba6e08f015996b137f3f307842e 100644 --- a/doc/naas/lcm_intro.md +++ b/doc/naas/lcm_intro.md @@ -82,19 +82,23 @@ In this phase the Service Designer can define several aspects. **Be aware that ### High level example: Enhanced Mobile Broadband (eMBB) Service Lifecycle 1. **Preparation:** + - Define eMBB service requirements for high bandwidth and low latency. - Create an eMBB service specification template specifying related services and resources to Kubernetes Operators, VNFs for content delivery and traffic management. - Expose to catalog 2. **Instantiation:** + - Instantiate other services and allocate resources such as edge computing nodes and high-capacity links. - Configure the service to prioritize video streaming traffic. 3. **Operation:** + - Monitor the service to ensure it meets high-bandwidth requirements. - Scale up resources during peak usage periods, such as live sports events. 4. **Decommissioning:** + - Notify users about service termination. - Decommission the network service, reclaiming resources for other services. diff --git a/doc/naas/so/service_specification_instantiation.png b/doc/naas/so/service_specification_instantiation.png new file mode 100644 index 0000000000000000000000000000000000000000..4bdaea9b5ac8702a2dfd801d7c85669c8cba8a97 Binary files /dev/null and b/doc/naas/so/service_specification_instantiation.png differ diff --git a/doc/so_ServiceCreationProcess.pu b/doc/naas/so/so_ServiceCreationProcess.pu similarity index 100% rename from doc/so_ServiceCreationProcess.pu rename to doc/naas/so/so_ServiceCreationProcess.pu diff --git a/doc/so_activity_main.pu b/doc/naas/so/so_activity_main.pu similarity index 100% rename from doc/so_activity_main.pu rename to doc/naas/so/so_activity_main.pu diff --git a/doc/naas/so_servicespec_to_services_nfv.md b/doc/naas/so_servicespec_to_services_nfv.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7ca3911dae86d5bf9b704184d11415fda1dac81f 100644 --- a/doc/naas/so_servicespec_to_services_nfv.md +++ b/doc/naas/so_servicespec_to_services_nfv.md @@ -0,0 +1,39 @@ +# From Service Specification to NFV based services + +After a Service Order completion, active services with their additional characteristics are found: + +* From the Order Items of a selected Service order +* from the menu of Service inventory and then selecting details of each service +* through the Service Inventory API (TMF 638 - Service Inventory Management ) + + +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. + + +[](./so/service_specification_instantiation.png) + + +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 + + +## Interacting with an Active Service (Day 2 config) + +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 : <servicename>::Primitive::<action> + +The user can edit the characteristic with a new value. The value is propagated through the OSOM and NFVO down to the related VNF. + +## Terminating/Inactivating a service + +You can terminate the service with one of the following processes: + +* 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 +* To terminate or inactivate a service, select the specific service from the inventory, press Edit and set the State either to Inactive or Terminated + +<b>Warning: if you terminate or inactivate a service the action cannot be undone.</b> + + +## uml: sequence diagram +Here I will embed PlantUML markup to generate a sequence diagram. + +I can include as many plantuml segments as I want in my Markdown, and the diagrams can be of any type supported by PlantUML. + diff --git a/doc/catalogs.md b/doc/service_design/catalogs.md similarity index 69% rename from doc/catalogs.md rename to doc/service_design/catalogs.md index 3b3538d0b5dcaedf1690154bea22e70caf85551b..ebaf24fc0d524ce6729038ae6dadfca2d02752c0 100644 --- a/doc/catalogs.md +++ b/doc/service_design/catalogs.md @@ -96,35 +96,6 @@ Openslice offers the GST in a format that is machine readable and aligned with t Providers can clone a GST as e NEST directly in Openslice Web portal and the adjust the default attributes to their Service Specification -### 5G-VINNI Service Blueprint -(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> - -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. - -Here is a tentative approach in JSON : <https://github.com/openslice/org.etsi.osl.tmf.api/tree/master/src/main/resources/vinnisb> - -5G-VINNI SB has many commonalities with GST as well as it offers Testing as a Service attributes. - - Next figure presents the high-level object model of a 5G-VINNI service blueprint. - -The 5G-VINNI SB as a first prototype approach is conceived as a CFS of a ‘bundle’ of services. It has some characteristics, like name, description, service type (eMBB, etc) and others. The constituent services are: - -- A “Service Topology†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 -- A “VINNI SB Service Requirements†Service Specification which is related to Service requirements. This is very similar to GST. It is considered at this stage a CFS. -- A “VINNI SB Service Exposure Level 1†Service Specification which contains characteristics for service exposure on level 1 ( see D3.1 for details). It is considered at this stage a CFS. -- A “VINNI SB Service Exposure Level 2†Service Specification which contains characteristics for service exposure on level 2. It is considered at this stage a CFS. -- A “VINNI SB Service Exposure Level 3†Service Specification which contains characteristics for service exposure on level 3. It is considered at this stage a CFS. -- A “VINNI SB Service Exposure Level 4†Service Specification which contains characteristics for service exposure on level 4. It is considered at this stage a CFS. -- A “VINNI SB Service 3rd part VNF†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 -- A “VINNI SB Service 3rd part NSD†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 -- A “VINNI SB Service Monitoring†Service Specification which contains characteristics for offering Monitoring capabilities on the requested Service. It is considered at this stage a CFS. -- A “VINNI SB Service Testing†Service Specification which contains characteristics for offering Testing capabilities on the requested Service. It is considered at this stage a CFS. - - -[](../images/vinni_sb_model_diagram.png) - - ## Manage a Service Specification You can manage them though the Web UI @@ -142,6 +113,6 @@ Delete it from the category ## Consume and expose Service Specifications from other Service Catalogues -See more on [Consuming Services From External Partner Organizations](./architecture/consumingServicesFromExternalPartners.md) +See more on [Consuming Services From External Partner Organizations]( ../architecture/consumingServicesFromExternalPartners.md ) diff --git a/doc/service_design/lcmrules/examples.md b/doc/service_design/lcmrules/examples.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/doc/images/lcm/lcmfig1.png b/doc/service_design/lcmrules/images/lcm/lcmfig1.png similarity index 100% rename from doc/images/lcm/lcmfig1.png rename to doc/service_design/lcmrules/images/lcm/lcmfig1.png diff --git a/doc/images/lcm/lcmfig10.png b/doc/service_design/lcmrules/images/lcm/lcmfig10.png similarity index 100% rename from doc/images/lcm/lcmfig10.png rename to doc/service_design/lcmrules/images/lcm/lcmfig10.png diff --git a/doc/images/lcm/lcmfig11.png b/doc/service_design/lcmrules/images/lcm/lcmfig11.png similarity index 100% rename from doc/images/lcm/lcmfig11.png rename to doc/service_design/lcmrules/images/lcm/lcmfig11.png diff --git a/doc/images/lcm/lcmfig12.png b/doc/service_design/lcmrules/images/lcm/lcmfig12.png similarity index 100% rename from doc/images/lcm/lcmfig12.png rename to doc/service_design/lcmrules/images/lcm/lcmfig12.png diff --git a/doc/images/lcm/lcmfig13.png b/doc/service_design/lcmrules/images/lcm/lcmfig13.png similarity index 100% rename from doc/images/lcm/lcmfig13.png rename to doc/service_design/lcmrules/images/lcm/lcmfig13.png diff --git a/doc/images/lcm/lcmfig14.png b/doc/service_design/lcmrules/images/lcm/lcmfig14.png similarity index 100% rename from doc/images/lcm/lcmfig14.png rename to doc/service_design/lcmrules/images/lcm/lcmfig14.png diff --git a/doc/images/lcm/lcmfig1_osom.png b/doc/service_design/lcmrules/images/lcm/lcmfig1_osom.png similarity index 100% rename from doc/images/lcm/lcmfig1_osom.png rename to doc/service_design/lcmrules/images/lcm/lcmfig1_osom.png diff --git a/doc/images/lcm/lcmfig2.png b/doc/service_design/lcmrules/images/lcm/lcmfig2.png similarity index 100% rename from doc/images/lcm/lcmfig2.png rename to doc/service_design/lcmrules/images/lcm/lcmfig2.png diff --git a/doc/images/lcm/lcmfig3.png b/doc/service_design/lcmrules/images/lcm/lcmfig3.png similarity index 100% rename from doc/images/lcm/lcmfig3.png rename to doc/service_design/lcmrules/images/lcm/lcmfig3.png diff --git a/doc/images/lcm/lcmfig4.png b/doc/service_design/lcmrules/images/lcm/lcmfig4.png similarity index 100% rename from doc/images/lcm/lcmfig4.png rename to doc/service_design/lcmrules/images/lcm/lcmfig4.png diff --git a/doc/images/lcm/lcmfig5.png b/doc/service_design/lcmrules/images/lcm/lcmfig5.png similarity index 100% rename from doc/images/lcm/lcmfig5.png rename to doc/service_design/lcmrules/images/lcm/lcmfig5.png diff --git a/doc/images/lcm/lcmfig6.png b/doc/service_design/lcmrules/images/lcm/lcmfig6.png similarity index 100% rename from doc/images/lcm/lcmfig6.png rename to doc/service_design/lcmrules/images/lcm/lcmfig6.png diff --git a/doc/images/lcm/lcmfig7.png b/doc/service_design/lcmrules/images/lcm/lcmfig7.png similarity index 100% rename from doc/images/lcm/lcmfig7.png rename to doc/service_design/lcmrules/images/lcm/lcmfig7.png diff --git a/doc/images/lcm/lcmfig8.png b/doc/service_design/lcmrules/images/lcm/lcmfig8.png similarity index 100% rename from doc/images/lcm/lcmfig8.png rename to doc/service_design/lcmrules/images/lcm/lcmfig8.png diff --git a/doc/images/lcm/lcmfig9.png b/doc/service_design/lcmrules/images/lcm/lcmfig9.png similarity index 100% rename from doc/images/lcm/lcmfig9.png rename to doc/service_design/lcmrules/images/lcm/lcmfig9.png diff --git a/doc/lcm.md b/doc/service_design/lcmrules/intro.md similarity index 79% rename from doc/lcm.md rename to doc/service_design/lcmrules/intro.md index 3eb28e926439b0eb526a36f91995a42f6d900a66..d6414f5582e5e41adfd35487965bf2354a8dda8a 100644 --- a/doc/lcm.md +++ b/doc/service_design/lcmrules/intro.md @@ -1,6 +1,16 @@ -# Lifecycle Management (LCM) Rules +# LCM Rules introduction + + +Lifecycle Management Rules: Defining complex conditions and actions during the lifecycle of a service and any necessary modifications throughout the service lifecycle. + + +## Intended Audience: Service Designers + +In [Naas LCM Introduction](../../naas/lcm_intro.md) it was presented briefly the LCM Rules concept. + +This section goes deeply on how Service Designers can use them. + -* NOTE: This is a prototype/experimental feature. So issues might raise during operation 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: @@ -43,7 +53,7 @@ Rules are transformed automatically to executable code (currently is Java). If a OSOM is the responsible service for executing the rules on a specific phase. The following image explains the design in the BPMN phases: -[](../images/lcm/lcmfig1_osom.png) +[](./images/lcm/lcmfig1_osom.png) @@ -52,7 +62,7 @@ OSOM is the responsible service for executing the rules on a specific phase. The Rules are defined when designing a Service Spec. Here is an example of a list of rules: -[](../images/lcm/lcmfig2.png) +[](./images/lcm/lcmfig2.png) Execution order of rules on a specific phase is random @@ -66,7 +76,7 @@ Execution order of rules on a specific phase is random The following figure is an example of such a rule design. The rule for example will run in PRE_PROVISION phase: -[](../images/lcm/lcmfig3.png) +[](./images/lcm/lcmfig3.png) * The goal of the above rule is to properly define a variable AreaCodes given the chosen AreaOfService from a Service Order. * On the right side the user can define some rule properties or observe the underlying generated java code. @@ -80,11 +90,11 @@ Blockly has syntax rules. It helps with colours to define them. So for example a parameter that is a Number cannot be "glued" with a String. Will need some conversion first -[](../images/lcm/lcmfig4.png) -[](../images/lcm/lcmfig5.png) -[](../images/lcm/lcmfig6.png) -[](../images/lcm/lcmfig7.png) -[](../images/lcm/lcmfig8.png) +[](./images/lcm/lcmfig4.png) +[](./images/lcm/lcmfig5.png) +[](./images/lcm/lcmfig6.png) +[](./images/lcm/lcmfig7.png) +[](./images/lcm/lcmfig8.png) ## Examples of Rules @@ -103,7 +113,7 @@ In the following example we : The strAreaCodes could be passed then e.g. to NFVO for instantiation of services to these cells. -[](../images/lcm/lcmfig9.png) +[](./images/lcm/lcmfig9.png) @@ -119,7 +129,7 @@ The following displays some complex examples for defining the parameters to pass * 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 -[](../images/lcm/lcmfig10.png) +[](./images/lcm/lcmfig10.png) ### Define and instantiate different services according to Service Order request @@ -134,7 +144,7 @@ There are different ways to accomplish this: The following image displays for example the latter case. -[](../images/lcm/lcmfig11.png) +[](./images/lcm/lcmfig11.png) ### Call an external RESTful service @@ -142,16 +152,22 @@ The following image displays for example the latter case. 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) -[](../images/lcm/lcmfig12.png) +[](./images/lcm/lcmfig12.png) -[](../images/lcm/lcmfig13.png) +[](./images/lcm/lcmfig13.png) ### Create New Service Orders The following example calls to Order a New Service Specification with specific Parameter Values -[](../images/lcm/lcmfig14.png) +[](./images/lcm/lcmfig14.png) + + + +## Probe further +* Check our [examples](../examples/intro.md) for more usages +* See next the complete [specification](./specification.md) diff --git a/doc/lcmrules_main.pu b/doc/service_design/lcmrules/lcmrules_main.pu similarity index 100% rename from doc/lcmrules_main.pu rename to doc/service_design/lcmrules/lcmrules_main.pu diff --git a/doc/service_design/lcmrules/specification.md b/doc/service_design/lcmrules/specification.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/doc/service_inventory.md b/doc/service_inventory.md deleted file mode 100644 index 480b92f111424c67ab3b4efbba089f4339ddb732..0000000000000000000000000000000000000000 --- a/doc/service_inventory.md +++ /dev/null @@ -1,39 +0,0 @@ -# Service Inventory - -After a Service Order completion, active services with their additional characteristics are found: - -* From the Order Items of a selected Service order -* from the menu of Service inventory and then selecting details of each service -* through the Service Inventory API (TMF 638 - Service Inventory Management ) - - -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. - - -[](./images/service_specification_instantiation.png) - - -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 - - -## Interacting with an Active Service (Day 2 config) - -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 : <servicename>::Primitive::<action> - -The user can edit the characteristic with a new value. The value is propagated through the OSOM and NFVO down to the related VNF. - -## Terminating/Inactivating a service - -You can terminate the service with one of the following processes: - -* 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 -* To terminate or inactivate a service, select the specific service from the inventory, press Edit and set the State either to Inactive or Terminated - -<b>Warning: if you terminate or inactivate a service the action cannot be undone.</b> - - -## uml: sequence diagram -Here I will embed PlantUML markup to generate a sequence diagram. - -I can include as many plantuml segments as I want in my Markdown, and the diagrams can be of any type supported by PlantUML. -