HPA & Cloud Agnostic Intent - R3 Test Plan (In Progress)
Background:
Multiple enhancements are happening in R3 with respect to HPA. This test plan is to ensure that changes and new enhancements being added to R3 are tested (Preferably testing by developers as well as part of integration testing).
Following enhancements are being done in R3:
Support for vFW and vDNS use cases
In R2, only vCPE workflow in enhanced to call OOF for homing decisions. Changes are being done in R3 to ensure that SO workflow for vFW and vDNS call OOF for homing decisions. Hence test plan should ensure that both vFW and vDNS use cases are tested with HPA feature.
Usage of Multi-Cloud service instead of SO directly communicating with openstack instance in the cloud regions
In R2, E2E testing was done with SO bypassing Multi-Cloud service. In R3, SO calls the Multi-Cloud Service. Multi-Cloud service, in turn, communicates with Openstack HEAT in the cloud-regions. Test plan should ensure that SO is configured to work with Multi-Cloud
Derivation of HEAT parameters from OOF homing decisions
In R2, HEAT parameters and its values are generated based on OOF homing decision as SO was calling Openstack HEAT service directly. In R3, as mentioned above, the communication with HEAT is moved to Multi-Cloud service. As part of that changes are made to Multi-Cloud API to accept oof_directives and sdnc_directives. Multi-Cloud service is expected to generate HEAT parameters & it values from these directives. Test plan should ensure that HEAT parameters and values generated by Multi-Cloud are as expected.
SRIOV-NIC HPA feature support in R3
SRIOV-NIC HPA feature is added in R3. It allows VFCs that require SRIOV-NIC VFs would be placed in the right site and with right flavor. Test plan should ensure that OOF makes right decisions and right Openstack flavor is selected.
Cloud-region and flavor selection enhancements in OOF
In R2, OOF is selecting always the first region that match all mandatory requirements of VNF. If there are multiple regions that satisfy mandatory requirements of VNF, then selection is expected to be based on the best score. This enhancement is being done in R3. Test plan should cover to ensure that the right region with best score is selected in case of multiple regions.
Cloud-specific features exposed through HPA Policy framework:
VMWare is adding some cloud-specific features using HPA policy and thereby making the cloud technology specific feature agnostic to ONAP. Test plan should ensure that VIO specific features are tested without having to have any special logic in ONAP (except for VIO plugin) along with rest of HPA features.
Support for vCPE use case
In R2, SO is only component calling OOF for homing decisions and hence HPA feature only works with SO based use cases. In R3, VF-C (NSLCM) is being enhanced to talk to OOF and hence VF-C based use cases and corresponding VNFs can leverage the OOF returned information such as the cloud-region and flavor to use. Test plan should ensure that vCPE use case is tested to ensure that right openstack flavor is selected. These test cases test multiple functions such as 'auto creation of HPA policies from TOSCA', 'SDC client in policy framework' and few changes made in SDC to fix some gaps in TOSCA parser.
HPA telemetry and HPA state based placement decisions (stretch goal, may not happen in R3 time frame) : No test plan is going to be written for this.
HPA & Cloud Agnostic Policy & A&AI data examples: OOF R3 HPA & Cloud Agnostic policies
Test plans
Intention is to keep number of test cases to minimum. We believe that three test plans are needed.
Test Plan 1: Covering enhancements 1 to 5 in above list.
Test Plan 2: Covers enhancement 6.
Test Plan 3: Covers enhancement 7
Test Plan 1
This test plan covers the tests related to testing
Support for vFW/vDNS use case
Multi-Cloud API changes with oof_directives and sdnc_directives.
Multi-Cloud preparing HEAT parameters from oof_directives and sdnc_directives
SRIOV-NIC feature
Region selection based on score
Scenario:
ONAP managing 3 cloud-regions.
Cloud-region1, Cloud-region2 and Cloud-region3
All cloud regions are controlled by Openstack (with HEAT service)
Each cloud-region has three flavors
Cloud-region1:
Flavor 11:
2 vcpus, 512 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
Flavor 12:
2 vcpus, 2048 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
SRIOV-NIC with PCI Vendor: 8086 and PCI device :154C on physical network 1(private-1) with support for 2VFs
Flavor 13:
2 vcpus, 2048 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
SRIOV-NIC with PCI Vendor: 8086 and PCI device :154C on physical network 2(private-1) with support for 1VFs
Cloud-region2 :
Flavor 21:
2 vcpus, 512 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes and number pages 4
Cpu thread policy=isolate and cpu pinning policy is dedicated
Flavor 22:
2 vcpus, 2048 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
SRIOV-NIC with PCI Vendor: 8086 and PCI device :154C on physical network 2 (private-1) with support for 2VFs
Flavor 23:
2 vcpus, 2048 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
SRIOV-NIC with PCI Vendor: 8086 and PCI device :154C on physical network 2(shared-1) with support for 2VFs
Cloud-region3:
Flavor 31:
2 vcpus, 512 Mbytes of memory, 20Gb disk
Numa page size: 2Mbytes
Cpu thread policy=isolate and cpu pinning policy is dedicated
Flavor 32:
2 vcpus, 8 Gbytes of memory, 20Gb disk
Numa page size: 1Gbytes
Flavor 33:
2 vcpus, 4 Gbytes of memory, 20Gb disk
Numa page size: 2Mbytes
SRIOV-NIC with PCI Vendor: 8086 and PCI device :154C on physical network 2(shared-1) with support for 1VF
vFW TEST CASES
Test 1 (Basic)
Scenario:
Use vFW VNF (firewall, generator and sink)
firewall part of policy asking for:
Mandatory:
2 vcpus
512Mbytes of memory
>=10Gbytes of disk
Numa page size : 2Mbytes
Optional:
dedicated cpu pinning and policy and isolated cpu thread policy with score of 100
Generator part of policy asking for:
Mandatory;
1 vcpu
7Gbytes of memory
>=10Gbytes of disk
No Numa
No optional
Sink part of policy asking for:
No mandatory
No optional
Modify vFW HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region3 with flavor31 for firewallVM, flavor32 for for generator and any flavor for sink.
Why region 3: Since only Flavor32 has 8Gbytes of memory that can match Generator policy requirements and only flavor31 has cpu thread policy of isolated and cpu pinning policy of dedicated
Test 2: (to test SRIOV-NIC feature) (to ensure that right cloud-region is selected based on score)
Scenario:
Use vFW VNF (firewall, generator and sink)
Say vFW and sink are connected together on private-1
firewall part of policy asking for:
Mandatory:
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 2
Generator part of policy asking for:
Mandatory;
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 1
Sink part of policy asking for:
Mandatory
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 1
No optional
Modify vFW HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region1 with flavor12 for firewallVM and flavor13 for generator and sink VMs.
Why region 1: only cloud region one has flavors that support the unique combinations perfectly
• Test 3 (to ensure that right cloud-region is selected based on score)
Scenario:
Use vFW VNF (firewall, generator and sink)
firewall part of policy asking for:
Mandatory:
2 vcpus
4Gbytes of memory
10Gbytes of disk
Numa page size : 2Mbytes and pages 6
Optional:
SRIOV-NIC vendor 8086, 154C device ID on shared-1, count 1 - score 100
Generator part of policy asking for:
Mandatory;
1 vcpu
>=10Gbytes of disk
2Gbytes of memory
optional
>=1Gbytes of Numa page size with Numa count 2 - score 200
Sink part of policy asking for:
No mandatory
No optional
Modify vFW HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region3 with flavor33 for firewallVM, flavor32 for generator and any flavor for sink.
Why region 3: Since only Flavor32 has 1Gbyte of NUMA pages and the total score is 300
vDNS TEST CASES
Test 1 (Basic)
Scenario:
Use vLB VNF (loadbalancer, generator and vDNS)
vLB part of policy asking for:
Mandatory:
2 vcpus
512Mbytes of memory
10Gbytes of disk
Numa page size : 2Mbytes
Optional:
dedicated cpu pinning and policy and isolated cpu thread policy with score of 100
Generator part of policy asking for:
Mandatory;
1 vcpu
7Gbytes of memory
10Gbytes of disk
No Numa
No optional
Sink part of policy asking for:
No mandatory
No optional
Modify vLB HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region3 with flavor31 for vLB VM, flavor32 for for generator and any flavor for vDNS.
Why region 3: Since only Flavor32 has 8Gbytes of memory that can match Generator policy requirements.
Test 2: (to test SRIOV-NIC feature) (to ensure that right cloud-region is selected based on score)
Scenario:
Use vLB VNF (vlb, vpg and vdns)
vlb part of policy asking for:
Mandatory:
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 2
vpg part of policy asking for:
Mandatory;
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 1
vdns part of policy asking for:
Mandatory
SRIOV-NIC vendor 8086, 154C device ID on private-1, count 1
No optional
Modify vLB HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region1 with flavor12 for vlb and flavor13 for vpg and vdns.
Why region 1: This best meets its vf requirements
• Test 3 (to ensure that right cloud-region is selected based on score)
Scenario:
Use vLB VNF (vlb, vpg and vdns)
vLB part of policy asking for:
Mandatory:
2 vcpus
4Gbytes of memory
10Gbytes of disk
Numa page size : 2Mbytes
Optional:
SRIOV-NIC vendor 8086, 154C device ID on shared-1, count 1 - score 100
Generator part of policy asking for:
Mandatory;
1 vcpu
10Gbytes of disk
2Gbytes of memory
optional
>=1Gbytes of Numa page size with Numa count 2 - score 200
vdns part of policy asking for:
No mandatory
No optional
Modify vLB HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region3 with flavor33 for vLB, flavor32 for generator and any flavor for vdns.
Why region 3: Since only Flavor32 has 1Gbyte of NUMA pages and the total score is 300
Test Plan 2
This test plan covers the tests related to testing
Support for vFW use case
Multi-Cloud API changes with oof_directives and sdnc_directives.
Multi-Cloud preparing HEAT parameters from oof_directives and sdnc_directives
Cloud-agnostic Intent Feature
Scenario:
ONAP managing 1 cloud-region.
Cloud-region1
All cloud regions are controlled by VMware Integrated Openstack (with HEAT service)
Each cloud-region has three flavors
Cloud-region 1:
onap.flavor1:
name: onap.flavor1
2 vcpus, 4 Gbytes of memory, 20Gb disk
Add following metadata:
quota:memory_reservation_percent: 100
quota:cpu_reservation_percent: 100
Infrastructure Resource Isolation for VNF w/ Guaranteed QoS (Definition: Cloud Agnostic Intent and Mappings)
onap.flavor2:
name: onap.flavor2
2 vcpus, 8 Gbytes of memory, 20Gb disk
Add following metadata:
quota:memory_reservation_percent: 25
quota:cpu_reservation_percent: 25
Infrastructure Resource Isolation for VNF w/ Burstable QoS, Oversubscription Percentage (Definition: Cloud Agnostic Intent and Mappings)
flavor3:
name: flavor3
2 vcpus, 2 Gbytes of memory, 20Gb disk
Test 1 (Basic)
Scenario:
Use vFW VNF (firewall, generator and sink)
firewall part of policy asking for:
Mandatory:
2 vcpus
>1Gbytes of memory
< 30Gbytes of disk
Infrastructure Resource Isolation for VNF w/ Guaranteed QoS (Definition: Cloud Agnostic Intent and Mappings)
Generator part of policy asking for:
Mandatory;
1 vcpu
7Gbytes of memory
<10Gbytes of disk
Infrastructure Resource Isolation for VNF w/ Burstable QoS, Oversubscription Percentage > 20% (Definition: Cloud Agnostic Intent and Mappings)
Sink part of policy asking for:
No mandatory
No optional
Modify vFW HOT templates with right label and ensure that those labels are referred in the policy properly.
Instantiate the VNF
Check for results:
It would have selected Cloud-region1 with onap.flavor1 for firewallVM, onap.flavor2 for for generator and any flavor for sink.
Testing Steps:
Create new project "ONAP" on VIO
Create new user "onap_user" and grant it "admin" role, associate it to "ONAP" project.
Follow above requirements to create 3 flavors on VIO
Register VIO VIM info through ESR, "vim_type" choose "vmware", input the user/password/project created in previous steps
The VIM registration process will discover the "Infrastructure Resource Isolation for VNF" feature into A&AI, please check A&AI and see if related flavors were discovered or not.
Add related policies for OOF to choose the correct flavor
Trigger the vFW deployment process and see if the correct flavor are chosen for VNFs.
Test Plan 3 : VF-C HPA testing
This test plan covers the tests related to testing
Support for vCPE use case in VF-C
Scenario:
ONAP managing 2 cloud-region which have three flavors.
Cloud-region1:
Flavor 11:
2 vcpus, 4 Gbytes of memory, 40Gb disk
Numa page size: 2Mbytes and number pages 2048
Flavor 12:
2 vcpus, 2 Gbytes of memory, 40Gb disk
Huge page size: 2Mbytes and number pages 1024
Flavor 13:
2 vcpus, 1 Gbytes of memory, 20Gb disk
Numa page size: 2Mbytes and number pages 512
Cloud-region2:
Flavor 21:
2 vcpus, 1 Gbytes of memory, 20Gb disk
Numa page size: 2Mbytes and number pages 512
Flavor 22:
2 vcpus, 2 Gbytes of memory, 20Gb disk
Numa page size: 2Mbytes and number pages 1024
Flavor 23:
2 vcpus, 4 Gbytes of memory, 20Gb disk
Huge page size: 2Mbytes and number pages 2048
Test 1 (Basic)
Scenario:
Use vCPE (vinfra, vgw, vbng, vbrgemu and vgmux)
vinfra part of policy asking for:
Mandatory:
2 vcpus
>= 2Gbytes of memory
> 40Gbytes of disk
Numa page size : 2Mbytes and pages 1024
No optional:
vgw part of policy asking for:
Mandatory;
2 vcpu
>=4Gbytes of memory
>= 40Gbytes of disk
No Numa
No optional
vbng part of policy asking for:
Mandatory:
2 vcpus
>= 2Gbytes of memory
> 40Gbytes of disk
Numa page size : 2Mbytes and pages 1024
No optional
vbrgemu part of policy asking for:
Mandatory:
2 vcpus
>= 2Gbytes of memory
>= 40Gbytes of disk
Numa page size : 2Mbytes and pages 1024
No optional
vgmux part of policy asking for:
Mandatory:
2 vcpus
>= 2Gbytes of memory
> 40Gbytes of disk
Numa page size : 2Mbytes and pages 1024
No optional
Instantiate the VNF
Check for results:
It would have selected Cloud-region1 with flavor11 for vgw and flavor12 for all other vCPE VMs.
Why region 1: Since only region 1 has support for both 40Gbytes disk space and 4Gbytes memory