From 6cf7ba581d3d7d9dd7c2de7a35953c9d08a7ad66 Mon Sep 17 00:00:00 2001 From: David Garcia Date: Tue, 30 Jun 2020 14:14:13 +0200 Subject: [PATCH] Add TOC and section numbers --- 02-osm-nfvi-test-plan.md | 175 +++++++++++++++++++++++++-------------- 1 file changed, 115 insertions(+), 60 deletions(-) diff --git a/02-osm-nfvi-test-plan.md b/02-osm-nfvi-test-plan.md index c9fbfa9..8fd6a07 100644 --- a/02-osm-nfvi-test-plan.md +++ b/02-osm-nfvi-test-plan.md @@ -1,8 +1,63 @@ -# Test plan for OSM validation - -[TOC] - -## Pre-requirements +# 1. Test plan for OSM validation + +- [1. Test plan for OSM validation](#1-test-plan-for-osm-validation) + - [1.1. Pre-requirements](#11-pre-requirements) + - [1.2. Basic tests](#12-basic-tests) + - [1.2.1. \[BASIC-01\] CRUD operations on VIM targets](#121-basic-01-crud-operations-on-vim-targets) + - [1.2.2. \[BASIC-02\] Basic VNF](#122-basic-02-basic-vnf) + - [1.2.3. \[BASIC-03\] Multi-VDU VNF](#123-basic-03-multi-vdu-vnf) + - [1.2.4. \[BASIC-04\] VNF with cloud-init](#124-basic-04-vnf-with-cloud-init) + - [1.2.5. \[BASIC-05\] Instantiation parameters in cloud-init](#125-basic-05-instantiation-parameters-in-cloud-init) + - [1.2.6. \[BASIC-06\] VNF with charm](#126-basic-06-vnf-with-charm) + - [1.2.7. \[BASIC-07\] Secure key management](#127-basic-07-secure-key-management) + - [1.2.8. \[BASIC-08\] Disable port security at network level](#128-basic-08-disable-port-security-at-network-level) + - [1.2.9. \[BASIC-09\] Manual VNF/VDU Scaling](#129-basic-09-manual-vnfvdu-scaling) + - [1.2.10. \[BASIC-10\] VNF SW upgrade](#1210-basic-10-vnf-sw-upgrade) + - [1.2.11. \[BASIC-11\] Native charms](#1211-basic-11-native-charms) + - [1.2.12. \[BASIC-12\] NS primitives](#1212-basic-12-ns-primitives) + - [1.2.13. \[BASIC-13\] NS relations](#1213-basic-13-ns-relations) + - [1.2.14. \[BASIC-14\] VNF relations](#1214-basic-14-vnf-relations) + - [1.2.15. \[BASIC-15\] RBAC setup](#1215-basic-15-rbac-setup) + - [1.2.15.1. Preparation of the environment](#12151-preparation-of-the-environment) + - [1.2.15.2. User operations](#12152-user-operations) + - [1.2.15.3. Project operations](#12153-project-operations) + - [1.2.15.4. Role operations](#12154-role-operations) + - [1.2.16. \[BASIC-16\] RBAC enforcement](#1216-basic-16-rbac-enforcement) + - [1.2.16.1. Visibility of packages and instances](#12161-visibility-of-packages-and-instances) + - [1.3. Service Assurance](#13-service-assurance) + - [1.3.1. \[SA-01\] VNF with VIM-based metrics](#131-sa-01-vnf-with-vim-based-metrics) + - [1.3.2. \[SA-02\] VNF with VIM-based metrics and auto-scaling](#132-sa-02-vnf-with-vim-based-metrics-and-auto-scaling) + - [1.3.3. \[SA-03\] VNF with VNF-based metrics (VDU level)](#133-sa-03-vnf-with-vnf-based-metrics-vdu-level) + - [1.3.4. \[SA-04\] VNF with VNF-based metrics (VDU level) and auto-scaling](#134-sa-04-vnf-with-vnf-based-metrics-vdu-level-and-auto-scaling) + - [1.3.5. \[SA-05\] VNF with VNF-based metrics (VNF level)](#135-sa-05-vnf-with-vnf-based-metrics-vnf-level) + - [1.3.6. \[SA-06\] VNF with VNF-based metrics (VNF level) and auto-scaling](#136-sa-06-vnf-with-vnf-based-metrics-vnf-level-and-auto-scaling) + - [1.3.7. \[SA-07\] Events or alarms coming from SA-related VNFs in the NS](#137-sa-07-events-or-alarms-coming-from-sa-related-vnfs-in-the-ns) + - [1.4. Network Slicing](#14-network-slicing) + - [1.4.1. \[SLICING-01\] Basic Network Slicing](#141-slicing-01-basic-network-slicing) + - [1.4.2. \[SLICING-02\] Complex Network Slicing](#142-slicing-02-complex-network-slicing) + - [1.4.3. \[SLICING-03\] Advanced Network Slicing](#143-slicing-03-advanced-network-slicing) + - [1.5. Kubernetes and cloud-native](#15-kubernetes-and-cloud-native) + - [1.5.1. \[K8s-01\] Creation of Kubernetes cluster from OSM](#151-k8s-01-creationofkubernetesclusterfromosm) + - [1.5.2. \[K8s-02\] Register and de-register Kubernetes clusters in OSM](#152-k8s-02-register-and-de-register-kubernetes-clusters-in-osm) + - [1.5.3. \[K8s-03\] Deployment of CNF from OSM](#153-k8s-03-deploymentofcnffromosm) + - [1.6. EPA and performance](#16-epa-and-performance) + - [1.6.1. \[EPA-01\] EPA+SR-IOV without underlay](#161-epa-01-epasr-iov-without-underlay) + - [1.6.2. \[EPA-02\] Support for additional EPA capabilities](#162-epa-02-support-for-additional-epa-capabilities) + - [1.6.3. \[EPA-03\] CRUD operations on SDNC accounts](#163-epa-03-crud-operations-on-sdnc-accounts) + - [1.6.4. \[EPA-04\] EPA underlay SR-IOV](#164-epa-04-epa-underlay-sr-iov) + - [1.6.5. \[EPA-05\] EPA underlay Passthrough](#165-epa-05-epa-underlay-passthrough) + - [1.6.6. \[PER-01\] Performance evaluation with vBNG and traffic generator](#166-per-01-performance-evaluation-with-vbng-and-traffic-generator) + - [1.6.6.1. Overview](#1661-overview) + - [1.6.6.2. Step-by-step procedure](#1662-step-by-step-procedure) + - [1.7. Platform resiliency and recovery](#17-platform-resiliency-and-recovery) + - [1.7.1. [\RESILIENCY-01\] OSM platform resiliency](#171-resiliency-01-osm-platform-resiliency) + - [1.7.2. [\RESILIENCY-02\] OSM platform recovery](#172-resiliency-02-osm-platform-recovery) + - [1.8. Testing of optional or environment-dependent features](#18-testing-of-optional-or-environment-dependent-features) + - [1.8.1. \[OPTIONAL-01\] Support of multi-segment VIM-managed networks](#181-optional-01-support-of-multi-segment-vim-managed-networks) + - [1.8.2. \[OPTIONAL-02\] VIM-driven SFC (service chaining)](#182-optional-02-vim-driven-sfc-service-chaining) + - [1.8.3. \[OPTIONAL-03\] Alternate images depending on VIM](#183-optional-03-alternate-images-depending-on-vim) + - [1.9. References](#19-references) +## 1.1. Pre-requirements These tests assume that the VIM meets the following conditions: @@ -85,9 +140,9 @@ openstack image create --disk-format $DISK_FORMAT --public --file intel_gen.qcow openstack image create --file intel_gen.qcow --container-format bare --disk-format $DISK_FORMAT --public intel_vbng_gen ``` -## Basic tests +## 1.2. Basic tests -### \[BASIC-01\] CRUD operations on VIM targets +### 1.2.1. \[BASIC-01\] CRUD operations on VIM targets 1. Create VIM @@ -106,7 +161,7 @@ openstack image create --file intel_gen.qcow --container-format bare --disk-form osm vim-delete | ``` -### \[BASIC-02\] Basic VNF +### 1.2.2. \[BASIC-02\] Basic VNF ```bash osm vnpkg-create hackfest_basic_vnf.tar.gz @@ -119,7 +174,7 @@ ssh -i  ubuntu@ osm ns-delete hackfest1 ``` -### \[BASIC-03\] Multi-VDU VNF +### 1.2.3. \[BASIC-03\] Multi-VDU VNF ```bash osm vnpkg-create hackfest_multivdu_vnf.tar.gz @@ -175,7 +230,7 @@ ip a l # Check that the IP address was the one assigned as instantiation parameter ``` -### \[BASIC-04\] VNF with cloud-init +### 1.2.4. \[BASIC-04\] VNF with cloud-init ```bash osm vnfpkg-create hackfest_cloudinit_vnf.tar.gz @@ -191,7 +246,7 @@ sudo cat /root/helloworld.txt   # The file has been injected via clo osm ns-delete hackfest3 ``` -### \[BASIC-05\] Instantiation parameters in cloud-init +### 1.2.5. \[BASIC-05\] Instantiation parameters in cloud-init 1. Onboard the packages @@ -218,7 +273,7 @@ osm ns-delete hackfest3 osm ns-delete ubuntucloudinit ``` -### \[BASIC-06\] VNF with charm +### 1.2.6. \[BASIC-06\] VNF with charm ```bash osm vnfpkg-create hackfest_proxycharm_vnf.tar.gz @@ -251,7 +306,7 @@ ls /home/ubuntu/mytouch2   #This file is created by the primitive osm ns-delete hackfest5 ``` -### \[BASIC-07\] Secure key management +### 1.2.7. \[BASIC-07\] Secure key management 1. Download and onboard the descriptors @@ -311,7 +366,7 @@ osm ns-delete hackfest5 osm ns-delete nopasswd ``` -### \[BASIC-08\] Disable port security at network level +### 1.2.8. \[BASIC-08\] Disable port security at network level 1. Create VIM @@ -341,7 +396,7 @@ osm ns-delete hackfest5 osm ns-delete noPortSecurity ``` -### \[BASIC-09\] Manual VNF/VDU Scaling +### 1.2.9. \[BASIC-09\] Manual VNF/VDU Scaling This test can be run with any VNFD with a scaling-descriptor. You can use the descriptor from the autoscaling tests for this. Please note the "scaling-type" can be "manual" or "automatic" (which may produce an automatic scale-in right after a manual scale-out depending on the threshold and current metric value). @@ -379,7 +434,7 @@ osm vnf-list --ns hfmetrics osm vnf-show ``` -### \[BASIC-10\] VNF SW upgrade +### 1.2.10. \[BASIC-10\] VNF SW upgrade ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -417,7 +472,7 @@ osm vnf-show osm ns-op-show ``` -### \[BASIC-11\] Native charms +### 1.2.11. \[BASIC-11\] Native charms ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -466,7 +521,7 @@ osm vnf-show 8. Verify that the `test-b-mgmtvm-aa/0` unit is active. 9. Verify that machine 0's instance id begins with `manual`. -### \[BASIC-12\] NS primitives +### 1.2.12. \[BASIC-12\] NS primitives ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -536,7 +591,7 @@ osm vnf-show unit: app-vnf-70e9ebb7ba72-vdu-policyvm-cnt-z0/0 ``` -### \[BASIC-13\] NS relations +### 1.2.13. \[BASIC-13\] NS relations ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -567,7 +622,7 @@ osm vnf-show 7. Run `juju status --relations` 8. Verify that the relation is listed. -### \[BASIC-14\] VNF relations +### 1.2.14. \[BASIC-14\] VNF relations ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -596,9 +651,9 @@ osm vnf-show 6. Run `juju status --relations` 7. Verify that the relation is listed in the bottom of the status message. -### \[BASIC-15\] RBAC setup +### 1.2.15. \[BASIC-15\] RBAC setup -#### 1. Preparation of the environment +#### 1.2.15.1. Preparation of the environment ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -618,7 +673,7 @@ docker service update osm_nbi --force \ --env-add OSMNBI_AUTHENTICATION_SERVICE_PROJECT=service ``` -#### 2. User operations +#### 1.2.15.2. User operations ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -661,7 +716,7 @@ docker service update osm_nbi --force \ osm user-list ``` -#### 3. Project operations +#### 1.2.15.3. Project operations ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -695,7 +750,7 @@ docker service update osm_nbi --force \ osm project-list ``` -#### 4. Role operations +#### 1.2.15.4. Role operations ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -729,14 +784,14 @@ docker service update osm_nbi --force \ osm role-list ``` -### \[BASIC-16\] RBAC enforcement +### 1.2.16. \[BASIC-16\] RBAC enforcement ```diff -This test description is ported as-is from the old test plan and might require further revision. -In case of finding any issue during test execution, please report to OSM_TECH@LIST.ETSI.ORG. ``` -#### Visibility of packages and instances +#### 1.2.16.1. Visibility of packages and instances 1. Check you have a `test_user` and `test_project` from previous test. 2. Run the following commands to assign administrative roles to the `test_user` over the `test_project`: @@ -760,9 +815,9 @@ docker service update osm_nbi --force \ osm ns-create --nsd_name cirros_2vnf_ns --ns_name test --vim_account [ VIM_NAME ] ``` -## Service Assurance +## 1.3. Service Assurance -### \[SA-01\] VNF with VIM-based metrics +### 1.3.1. \[SA-01\] VNF with VIM-based metrics This test will launch a Network Service formed by a single VNF, consisting of 1 VDU, and CPU and memory metrics will be collected. @@ -798,7 +853,7 @@ Then make the following checks: FIXME: OLD: Any of the VMs can be accessed through SSH to further monitor (with htop, for example), and there is an HAProxy UI at port [`http://[HAProxy_IP]:32700`](http://[HAProxy_IP]:32700) (all credentials are `ubuntu` / `osm2018`) -### \[SA-02\] VNF with VIM-based metrics and auto-scaling +### 1.3.2. \[SA-02\] VNF with VIM-based metrics and auto-scaling Deploy again the same NS instance used in \[SA-01\] and then increase CPU by entering the following command in the VM (SSH credentials are `ubuntu` / `osm4u`): @@ -812,7 +867,7 @@ yes > /dev/null & # 4 or 5 times! This should trigger the scaling of the instance. -### \[SA-03\] VNF with VNF-based metrics (VDU level) +### 1.3.3. \[SA-03\] VNF with VNF-based metrics (VDU level) This will launch a Network Service formed by a couple of Ubuntu-based VMs, one of them auto-scalable based on system's CPU usage (from `/proc/stat`). In this example, a proxy charm collects metrics directly from the first VDU. @@ -857,7 +912,7 @@ Delete the NS: osm ns-delete ubuntu01_vdumetric ``` -### \[SA-04\] VNF with VNF-based metrics (VDU level) and auto-scaling +### 1.3.4. \[SA-04\] VNF with VNF-based metrics (VDU level) and auto-scaling Deploy again the same NS instance used in \[SA-03\] and then increase CPU to autoscale the Ubuntu VM. For that purpose, ssh to VDU1 and run the following command (or similar, to stress CPU): @@ -870,7 +925,7 @@ This should trigger the scaling of the instance. NOTE: VDU Metrics collection for scaled instances is not supported. Please note that there is a [bug](https://osm.etsi.org/bugzilla/show_bug.cgi?id=585) that will show metrics in the scaled instances, but they are just the same measure from the original one. -### \[SA-05\] VNF with VNF-based metrics (VNF level) +### 1.3.5. \[SA-05\] VNF with VNF-based metrics (VNF level) This will launch a Network Service formed by a couple of Ubuntu VMs, one of them auto-scalable based on system's CPU usage (from `/proc/stat`). In this example, a proxy charm collects metrics from the VNF, represented by the first VDU. Make sure: @@ -911,7 +966,7 @@ Delete the NS: osm ns-delete ubuntu01_vnfmetric ``` -### \[SA-06\] VNF with VNF-based metrics (VNF level) and auto-scaling +### 1.3.6. \[SA-06\] VNF with VNF-based metrics (VNF level) and auto-scaling \[SA-05\] Deploy again the same NS instance used in \[SA-04\] and then increase the CPU utilization to autoscale the Ubuntu VM. For that purpose, ssh to VDU1 and run the following command to stress CPU: @@ -927,7 +982,7 @@ This should trigger the scaling of the instance. NOTE: VNF Metrics collection for scaled instances is not supported. -### \[SA-07\] Events or alarms coming from SA-related VNFs in the NS +### 1.3.7. \[SA-07\] Events or alarms coming from SA-related VNFs in the NS 1. Onboard the packages: @@ -956,9 +1011,9 @@ NOTE: VNF Metrics collection for scaled instances is not supported. 05/28/2019 04:29:07 PM - osm_policy_module.alarming.service - INFO - Executing request to url https://webhook.site/e65ad8a0-53b5-4d7f-bd50-c1a50b260871 for vnf alarm alarm-1 with status alarm ``` -## Network Slicing +## 1.4. Network Slicing -### \[SLICING-01\] Basic Network Slicing +### 1.4.1. \[SLICING-01\] Basic Network Slicing 1. Onboard the packages and the Network Slice Templates @@ -1036,7 +1091,7 @@ NOTE: VNF Metrics collection for scaled instances is not supported. osm vnfd-delete slice_basic_middle_vnfd ``` -### \[SLICING-02\] Complex Network Slicing +### 1.4.2. \[SLICING-02\] Complex Network Slicing 1. Onboard the packages and the Network Slice Templates @@ -1169,31 +1224,31 @@ NOTE: VNF Metrics collection for scaled instances is not supported. ``` -### \[SLICING-03\] Advanced Network Slicing +### 1.4.3. \[SLICING-03\] Advanced Network Slicing TODO: Under ellaboration. Similar to above, but with day-2 operations -## Kubernetes and cloud-native +## 1.5. Kubernetes and cloud-native -### \[K8s-01\] Creation of Kubernetes cluster from OSM +### 1.5.1. \[K8s-01\] Creation of Kubernetes cluster from OSM TODO: Under ellaboration. Deployment of a new Kubernetes cluster from OSM using a NS. -### \[K8s-02\] Register and de-register Kubernetes clusters in OSM +### 1.5.2. \[K8s-02\] Register and de-register Kubernetes clusters in OSM TODO: Under ellaboration. Register and de-register pre-existing K8s clusters in OSM. -### \[K8s-03\] Deployment of CNF from OSM +### 1.5.3. \[K8s-03\] Deployment of CNF from OSM TODO: Under ellaboration. Deploy a CNF over a K8s cluster known by OSM. -## EPA and performance +## 1.6. EPA and performance -### \[EPA-01\] EPA+SR-IOV without underlay +### 1.6.1. \[EPA-01\] EPA+SR-IOV without underlay TODO: Under ellaboration. -### \[EPA-02\] Support for additional EPA capabilities +### 1.6.2. \[EPA-02\] Support for additional EPA capabilities Download and import the packages below: @@ -1220,7 +1275,7 @@ openstack flavor show |grep properties osm ns-delete epa_quota ``` -### \[EPA-03\] CRUD operations on SDNC accounts +### 1.6.3. \[EPA-03\] CRUD operations on SDNC accounts To be performed only SDN assist is required and an SDNC is available. @@ -1238,7 +1293,7 @@ To be performed only SDN assist is required and an SDNC is available. osm sdnc-delete | ``` -### \[EPA-04\] EPA underlay SR-IOV +### 1.6.4. \[EPA-04\] EPA underlay SR-IOV ```bash osm vnfpkg-create hackfest_epasriov_vnf.tar.gz @@ -1346,11 +1401,11 @@ Finally, delete the NS: osm ns-delete hackfest4 ``` -### \[EPA-05\] EPA underlay Passthrough +### 1.6.5. \[EPA-05\] EPA underlay Passthrough TODO: Similar to test case below, but with a package with Passhthough interfaces. -### \[PER-01\] Performance evaluation with vBNG and traffic generator +### 1.6.6. \[PER-01\] Performance evaluation with vBNG and traffic generator With the help of OSM, the following network service is deployed in the cloud: @@ -1365,7 +1420,7 @@ configured to work as a simple traffic generator, the other VNF had prox configu QinQ traffic from the metro and Internet traffic from the core, dealing appropriately wih the header encapsulation/de-encapsulation, the routing, and a simple form of hierarchical QoS. -#### Overview +#### 1.6.6.1. Overview Once deployed, full line rate traffic is injected in both directions, and the bottleneck is measured in the BNG interfaces, thus providing a figure of the supported I/O performance. @@ -1378,7 +1433,7 @@ whether the traffic in virtio interfaces lead to an increase in the packet losse Finally, we tear down the NS in OSM and check that the interfaces can be seen and are up in the compute node. -#### Step-by-step procedure +#### 1.6.6.2. Step-by-step procedure ```bash # Upload images to Openstack @@ -1505,9 +1560,9 @@ are up again. sudo ip address list ``` -## Platform resiliency and recovery +## 1.7. Platform resiliency and recovery -### [\RESILIENCY-01\] OSM platform resiliency +### 1.7.1. [\RESILIENCY-01\] OSM platform resiliency ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -1549,7 +1604,7 @@ for i in {k8s_keystone,k8s_mysql,k8s_lcm,k8s_light-ui,k8s_mon_,k8s_mongo,k8s_nbi done ``` -### [\RESILIENCY-02\] OSM platform recovery +### 1.7.2. [\RESILIENCY-02\] OSM platform recovery ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -1591,9 +1646,9 @@ for i in {k8s_kafka,k8s_keystone,k8s_mysql,k8s_lcm,k8s_light-ui,k8s_mon_,k8s_mon done ``` -## Testing of optional or environment-dependent features +## 1.8. Testing of optional or environment-dependent features -### \[OPTIONAL-01\] Support of multi-segment VIM-managed networks +### 1.8.1. \[OPTIONAL-01\] Support of multi-segment VIM-managed networks For this to be tested, we need a specific VIM with multi-segment support and appropriate configuration with a companion SDN. In the case of Openstack, if it supports L2GW, the following config options need to be used: @@ -1651,7 +1706,7 @@ Finally, clean your environment: osm ns-delete hackfest-multisegment ``` -### \[OPTIONAL-02\] VIM-driven SFC (service chaining) +### 1.8.2. \[OPTIONAL-02\] VIM-driven SFC (service chaining) For this test, Openstack must be configured to allow SFC. @@ -1685,7 +1740,7 @@ For this test, Openstack must be configured to allow SFC. > tcpdump -i ``` -### \[OPTIONAL-03\] Alternate images depending on VIM +### 1.8.3. \[OPTIONAL-03\] Alternate images depending on VIM ```diff -This test description is ported as-is from the old test plan and might require further revision. @@ -1716,7 +1771,7 @@ For this test, Openstack must be configured to allow SFC. osm ns-delete hackfestVIM2 ``` -## References +## 1.9. References - \[1\]: [OSM Information Model](https://osm.etsi.org/wikipub/index.php/OSM_Information_Model) - \[2\]: [PROX Documentation](https://01.org/intel-data-plane-performance-demonstrators/documentation/prox-documentation) -- GitLab