From fd5b23e8ff35aff3eacf0d20b6910b0257bcced0 Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Tue, 15 Mar 2022 21:28:55 +0100 Subject: [PATCH] [DOC] Changes for vFW CNF use case and CNFO Issue-ID: REQ-1147 Signed-off-by: Lukasz Rajewski Change-Id: I39e69dcc16191e334f006bcebffbbbe73d232d4d --- docs/docs_vFW_CNF_CDS.rst | 245 +++++++---------------------- docs/files/vFW_CNF_CDS/Dummy_Heat_Flow.png | Bin 131014 -> 0 bytes 2 files changed, 58 insertions(+), 187 deletions(-) delete mode 100644 docs/files/vFW_CNF_CDS/Dummy_Heat_Flow.png diff --git a/docs/docs_vFW_CNF_CDS.rst b/docs/docs_vFW_CNF_CDS.rst index 4cfe96f86..e6d4249a4 100644 --- a/docs/docs_vFW_CNF_CDS.rst +++ b/docs/docs_vFW_CNF_CDS.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2021 ONAP +.. Copyright 2022 ONAP .. _docs_vFW_CNF_CDS: @@ -39,8 +39,7 @@ All changes to related ONAP components and Use Case can be found in the followin - `REQ-341`_ - `REQ-458`_ - `REQ-627`_ - -**Since Guilin ONAP supports Helm packages as a native onboarding artifacts and SO natively orchestrates Helm packages what brings significant advantages in the future. Also since Guilin release ONAP has first mechanisms for monitoring of the status of deployed CNF resources. Since Honolulu release native CNF testing capability was enabled that allows for execution of the dedicated test jobs for each helm package**. +- `REQ-890`_ The vFW CNF Use Case ~~~~~~~~~~~~~~~~~~~~ @@ -83,84 +82,9 @@ Modeling of Onboarding Package/Helm The starting point for this demo was Helm package containing one Kubernetes application, see `vFW_Helm Model`_. In this demo we decided to follow SDC/SO vf-module concept the same way as original vFW demo was split into multiple vf-modules instead of one (`vFW_NextGen`_). The same way we splitted Helm version of vFW into multiple Helm packages each matching one dedicated vf-module. -The Istanbul version of the `vFW_CNF_CDS Model`_ contains files required to create **VSP onboarding packages in two formats**: the **Dummy Heat** (available in Frankfurt release already) one that considers association of each Helm package with dummy heat templates and the **Native Helm** one where each Helm package is standalone and is natively understood in consequence by SO. For both variants of VSP Helm packages are matched to the vf-module concept, so basically each Helm application after instantiation is visible to ONAP as a separate vf-module. The chosen format for onboarding has **crucial** role in the further orchestration approach applied for Helm package instantiation. The **Dummy Heat** will result with orchestration through the **Openstack Adapter** component of SO while **Native Helm** will result with **CNF Adapter**. Both approaches will result with instantiation of the same CNF, however the **Native Helm** approach will be enhanced in the future releases while **Dummy Heat** approach will become deprecated in the future. Read more in `3-1 CNF Orchestration Paths in ONAP`_ +The Jakarta version of the `vFW_CNF_CDS Model`_ contains files required to create **VSP onboarding packages in Helm Native format** where each Helm package is standalone and is natively understood in consequence by SO. The **Dummy Heat** (available in Frankfurt release already) one that considers association of each Helm package with dummy heat templates since Jakarta is not a prt of the vFW CNF demo. If you are interested to see how to onboard and orchestrate the CNF using the **Dummy Heat** approach, please open the Istanbul version of the documentation. The VSP Helm packages are matched to the vf-module concept, so basically each Helm application after instantiation is visible to ONAP as a separate vf-module. The **Native Helm** format for onboarding has **crucial** role in the further orchestration approach applied for Helm package instantiation as it leverages the **CNF Adapter** and it populates k8s resource information to AAI what plays significant role in the Day operation for CNFs, including closed-loop automation with Prometheus. Read more in `3-1 CNF Orchestration Paths in ONAP`_ -Produced **Dummy Heat** VSP onboarding package `Creating Onboarding Package`_ format has following MANIFEST file (package_dummy/MANIFEST.json). The Helm package is delivered as CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT package through SDC and SO. Dummy heat templates are matched to Helm packages by the same prefix of the file name that for both dummy Heat template and for CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT must be the same, like i.e. *vpg* vf-module in the manifest file below. The name of the CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT artifact is predefined and needs to match the pattern: _cloudtech_k8s_charts.tgz. - -:: - - { - "name": "virtualFirewall", - "description": "", - "data": [ - { - "file": "CBA.zip", - "type": "CONTROLLER_BLUEPRINT_ARCHIVE" - }, - { - "file": "base_template.yaml", - "type": "HEAT", - "isBase": "true", - "data": [ - { - "file": "base_template.env", - "type": "HEAT_ENV" - } - ] - }, - { - "file": "base_template_cloudtech_k8s_charts.tgz", - "type": "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT" - }, - { - "file": "vfw.yaml", - "type": "HEAT", - "isBase": "false", - "data": [ - { - "file": "vfw.env", - "type": "HEAT_ENV" - } - ] - }, - { - "file": "vfw_cloudtech_k8s_charts.tgz", - "type": "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT" - }, - { - "file": "vpkg.yaml", - "type": "HEAT", - "isBase": "false", - "data": [ - { - "file": "vpkg.env", - "type": "HEAT_ENV" - } - ] - }, - { - "file": "vpkg_cloudtech_k8s_charts.tgz", - "type": "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT" - }, - { - "file": "vsn.yaml", - "type": "HEAT", - "isBase": "false", - "data": [ - { - "file": "vsn.env", - "type": "HEAT_ENV" - } - ] - }, - { - "file": "vsn_cloudtech_k8s_charts.tgz", - "type": "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT" - } - ] - } - -Produced **Native Helm** VSP onboarding package `Creating Onboarding Package`_ format has following MANIFEST file (package_native/MANIFEST.json). The Helm package is delivered as HELM package through SDC and SO. The *isBase* flag of HELM artifact is ignored by SDC but in the manifest one HELM or HEAT artifacts must be defined as isBase = true. If both HEAT and HELM are present in the same manifest file the base one must be always one of HELM artifacts. Moreover, the name of HELM type artifact must match the specified pattern: *helm_* and the HEAT type artifacts, if present in the same manifest, cannot contain keyword *helm*. These limitations are a consequence of current limitations of the SDC onboarding and VSP validation engine and will be adresssed in the future releases. +Produced **Native Helm** VSP onboarding package `Creating Onboarding Package`_ format has following MANIFEST file (package_native/MANIFEST.json). The Helm package is delivered as HELM package through SDC and SO. The *isBase* flag of HELM artifact is ignored by SDC but in the manifest one HELM or HEAT artifacts must be defined as isBase = true. If both HEAT and HELM are present in the same manifest file the base one must be always one of HELM artifacts. Moreover, the name of HELM type artifact **MUST** match the specified pattern: *helm_* and the HEAT type artifacts, if present in the same manifest, cannot contain keyword *helm*. These limitations are a consequence of current limitations of the SDC onboarding and VSP validation engine and will be adresssed in the future releases. :: @@ -227,55 +151,9 @@ The prepared CBA model demonstrates also how to utilize CNF specific features of - building and upload of k8s configuration template into k8splugin - parametrization and creation of configuration instance from configuration template - validation of CNF status with Kotlin script +- execution of the CNF healtcheck -As K8S application is split into multiple Helm packages to match vf-modules, CBA modeling follows the same and for each vf-module there's own template in CBA package. The list of artifact with the templates is different for **Dummy Heat** and **Native Helm** approach. The second one has artifact names starting with *helm_* prefix, in the same way like names of artifacts in the MANIFEST file of VSP differs. The **Dummy Heat** artifacts' list is following: - -:: - - "artifacts" : { - "base_template-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/base_template-template.vtl" - }, - "base_template-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/base_template-mapping.json" - }, - "vpkg-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vpkg-template.vtl" - }, - "vpkg-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vpkg-mapping.json" - }, - "vfw-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vfw-template.vtl" - }, - "vfw-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vfw-mapping.json" - }, - "vnf-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vnf-template.vtl" - }, - "vnf-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vnf-mapping.json" - }, - "vsn-template" : { - "type" : "artifact-template-velocity", - "file" : "Templates/vsn-template.vtl" - }, - "vsn-mapping" : { - "type" : "artifact-mapping-resource", - "file" : "Templates/vsn-mapping.json" - } - } - -The **Native Helm** artifacts' list is following: +As K8S application is split into multiple Helm packages to match vf-modules, CBA modeling follows the same and for each vf-module there's own template in CBA package. The **Native Helm** approach, requires the Helm artifact names to star with *helm_* prefix, in the same way like names of artifacts in the MANIFEST file of VSP differs. The **Native Helm** artifacts' list is following: :: @@ -370,7 +248,7 @@ In order to support generation and upload of profile, our vFW CBA model has enha } }, -.. note:: In the Frankfurt release profile upload was implemented as a custom Kotlin script included into the CBA. It was responsible for upload of K8S profile into multicloud/k8s plugin. It is still a good example of the integration of Kotlin scripting into the CBA. For those interested in this functionaliy we recommend to look into the `Frankfurt CBA Definition`_ and `Frankfurt CBA Script`_. Since Honolulu we introduce more advanced use of the Kotlin script for verification of the CNF status or custom resolution of complex parameters over Kotlin script - both can be found in the further part of the documentation. +.. note:: In the Frankfurt release profile upload was implemented as a custom Kotlin script included into the CBA. It was responsible for upload of K8S profile into multicloud/k8s plugin. It is still a good example of the integration of Kotlin scripting into the CBA. For those interested in this functionaliy we recommend to look into the `Frankfurt CBA Definition`_ and `Frankfurt CBA Script`_. Since Honolulu we introduce more advanced use of the Kotlin script for verification of the CNF status or custom resolution of complex parameters over Kotlin script - both can be found in the further part of the documentation. In our example for vPKG helm package we may select *vfw-cnf-cds-vpkg-profile* profile that is included into CBA as a folder. Profile generation step uses Velocity templates processing embedded CDS functionality on its basis ssh port number (specified in the SO request as *vpg-management-port*). @@ -464,20 +342,22 @@ Artifact file determines a place of the static profile or the content of the com SO requires for instantiation name of the profile in the parameter: *k8s-rb-profile-name*. The *component-k8s-profile-upload* that stands behind the profile uploading mechanism has input parameters that can be passed directly (checked in the first order) or can be taken from the *resource-assignment-map* parameter which can be a result of associated *component-resource-resolution* result, like in our case their values are resolved on vf-module level resource assignment. The *component-k8s-profile-upload* inputs are following: -- k8s-rb-definition-name - the name under which RB definition was created - **VF Module Model Invariant ID** in ONAP -- k8s-rb-definition-version - the version of created RB definition name - **VF Module Model Customization ID** in ONAP -- k8s-rb-profile-name - (mandatory) the name of the profile under which it will be created in k8s plugin. Other parameters are required only when profile must be uploaded because it does not exist yet -- k8s-rb-profile-source - the source of profile content - name of the artifact of the profile. If missing *k8s-rb-profile-name* is treated as a source -- k8s-rb-profile-namespace - the k8s namespace name associated with profile being created -- k8s-rb-profile-kubernetes-version - the version of the cluster on which application will be deployed - it may impact the helm templating process like selection of the api versions for resources. -- resource-assignment-map - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly -- artifact-prefix-names - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset +- k8s-rb-definition-name [string] - (mandatory) the name under which RB definition was created - **VF Module Model Invariant ID** in ONAP +- k8s-rb-definition-version [string] - (mandatory) the version of created RB definition name - **VF Module Model Customization ID** in ONAP +- k8s-rb-profile-name [string] - (mandatory) the name of the profile under which it will be created in k8s plugin. Other parameters are required only when profile must be uploaded because it does not exist yet +- k8s-rb-profile-source [string] - the source of profile content - name of the artifact of the profile. If missing *k8s-rb-profile-name* is treated as a source +- k8s-rb-profile-namespace [string] - (mandatory) the k8s namespace name associated with profile being created +- k8s-rb-profile-kubernetes-version [string] - the version of the cluster on which application will be deployed - it may impact the helm templating process like selection of the api versions for resources so it should match the version of k8s cluster in which resources are bing deployed. +- k8s-rb-profile-labels [json] - the extra labels (label-name: label-value) to add for each k8s resource created for CNF in the k8s cluster (since Jakarta release). +- k8s-rb-profile-extra-types [list] - the list of extra k8s types that should be returned by StatusAPI. It may be usefull when k8s resources associated with CNF instance are created outside of the helm package (i.e. by k8s operator) but should be treated like resources of CNF. To make it hapens such resources should have the instance label *k8splugin.io/rb-instance-id* what may be assured by such tools like *kyverno*. Each extra type json object needs *Group*, *Version* and *Kind* attributes. (since Jakarta release). +- resource-assignment-map [json] - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly +- artifact-prefix-names [list] - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset In the SO request user can pass parameter of name *k8s-rb-profile-name* which in our case may have value: *vfw-cnf-cds-base-profile*, *vfw-cnf-cds-vpkg-profile* or *default*. The *default* profile does not contain any content inside and allows instantiation of CNF without the need to define and upload any additional profiles. *vfw-cnf-cds-vpkg-profile* has been prepared to test instantiation of the second modified vFW CNF instance. K8splugin allows to specify override parameters (similar to --set behavior of helm client) to instantiated resource bundles. This allows for providing dynamic parameters to instantiated resources without the need to create new profiles for this purpose. This mechanism should be used with *default* profile but may be used also with any custom profile. -The overall flow of helm overrides parameters processing is visible on following figure. When *rb definition* (helm package) is being instantiated for specified *rb profile* K8splugin combines override values from the helm package, *rb profile* and from the instantiation request - in the respective order. It means that the value from the instantiation request (SO request input or CDS resource assignement result) has a precedence over the value from the *rb profile* and value from the *rb profile* has a precedence over the helm package default override value. Similarly, profile can contain resource files that may extend or ammend the existing files for the original helm package content. +The overall flow of helm overrides parameters processing is visible on following figure. When *rb definition* (helm package) is being instantiated for specified *rb profile* K8splugin combines override values from the helm package, *rb profile* and from the instantiation request - in the respective order. It means that the value from the instantiation request (SO request input or CDS resource assignment result) has a precedence over the value from the *rb profile* and value from the *rb profile* has a precedence over the helm package default override value. Similarly, profile can contain resource files that may extend or ammend the existing files for the original helm package content. .. figure:: files/vFW_CNF_CDS/helm-overrides.png :align: center @@ -493,11 +373,11 @@ Both profile content (4) like the instantiation request values (5) can be genera Both profile content (4) like the instantiation request values (5) can be generated during the resource assignment process according to its definition for CBA associated with helm package. CBA may generate i.e. names, IP addresses, ports and can use this information to produce the *rb-profile* (3) content. Finally, all three sources of override values, temnplates and additional resources files are merged together (6) by K8splugin in the order exaplained before. -Beside the deployment of Helm application the CBA of vFW demonstrates also how to use deicated features for config-assign (7) and config-deploy (8) operations. In the use case, config-assign and config-deploy operations deal mainly with creation and instantiation of configuration template for k8s plugin. The configuration template has a form of Helm package. When k8s plugin instantiates configuration, it creates or may replace existing resources deployed on k8s cluster. In our case the configuration template is used to provide alternative way of upload of the additional ssh-service but it coud be used to modify configmap of vfw or vpkg vf-modules. +Besides the deployment of Helm application the CBA of vFW demonstrates also how to use deicated features for config-assign (7) and config-deploy (8) operations. In the use case, *config-assign* and *config-deploy* operations deal mainly with creation and instantiation of configuration template for k8s plugin. The configuration template has a form of Helm package. When k8s plugin instantiates configuration, it creates or may replace existing resources deployed on k8s cluster. In our case the configuration template is used to provide alternative way of upload of the additional ssh-service but it coud be used to modify configmap of vfw or vpkg vf-modules. -In order to provide configuration instantiation capability standard condfig-assign and config-deploy workflows have been changed into imperative workflows with first step responsible for collection of informatino for configuration templating and configuration instantiation. The source of data for this operations is AAI, MDSAL with data for vnf and vf-modules as config-assign and config-deploy does not receive dedicated input parameters from SO. In consequence both operations need to source from resource-assignent phase and data placed in the AAI and MDSAL. +In order to provide configuration instantiation capability standard *config-assign* and *config-deploy* workflows have been changed into imperative workflows with first step responsible for collection of information for configuration templating and configuration instantiation. The source of data for this operations is AAI, MDSAL with data for vnf and vf-modules as *config-assign* and *config-deploy* does not receive dedicated input parameters from SO. In consequence both operations need to source from *resource-assignment* phase and data placed in the AAI and MDSAL. -vFW CNF config-assign workflow is following: +vFW CNF *config-assign* workflow is following: :: @@ -526,7 +406,7 @@ vFW CNF config-assign workflow is following: } }, -vFW CNF config-deploy workflow is following: +vFW CNF *config-deploy* workflow is following: :: @@ -604,14 +484,14 @@ In this use case we have two options with *ssh-service-config* and *ssh-service- } } -The *component-k8s-config-template* that stands behind creation of configuration template has input parameters that can be passed directly (checked in the first order) or can be taken from the *resource-assignment-map* parameter which can be a result of associated *component-resource-resolution* result, like in vFW CNF use case their values are resolved on vf-module level dedicated for config-assign and config-deploy resource assignment step. The *component-k8s-config-template* inputs are following: +The *component-k8s-config-template* that stands behind creation of configuration template has input parameters that can be passed directly (checked in the first order) or can be taken from the *resource-assignment-map* parameter which can be a result of associated *component-resource-resolution* result, like in vFW CNF use case their values are resolved on vf-module level dedicated for *config-assign* and *config-deploy* resource assignment step. The *component-k8s-config-template* inputs are following: -- k8s-rb-definition-name - the name under which RB definition was created - **VF Module Model Invariant ID** in ONAP -- k8s-rb-definition-version - the version of created RB definition name - **VF Module Model Customization ID** in ONAP -- k8s-rb-config-template-name - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet -- k8s-rb-config-template-source - the source of config template content - name of the artifact of the configuration template. If missing *k8s-rb-config-template-name* is treated as a source -- resource-assignment-map - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly -- artifact-prefix-names - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset +- k8s-rb-definition-name [string] - (mandatory) the name under which RB definition was created - **VF Module Model Invariant ID** in ONAP +- k8s-rb-definition-version [string] - (mandatory) the version of created RB definition name - **VF Module Model Customization ID** in ONAP +- k8s-rb-config-template-name [string] - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet +- k8s-rb-config-template-source [string] - the source of config template content - name of the artifact of the configuration template. When missing, the main definition helm package will be used as a configuration template source (since Jakarta release). +- resource-assignment-map [json] - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly +- artifact-prefix-names [list] - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset In our case the *component-k8s-config-template* component receives all the inputs from the dedicated resource-assignment process *config-setup* that is responsible for resolution of all the inputs for configuration templating. This process generates data for *helm_vpkg* prefix and such one is specified in the list of prefixes of the configuration template component. It means that configuration template will be prepared only for vPKG function. @@ -659,15 +539,16 @@ In our case the *component-k8s-config-template* component receives all the input } -The *component-k8s-config-value* that stands behind creation of configuration instance has input parameters that can be passed directly (checked in the first order) or can be taken from the *resource-assignment-map* parameter which can be a result of associated *component-resource-resolution* result, like in vFW CNF use case their values are resolved on vf-module level dedicated for config-assign and config-deploy resource assignment step. The *component-k8s-config-value* inputs are following: +The *component-k8s-config-value* that stands behind creation of configuration instance has input parameters that can be passed directly (checked in the first order) or can be taken from the *resource-assignment-map* parameter which can be a result of associated *component-resource-resolution* result, like in vFW CNF use case their values are resolved on vf-module level dedicated for *config-assign* and *config-deploy*'s' resource-assignment step. The *component-k8s-config-value* inputs are following: -- k8s-rb-config-name - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet -- k8s-rb-config-template-name - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet -- k8s-rb-config-value-source - the source of config template content - name of the artifact of the configuration template. If missing *k8s-rb-config-name* is treated as a source -- k8s-instance-id - (mandatory) the identifier of the rb instance for which the configuration should be applied -- k8s-config-operation-type - the type of the configuration operation to perform: create, update or delete. By default create operation is performed -- resource-assignment-map - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly -- artifact-prefix-names - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset +- k8s-rb-config-name [string] - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet +- k8s-rb-config-template-name [string] - (mandatory) the name of the configuration template under which it will be created in k8s plugin. Other parameters are required only when configuration template must be uploaded because it does not exist yet +- k8s-rb-config-value-source [string] - the source of config template content - name of the artifact of the configuration template. If missing *k8s-rb-config-name* is treated as a source +- k8s-rb-config-version [string] - the version of the configuration to restore during the *rollback* operation. First configuratino after *create* has version *1* and new ones, after *update* will have version of the following numbers. When *rollback* operation is performed all previous versions on the path to the desired one are being restored one, by one. (since Jakarta) +- k8s-instance-id [string] - (mandatory) the identifier of the rb instance for which the configuration should be applied +- k8s-config-operation-type [string] - the type of the configuration operation to perform: *create*, *update*, *rollback*, *delete* or *delete_config*. By default *create* operation is performed. *rollback* and *delete_config* types are present since Jakarta release. The *update* operation creates new version of the configuration. *delete* operation creates also new version of configuratino that deletes all the resources in k8s from the cluster. *delete_config* operation aims to delete configuration entirely but it does not delete or update any resources associated with the configuration. +- resource-assignment-map [json] - result of the associated resource assignment step - it may deliver values of inputs if they are not specified directly +- artifact-prefix-names [list] - (mandatory) the list of artifact prefixes like for resource-assigment step in the resource-assigment workflow or its subset Like for the configuration template, the *component-k8s-config-value* component receives all the inputs from the dedicated resource-assignment process *config-setup* that is responsible for resolution of all the inputs for configuration. This process generates data for *helm_vpkg* prefix and such one is specified in the list of prefixes of the configuration values component. It means that configuration instance will be created only for vPKG function (component allows also update or delete of the configuration but in the vFW CNF case it is used only to create configuration instance). @@ -693,7 +574,7 @@ PART 1 - ONAP Installation 1-1 Deployment components ......................... -In order to run the vFW_CNF_CDS use case, we need ONAP Istanbul Release (or later) with at least following components: +In order to run the vFW_CNF_CDS use case, we need ONAP Jakarta Release (or later) with at least following components: ======================================================= =========== ONAP Component name Describtion @@ -805,9 +686,9 @@ And check status of pods, deployments, jobs etc. 1-3 Post Deployment ................... -After completing the first part above, we should have a functional ONAP deployment for the Istanbul Release. +After completing the first part above, we should have a functional ONAP deployment for the Jakarta Release. -We will need to apply a few modifications to the deployed ONAP Istanbul instance in order to run the use case. +We will need to apply a few modifications to the deployed ONAP Jakarta instance in order to run the use case. Retrieving logins and passwords of ONAP components ++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -888,7 +769,7 @@ Whole content of this use case is stored into single git repository and it conta :: - git clone --single-branch --branch istanbul "https://gerrit.onap.org/r/demo" + git clone --single-branch --branch jakarta "https://gerrit.onap.org/r/demo" cd demo/heat/vFW_CNF_CDS/templates In order to prepare environment for onboarding and instantiation of the use case make sure you have *git*, *make*, *helm* and *pipenv* applications installed. @@ -1041,7 +922,7 @@ Please copy the kubeconfig file of existing KUD cluster to automation/artifacts/ :: - python create_k8s_region.py + python create_cloud_regions.py PART 3 - Execution of the Use Case ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1051,19 +932,7 @@ This part contains all the steps to run the use case by using ONAP GUIs, Postman 3-1 CNF Orchestration Paths in ONAP ................................... -Following pictures describe the overall sequential flow of the use case in two scenarios: **Dummy Heat** path (with OpenStack adapter) and **Native Helm** path (with CNF Adapter) - -Dummy Heat CNF Orchestration (Obsolete) -....................................... - -.. warning:: This path is not developed in ONAP since Honolulu release, however ONAP OOM gating process with basic_cnf use case makes sure that basic CNF instantiation with Dummy Heat approach still works. New features from `_REQ-458` and `REQ-627` are integrated and tested only in the Native path. - -This orchestration method stands on the grounds of Heat template orchestration mechanisms. In SDC onboarding package needs to contains simple Heat templates that are associated with additional Cloud artifacts. SDC distributes Heat templates to SO and Helm packages to K8sPlugin directly. SO orchestrates the Heat templates without any knowledge about their existence, however the OpenStack adater in SO understands k8s region type for which communication over MSB/Mutlicloud is provided - it handles interaction with K8sPlugin for CNF instantiation. - -.. figure:: files/vFW_CNF_CDS/Dummy_Heat_Flow.png - :align: center - - vFW CNF CDS Use Case sequence flow for *Dummy Heat* (Frankfurt) path. +Following picture describe the overall sequential flow of the use case for **Native Helm** path (with CNF Adapter) Native Helm CNF Orchestration ............................. @@ -1079,7 +948,11 @@ Introduced in the Guilin release CNF orchestration method brings native distribu Kubernetes and Helm Compatibility ................................. -K8sPlugin, in the Istanbul release, supports Helm packages that can be validated by Helm 3.5 application. It means that new Helm fetures introduced after Helm 3.5 version are not supported currently. Moreover, K8sPlugin implementation of Helm does not support upgrade operation and such flow is not supported in ONAP orchestration workflows. +K8sPlugin, in the Istanbul release (0.9.x), supports Helm packages that can be validated by Helm 3.5 application. It means that new Helm fetures introduced after Helm 3.5 version are not supported currently. Moreover, since Jakarta release K8sPlugin 0.10.x implementation supports upgrade operation but CNF Upgrade orchestration workflow is not yet fully supported in SO orchestration workflows. In consequence, new service moel cna e distributed with new Helm package over SDC but the Helm upgrade procedure must be performed by direct call to k8sPlugin. The request payload is almost the same liek for Isnatce create but release-name comes for the already created instance. + +:: + + curl -i -X POST http://${K8S_NODE_IP}:30280/api/multicloud-k8s/v1/v1/instance/{rb-instance-id}/upgrade K8sPlugin utilizes also v0.19.4 version of K8s client and its compatibility matrix with k8s clusters can be found here `K8s Client Compatibility`_, Compatibility Matrix section. @@ -1103,7 +976,7 @@ Complete content of both Onboarding Packages for **Dummy Heat** and **Native He :: - git clone --single-branch --branch istanbul "https://gerrit.onap.org/r/demo" + git clone --single-branch --branch jakarta "https://gerrit.onap.org/r/demo" cd demo/heat/vFW_CNF_CDS/templates make @@ -1262,7 +1135,7 @@ Service Creation with SDC **** -Service Creation in SDC is composed of the same steps that are performed by most other use-cases. For reference, you can relate to `vLB use-case`_ +Service Creation in SDC is composed of the same steps that are performed by most other use-cases. For reference, you can look at `vLB use-case`_ Onboard VSP @@ -1278,9 +1151,6 @@ Service -> Properties Assignment -> Choose VF (at right box): .. note:: Since Honolulu skip_post_instantiation_configuration flag can be set to *False* if we want to run config-assign/config-deploy operations. -**** -.. note:: The onboarding packages for **Dummy Heat** and **Native Helm** path contain different CBA packages but with the same version and number. In consequence, when one VSP is distributed it replaces the CBA package of the other one and you can instantiate service only for the vFW CNF service service model distributed as a last one. If you want to instantiate vFW CNF service, make sure you have fresh distribution of vFW CNF service model. - :: python onboarding.py @@ -1863,7 +1733,7 @@ Examplary output of Status API is shown below (full result of test vFW CNF helm **** -Since Honolulu release vFW CNF Use Case is equipped with dedicated mechanisms for verification of the CNF status automatically, during the instantiation. The process utilizes the k8sPlugin Status and Healtcheck APIs that both are natively exposed in the CDS and can be executed from the script execution functionality in the CDS. +Since Honolulu release vFW CNF Use Case is equipped with dedicated mechanisms for verification of the CNF status automatically, during the instantiation. The process utilizes the k8sPlugin Status and Healthcheck APIs that both are natively exposed in the CDS and can be executed from the script execution functionality in the CDS. .. figure:: files/vFW_CNF_CDS/healthcheck.png :scale: 60 % @@ -1941,7 +1811,7 @@ There is exposed a dedicated workflow in CBA, where Status API result verificati }, -Since Istanbul release, SO is equipped with dedicated workflow for verification of the CNF status. It works similarly to the workflow introduced in Honolulu, however basic CNF Status Verification step utilizes "Ready" flag of the StatusAPI response to check if k8s resources created from Helm package are up and running. Ready flag works properly in k8splugin 0.9.1 or higher. Both operations are performed by ControllerExecutionBB in SO and are realized by cnf-adapter component in SO. This workflow can be triggered by dedicated endpoint documented here: `CNF Health Check`_. This workflow is not yet integrated into automation scripts. +Since Istanbul release, SO is equipped with dedicated workflow for verification of the CNF status. It works similarly to the workflow introduced in Honolulu, however basic CNF Status Verification step utilizes "Ready" flag of the StatusAPI response to check if k8s resources created from Helm package are up and running. Ready flag works properly in k8splugin 0.9.1 or higher. Both operations are performed by ControllerExecutionBB in SO and are realized by cnf-adapter component in SO. This workflow can be triggered by a dedicated endpoint documented here: `CNF Health Check`_. This workflow is not yet integrated into automation scripts. 3-6 Synchronization of created k8s resources into AAI ..................................................... @@ -1952,11 +1822,13 @@ K8s-Resource object is stored in the cloud-infrastructure set of AAI APIs and it :download:`List of K8s Resources ` - :download:`Generic VNF with modules ` + :download:`Generic VNF with modules ` :download:`vPKG VF-Module with related k8s-resource relations ` -Currently AAI synchronization is run just after creation of the vf-module by SO. If any changes occurs after, like new Pods created or some deleted, we do not have this information in AAI by default. In order to force the update of AAI information about the concrete Helm package, the following API can be used with properly modified body (all except the callbackUrl). +AAI synchronization is run just after creation of the vf-module by SO. Since Jakarta release, cnf-adapter synchronizes into AAI information about any change on k8s resources performed after their initial creation. For instance, if pod is deleted in k8s cluster, the new one is automatically created. In consequence, K8sPlugin sends notification about the change to cnf-adapter, and the latter one performs update of the information in AAI by removing the old pod and creating the new one in AAI. The update in AAI, after the change in k8s cluster, should by applied with no more than 30s delay. + +In order to force an imidiate update of AAI information about the concrete Helm package, the following API can be also used with properly modified body (all except the callbackUrl). :: @@ -1986,8 +1858,7 @@ Future development areas for this use case: Future development areas for CNF support: -- Extraction of override values in time of the package onboarding. -- Update of the information in AAI after creation +- Extraction of override values in time of the package onboarding - Upgrade of the vFW CNF similar to Helm Upgrade through the SDC and SO - Use multicloud/k8S API v2 (EMCO) diff --git a/docs/files/vFW_CNF_CDS/Dummy_Heat_Flow.png b/docs/files/vFW_CNF_CDS/Dummy_Heat_Flow.png deleted file mode 100644 index 1dc0c2335d1183b95fa96020ac129825f0c5a087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131014 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 MrlpK}YWd-R0A!|~C;$Ke -- 2.16.6