Overview

This is page is being used to track the realization of the Hardware Platform Awareness (HPA) functional requirement defined in support of VoLTE, vCPE and 5G use cases. The requirement calls for enablement of hardware platform feature awareness (HPA) inside the ONAP management platform, or means by which knowledge about underlying compute hardware platform capabilities is exposed to VNFs running on top of the platform in order to optimize, accelerate and/or otherwise augment their execution. In ONAP, HPA enablement focuses on discovery, health monitoring and configuration of hardware platform capabilities within the NFV infrastructure, and their consumption by the virtual network functions and network services deployed on top of the infrastructure.

More Information (Intel-specific)...

Business Requirements

This requirement is required in support of commercial VNF implementations, that are used as part of vCPE, VoLTE and 5G use cases, and require hardware assisted acceleration. This requirement is also needed by the ONAP Optimization Framework (OOF) project in order to optimize homing and placement of hardware assisted VNFs.

Scope

The scope of this requirement is limited to consumption of hardware platform capabilities for the purpose of VNF performance acceleration and optimization. Other uses of HPA are not in scope. 

Participating Companies

  • AT&T, Intel, Cloudify, China Mobile, Orange, ARM

Terminology Introduced

TermDefinition
Hardware Platform Awareness (HPA)The means by which the underlying NFV-I hardware platform capabilities are exposed to the network service orchestration and management functionality, for the purpose of fulfilling VNF instantiation-time hardware platform requirements.
HPA EnablementThe implementation of HPA awareness in ONAP.


Discussion Pages


Projects that enable HPA


Limitations



1

Specification of VNF's hardware platform capability requirements is limited to TOSCA based VNFD's.

2

Specification of VNF's hardware platform capability requirements using HEAT is not supported.

3

Supported capabilities are limited to the ones discoverable via OpenStack APIs.

4

Use of container based VNF placement is not supported.

5

Specification of capability requirements is bounded by the set of capabilities discovered in #2.

6

Implementation of southbound (Multi-Cloud) facing SO workflows is limited to HEAT only. 

7

Use of TOSCA based resource orchestration is a stretch goal.

8

There is no dynamic discovery of HPA capabilities.

9

HPA capabilities are not under monitoring.


Projects that make use of HPA


Project

PTL

Notes
1APP-CThere is no direct impact on APP-C, given that all instantiation actions are "outsourced" to the SO/OOF.
2VF-CChanges to VF-C will be required in order to incorporate use of HPA into instantiation and operation.
3DCAE

Internal HPA Documentation


Project

PTL

1VNFRQTS

External HPA Documentation

Organization

Contact

ETSI NFV SOL

Alexander Vul, Intel

Thinh Nguyenphu, Nokia

Bruno Chartras, Orange


HPA Enablement Flow Diagram


HPA Casablanca Enhancements





FeatureProjectsStatusNotes

Support for vFW and vDNS use cases

In R2, only the vCPE SO workflow was enhanced to call OOF for homing decisions. In R3, SO workflows for vFW and vDNS will also call OOF for homing decisions.

SO

GREEN

Most of code will be in by Wednesday.

Test plan to ensure that both vFW and vDNS use cases are tested with HPA feature


Use of Multi-Cloud Service instead of SO for direct communication with OpenStack instances in cloud regions

In R2, as part of the vCPE workflow, SO bypassed the Multi-Cloud service and called OpenStack directly..  In R3, this will no longer be the case and SO will call the Multi-Cloud Service. Multi-Cloud service will, in turn, communicate with OpenStack instances within different cloud regions.

SO
Multi-Cloud

YELLOW

Code being integrated late on Wednesday.

Test plan should ensure that SO is configured to work with Multi-Cloud Service.


Derivation of HEAT parameters from OOF homing decisions in the Multi-Cloud Service

In R2, vCPE HEAT template parameters and their values were generated by SO, based on OOF homing decisions because SO was calling Openstack directly. In R3, communication with OpenStack is moved to the Multi-Cloud Service and SO will no longer generate HEAT template parameters. Instead, the Multi-Cloud API will accept directives from OOF and SDN-C, passed as API call parameters.   Multi-Cloud service will generate HEAT template parameters based on these directives. 

SO
OOF
Multi-Cloud 
GREEN

Dependency on #2.

Test plan should ensure that HEAT parameters and values generated by Multi-Cloud are as expected.


SRIOV-NIC HPA feature support

SRIOV-NIC HPA feature is added in R3.

Multi-Cloud
SO 

GREEN

Dependency on #2 and #3.

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 always selected the first cloud region to satisfy all mandatory HPA requirements, even if multiple cloud regions were able to satisfy the requirements. In R3, OOF will use scoring to pick the right cloud region, such that the region with the highest score is always chosen.

OOF

GREEN

