diff options
author | Lovett, Trevor <trevor.lovett@att.com> | 2019-05-30 15:15:50 -0500 |
---|---|---|
committer | Trevor Lovett <trevor.lovett@att.com> | 2019-06-03 14:18:22 +0000 |
commit | e86a614463bbc8de3a497ff8b48b4d84cdacd683 (patch) | |
tree | 77b5497331fb0d1b020a5f5f6f7436bcdac037b2 | |
parent | 5e3d2969d37c34b0c7f869ec432040ab80d550ef (diff) |
VNFRQTS Test Case Description for Heat-based Onboarding and Instantiation
Change-Id: I4e518bde754f8bc484ff3015bf37a3b35fca138f
Issue-ID: VNFRQTS-650
Signed-off-by: Lovett, Trevor <trevor.lovett@att.com>
-rw-r--r-- | docs/Appendix.rst (renamed from docs/Chapter2.rst) | 4 | ||||
-rw-r--r-- | docs/OnboardInstantiateTests.rst | 234 | ||||
-rw-r--r-- | docs/PackageTests.rst (renamed from docs/Chapter1.rst) | 0 | ||||
-rw-r--r-- | docs/index.rst | 6 |
4 files changed, 240 insertions, 4 deletions
diff --git a/docs/Chapter2.rst b/docs/Appendix.rst index b8ea2f8..9d8c64e 100644 --- a/docs/Chapter2.rst +++ b/docs/Appendix.rst @@ -41,9 +41,9 @@ and maps the requirements to the tests in VVP to output this table. You can download the table `here <https://nexus.onap.org/content/sites/raw/org.onap.vvp.validation-scripts/master/traceability.csv>`_. - **Note: Tests on the bottom do not map to any requirements.** +**Note: Tests on the bottom do not map to any requirements.** - **Note: VVP only validates Heat for Requirements in Chapter 5.** +**Note: VVP only validates Heat for Requirements in Chapter 5.** .. csv-table:: **Test Traceability** :name: traceability-matrix diff --git a/docs/OnboardInstantiateTests.rst b/docs/OnboardInstantiateTests.rst new file mode 100644 index 0000000..f8ef3f7 --- /dev/null +++ b/docs/OnboardInstantiateTests.rst @@ -0,0 +1,234 @@ +.. Modifications Copyright © 2019 AT&T Intellectual Property. + +.. Licensed under the Creative Commons License, Attribution 4.0 Intl. + (the "License"); you may not use this documentation except in compliance + with the License. You may obtain a copy of the License at + +.. https://creativecommons.org/licenses/by/4.0/ + +.. Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +**VNF Onboard and Instantiate Test Specification** +================================================== + +.. contents:: + :local: + +Scope +----- + +This specification defines the logical steps and activities required +to implement a test case that validates that a arbitrary +Virtual Network Function (VNF) that is packaged in compliance with the +ONAP VNF Requirements can be successfully be onboarded into +ONAP and instantiated. This specification only covers up to +instantiation of the VNF and does not address the VNF's compliance with +requirements governing other lifecycle functions controlled by +ONAP (ex: Lifecycle Management, Monitoring, etc.) + +Two test cases will be defined based on the VNF package used: + +1. ZIP file containing ONAP-compliant OpenStack Heat +2. Cloud Service Archive (CSAR) containing a Topology and Orchestration + Specification for Cloud Applications (TOSCA) VNF Descriptor + +.. _vnfrqts_tc_instantiate_references: + +References +---------- +* :doc:`ONAP VNF Requirements </../../../vnfrqts/requirements.git/docs/index>` +* :doc:`Setting up ONAP </../../../../../guides/onap-developer/settingup/index>` +* `OPNFV Verification Program for VNFs <https://vnf-verified.lfnetworking.org/#/>`__ + +Actors +------ + +The following defines the various actors that will be referenced within this +specification. It is expected and permissable that a given user or entity +can serve in multiple roles for the purposes of the test. + +* **VNF Provider** - Responsible for developing, packaging, and distributing a + VNF that is compliant with ONAP VNF Requirements as well as providing any + additional artifacts required to setup the **Test Lab** or **Test Engine**. +* **Test Lab** - Hosts the ONAP and Cloud environment used to execute the test + cases. The environment will host a deployed instance of ONAP using the + official El Alto release of ONAP and a compatible OpenStack cloud instance. +* **Test Lab Provider** - Responsible for establishing the **Test Lab** and + supporting the **Tester** in the configuration of the **Test Lab** for any + VNF specific requirements such as virtual machine images or networks. This + will include providing the **Test Engine** access to the necessary + ONAP APIs/GUIs as well as access to the OpenStack APIs. +* **Tester** - Responsible for: + + 1. Ensuring the test lab is configured per the VNF's requirements and needs. + 2. Configuring the **Test Engine** for execution. The artifacts required + will be provided by the **VNF Provider**. + 3. Executing the the test cases using the **Test Engine**. + 4. Reporting the results of the test case to the **VNF Provider**. + +* **Test Engine** - Provides automation of the test execution and verification + of the success or failure of the individual test cases. The **Test Engine** + must also provide further documentation on how it and the **Test Lab** + must be configured for successful execution and verification of the test + cases. + + +**Test Case Description**: VNF Onboarding and Instantiation using OpenStack Heat +-------------------------------------------------------------------------------- + +This test case is specific to executing and validating the onboarding of a VNF +using OpenStack Heat. + +Assumptions +^^^^^^^^^^^ + +* The specific configuration of the Vendor License Model is not relevant to the + successful execution of this test case. The **Test Engine** shall create a + generic Vendor License Model to assign to the VNF for the purposes of this + test. +* Testing will support the instantiation of a SDC Service that is composed + of a single VNF. The scope of this test is focused on the instantiation + of a single VNF defined in a single Heat package. Testing services that + comprise multiple VNFs is beyond the scope of this specification. +* The **Test Engine** will have access to the ONAP APIs in terms of both + network connectivity and API access. +* All instantiations will use the ONAP Generic Resource API from SDNC instead + of the legacy VNF API. + + +Prerequisites +^^^^^^^^^^^^^ + +* **VNF Provider** has: + + * Provided the **Tester** the VNF package containing OpenStack Heat that has + been certified compliant by the OPNFV Verification Program for + VNFs or validated by the El Alto release of the + :doc:`ONAP VNF Validation Platform </../../../../vvp/documentation.git/docs/index>` + * Provided the **Tester** any custom virtual machine image required by the + VNF + * Provided the **Tester** network requirements for any ONAP external networks + (i.e. networks not created in the Heat template itself) required by the + VNF. + * Provided the **Tester** with any additional artifacts required by the + **Test Engine**. Additional artifacts required by the **Test Engine** are + outside the scope of this document. Please refer to the **Test Engine** + documentation for more details. + +* **Test Lab Provider** has: + + * Successfully deployed an OpenStack cloud instance for ONAP to deploy and + instantiate the VNF. + * Successfully deployed the certified El Alto release version of ONAP. + * Configured the ONAP instance to work with the OpenStack instance. + + * **NOTE:** Documentation of OpenStack and ONAP setup are beyond the + scope of this document. Please refer to the + :ref:`vnfrqts_tc_instantiate_references` section for more information. + + * Provided the **Test Engine** network connectivity to both the ONAP and + OpenStack control planes. + * Provided the **Test Engine** permissions to invoke the required ONAP and + OpenStack APIs. Full details to be provided in the **Test Engine** + documentation. + +* The **Tester** has: + + * Created any external networks in ONAP and OpenStack cloud environment in + compliance with the **VNF Providers** request and specification. + * Registered any custom virtual machine images provided by the + **VNF Provider** in the OpenStack Glance repository. + * Configured the **Test Engine** with the necessary artifacts from the + **VNF Provider** for successful test execution. The **Test Engine** + must provide the full documentation on what is required to configure + it for successful execution. + * Ensured connectivity from the **Test Engine** to any Operations, + Administration, and Management (OAM) interfaces provided by the VNF. + This connectivity must allow PING requests which will be used as part + of the validation process to ensure the VNF has been properly + instantiated. + + +Execution Steps +^^^^^^^^^^^^^^^ + +The following steps will all be executed by the **Test Engine**. The steps +depicts the actions that will be taken and which ONAP component the +**Test Engine** will interact with to perform the action. + +Failure encountered at any step will halt all subsequent steps and result in +the overall failure of the test case. + +Any additional required fields that must be assigned or input within ONAP will +be defined in a configuration file whose format will be defined in the +documentation of the **Test Engine**. + +**Steps** + +1. Create the generic Vendor License Model (VLM) in SDC + +2. Create the Vendor Software Product (VSP) in SDC. The VSP will be + auto-assigned a unique name to avoid collisions with other VSPs in the + lab environment. + +3. Upload the ONAP-compliant Heat archive (zip file) as an artifact of the VSP in SDC. + +4. Assign any "Unassigned Files" in SDC to Artifacts + +5. Validate the VSP and ensure no SDC **errors** are raised, but **warnings** + are acceptable. If errors are reported, then halt the test and report a + failure. + +6. Assign the generic VLM to the VSP in SDC. + +7. Create the Virtual Function (VF) in SD. The VF will be + auto-assigned a unique name to avoid collisions with other VSPs in the + lab environment. + +8. Create the Service in SDC. The Service will be + auto-assigned a unique name to avoid collisions with other VSPs in the + lab environment. + +9. Assign the VF/VNF to the Service Model in SDC. + +10. Distribute the Service Model from SDC. + +11. Register Preload (i.e. per instance configuration data) with SDNC + +12. For each VF module in the VNF, starting with the base module, trigger + instantiation from VID. + +**Pass/Fail Criteria** + +Following, or during, test execution the tests below will be executed to +evaluate the success of the overall test case. As previously stated above, if +any individual test step fails, then the test case will fail. In this scenario, +some or all of the criteria below may not be executed. + +1. The Heat stack has been successfully created in OpenStack without errors +2. If the VNF exposes Operations, Administration, and Management (OAM) + interfaces on an OAM network, then each IP address address exposed by the + VNF on the OAM network must respond to a PING command. The identification + of the OAM network and IPs is left to the implementation and documentation + of the **Test Engine**. +3. Each virtual machine in the OpenStack Heat stack must have a corresponding + ``vserver`` ONAP's Available and Active Inventory (AAI) component with all + required data elements +4. The VNF has a ``VNFC`` object recorded in AAI with all required data elements + + +**Test Case Description**: VNF Onboarding and Instantiation using TOSCA +----------------------------------------------------------------------- + +This test case is specific to executing and validating the onboarding of a VNF +written in TOSCA and packaged in a CSAR. + +.. note:: + + Additional definition of the TOSCA-based flow is required, and will be + provided at a later date.
\ No newline at end of file diff --git a/docs/Chapter1.rst b/docs/PackageTests.rst index ea9dbaf..ea9dbaf 100644 --- a/docs/Chapter1.rst +++ b/docs/PackageTests.rst diff --git a/docs/index.rst b/docs/index.rst index dd86d3e..0a2c9fc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -20,5 +20,7 @@ VNF Test Case Descriptions :maxdepth: 2 :numbered: - Chapter1 - Chapter2 + PackageTests + OnboardInstantiateTests + Appendix + release-notes |