Test plan should cover to ensure that the right region with best score is selected in case of multiple regions.

Missing E2E integration testing, can be done after M4


Support for vCPE use case

In R2, vCPE orchestration was only possible using SO and HEAT templates. In R3, vCPE orchestration will also be possible using VF-C and partially ETSI NFV SOL001 v0.6.0 compliant TOSCA templates. As part of this change, VF-C (NSLCM) will be enhanced to communicate with OOF and use OOF supplied recommendations for placement.

VF-C
SDC
Policy


Test plan should ensure that vCPE use case is tested using both VF-C and SO. In either case, the same OpenStack flavor and cloud region should be selected for VNF placement.



HPA telemetry and HPA state based placement decisions

Stretch goal, may not happen in R3 time frame


RED





HPA Functionality Enablement Plan


FunctionalityMVPProjects InvolvedAvailabilityStatus
1Modeling of VNF hardware platform requirements and dependencies as part of the VNFD information model and TOSCA data models.YesModeling Subcommittee

R3

COMMITTED


2

Specification and validation of VNF hardware platform requirements and dependencies as part of the VNF package (TOSCA).

YesVNFSDK

R3

COMMITTED

3

Use of VNFD supplied hardware platform requirements at on-boarding time to verify that infrastructure is capable of supporting VNF instantiation and operation.

NoSDC

R3

STRETCHR3

4Translation of VNFD supplied VNF hardware platform requirements into HPA related OOF homing and placement policies.YesSDC, Policy

R3

COMMITTED

5Manual specification of HPA related OOF homing and placement policies based on hardware platform requirements.YesPolicy

R2

DONE

6

Use of VNF hardware platform requirements as constraint policies for optimized homing and resource placement of VNF components during VNF instantiation.

YesOOF, SO, Policy

R2

DONE

7

Use of hardware platform telemetry in determination of the VNF instance health.

NoAAI, DCAE

R4

SCHEDULED

8Use of hardware platform telemetry to enhance OOF homing and placement decisions.NoMulti-Cloud, AAI, OOFR3

COMMITTED

9

Use of VNF hardware platform dependencies as constraints for operation and remediation of running VNF instances.

No

VF-C, APP-C

R3

DELAYEDR4

10Use of VNF hardware platform dependencies as constraints for VNF autoscaling.NoScaling FR

R3

DELAYEDR4

11Use of VNF hardware platform dependencies as constraints for VNF change management.NoChange Management FR

R3

DELAYEDR4

12

Discovery of hardware platform capabilities exposed by different VIMs.

YesMulti-Cloud

R2

DONE

13

Modeling and persistence of discovered platform capabilities in the AA&I database.

YesMulti-Cloud, AAI

R2

DONE

14SRIOV Discovery.NoMulti-Cloud

R3

COMMITED

15SRIOV Day 0 Configuration.NoTBD

R3

COMMITTED

16VF-C/HPA integration.NoVF-C

R3

COMMITTED



Casablanca Test Plan (DRAFT)

Please see this link: HPA & Cloud Agnostic Intent - R3 Test Plan (In Progress)

Assumptions

VolTE and vCPE use cases will be used to validate the function of HPA end-to-end. The HPA test plans for Casablanca make the following assumptions with respect to function of ONAP components affected by HPA enablement functional requirement.

  1. There are no changes to the HPA capability discovery process.
  2. There are no changes to how discovered HPA capabilities are persisted in AAI.
  3. There are no changes to specification of HPA constraint policies used by OOF.
  4. Existing VoLTE and vCPE tests are sufficient to perform the end-to-end HPA testing.

Based on the above assumptions, the scope of the testing effort is limited to the following:

VNF On-Boarding (VNFSDK/SDC)

Test IDTest DescriptionStatus
101Format and content of the VNFD, as supplied via the CSAR file are unaffected by VNF on-boarding.

TO BE DONE

102

HPA requirements are unaffected by VNF on-boarding.

TO BE DONE

103

On-boarding of VNFs with HPA requirements fails if appropriate ONAP components  (e.g. HPA requirement interpreter plugin) are not found.

TO BE DONE

104HPA requirement validation errors result in termination of the VNF on-boarding process.

TO BE DONE

VNF Design (SDC)


Test IDTest DescriptionStatus
201

VNFs with TOSCA-encoded VNFDs can be used to build network services.

TO BE DONE

202

VNFD and all of its content, HPA requirements included, remain immutable.

TO BE DONE

VNF Distribution (SDC/SO/Policy)

Test IDTest DescriptionStatus
301

Policy and SO components are able to register as SDC distribution clients.

TO BE DONE

302VNFD can be distributed through the SDC distribution framework.

TO BE DONE

303

HPA requirement parsing errors result in termination of the VNF distribution process.

TO BE DONE

VNF Instantiation (SO/VF-C/OOF)

Test IDTest DescriptionStatus
401VNFs with TOSCA-encoded VNFDs can be instantiated using VF-C.

TO BE DONE

402VNFs with TOSCA-encoded VNFDs can be instantiated using SO.

TO BE DONE

403The same VNF package can be used with all ONAP orchestrators.

TO BE DONE

404HPA requirements are consistently interpreted by all orchestrators.

TO BE DONE

SR-IOV NIC Support

Test IDTest DescriptionStatus
501VNFs including SR-IOV NIC requirements with TOSCA-encoded VNFDs can be instantiated using VF-C.

TO BE DONE

502VNFs including SR-IOV NIC requirements with TOSCA-encoded VNFDs can be instantiated using SO.

TO BE DONE

HPA Service Assurance (Platform Telemetry)

Test IDTest DescriptionStatus
601

TO BE DONE

9 Comments

  1. Alexander Vul SDC, Policy, DCAE, APP-C and VNF-C projects will not require any HPA-related requirement changes? E.g., they are HPA-agnostic?

    1. SDC and Policy projects require changes in order to enable use of HPA. DCAE, APP-C and VF-C are considered to be "consumers" of the HPA Awareness features, and may require changes in order to incorporate use of HPA into their respective functionalities.

  2. Some review comments:

    1. Add a Legend for the Green, Yellow, and Red meanings/usage
    2. Add a formal definition of HPA on this page and included in the ONAP Glossary, for both terms “HPA” and “HPA Enablement”
    3. It would be good to “map” the Enabled Functionality list to individual ONAP projects, in terms of where the function will be implemented. A sentence or two could be added to the Notes column next to each project. It would be good to eventually add links to each projects JIRA Epic and/or stories on this page for added HPA functionality.
    4. Is the ONAP project MVP designator intended for Beijing release (per project) or is this referring back to the R1 MVP list?  Or would this imply a "rolled up" HPA MVP?
    5. Can you describe/define "Functionality that enables HPA" and "Functionality dependent on HPA"?
  3. Can we get clarification on AAI's role. Does AAI require development or does it only make use of/store of HPA data? 

    1. Adolfo,

      There is no material impact on the AAI project. Most of the work is cosmetic and focused on persistence of discovered HPA capabilities.


      Alex


  4. Hi Alexander Vul,

    Question : HPA Enablement depends on HPA capabilities from underlying VIM. Or in other words, VIM has to be pre-configured with HPA/EPA parameters enabled right? For example, incase of Openstack, EPA/HPA specific flavours have to be pre-created and then get discovered by ONAP. Is my understanding correct ?

    BR,

    Viswa

  5. Your understanding is correct. The expectation is that the flavors have been pre-configured within the VIM.

    1. Thanks. Few follow-up questions :

      1. In that case, would the flavor name be used as a "hint" regarding a specific HPA attribute ( say for eg: DPDK / SRIOV enablement etc..) ? How would HPA capabilities be parsed from flavor information from underlying VIM ?
      2. Is there a possibility of dynamically creating flavor on-demand by ONAP on VIM,  based on incoming HPA requirements from VNFD? If not for R2, maybe in roadmap ??
        • This might be necessary, as without this, there would be a manual step of notifying VIM admins, to first create a flavor and later get that discovered in ONAP, isn't it?
      1. On your question 1:

        Many VIMs provide a way to read not only list of flavors, but also properties of each flavor. In case of Openstack:

        • Multi-Cloud Openstack plugin would read list of flavors using "GET /flavors API.
        • It gets basic properties (such as vCPUs, memory, disk size, ephemeral disk size) using "GET /flavors/{flavor_id}
        • It gets advanced capabilities (such as NUMA, PCIe, instruction set extensions and many more) using "GET /flavors/{flavor_id}/os-extra_specs
        • If the extra spec points to some host aggregate metadata or PCIe alais, interpret the key/value for additional information.
          • If it is PCIe property,  then it is expected that alias name will have vendor ID and device ID.
          • If it is host aggregate metadata, then it is expected  either it has information about SRIOV NIC PCIe information or about OVS-DPDK information.

        I believe other VIMs such as Azure and AWS also has similar API to get flavor specific information.

        On your question 2:

        At least in today world, compute servers are fixed with set of HPA capabilities.  Based on types of compute servers particular region has, administrator creates as many flavors.  There is a movement in industry (OCP, RSD etc..) for reconfigurable/software-defined servers, where server can be composed with various discrete hardware components (accelerators, disk etc..) based on workload demands (https://www.intel.com/content/www/us/en/architecture-and-technology/rack-scale-design-overview.html). At that time dynamic flavor creation would be required.  

        Hi, Huang HaibinNate Potter and Ritu Sood

        Please add if I missed any.