Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

cloud-infrastructure and cloud-regions in A&AI DB is in Amsterdam release.

Introducing following:

  • EPAHPA-flavor, EPAHPA-feature and EPAHPA-feature-attribute:  A given cloud-region may support multiple groups of hardware features. Both Azure and AWS has multiple groups of HW features defined for each region.  Azure calls them as "VM Sizes" and AWS calls them as "Instance types".  In Openstack world,  Openstack VIM administrator also defines multiple groups of HW features (called as flavors in Openstack).   EPA HPA-flavor is represents these HW feature groups.  Each EPAHPA-flavor has set of EPAHPA-features and each EPAHPA-feature is defined by EPAHPA-feature-attributes.


Sequence Diagrams



Discovery of

...

HPA-flavors when cloud-region is added


https://sequencediagram.org/index.html?initialData=C4S2BsFMAIGFwPYFcAmBaASpA5iBA7aASXzGgBEQBnAYwQDdIAnATwCg2AHAQydBpA98waAFUqzLr36Duw6AFEAyhil8QAoSICC2omplboAWSThQ8ZOgBCTBAGtJPdZrkjT5kJdRoACuCRcfAMNWXksAFsEYEgANSJjaDZxZjQAPmUMAC4xCSZobhQUKjhEHyYcPGDM9N0iHO0i0qs0CtwCaGAEToALGBB8RmEEVjZMgB40NDroHKUkGhpIKioAegAzbhAAiuS8ybRMuYWllY2tncgxlXSPCzKbO0cmHIA5aJB1lgKisCroBDraD4SAAd2gNAerUqBDYdy8UNsDlSaXh3keyJe0CUkCgNGAJWAfWgnACQWgACNuBIUADCAAdfDxYxoYAsTgwQG9bgiSEtNpVOFme4tJHPW7ChEtfyBAY5AAqTBA2GwzGBYIhUIFHUKKD+sLRUJlQXSkWicQSOQA4pAROtwNx6CM1rFjEoQAAvZarEhUYByJaddnLIWedF+MkDA5mmLMnJYKicAgSaCgsA9ArgcBBjklKhIThJviQFChkU+Y0DU2QKKxy3QG0iFC2i4lLmM+2O52rV3ur1rX3+-CneXBkqMqC8eQDEkVeh4JB5mKcMtSiuR-DRmvmuPQBNJ-ApgAUaaJ0Gb-u2VAAlKvw5X8BKw0aN28RhFuOBPTBO06mC63W-AdDyHJZR1zaBGTkWkFF8bRoAGdZ3x5f4Bi6RQ4LQX9nUg-BqWgSAAA8OXxEtKW+AB5V5tF8O8X1lR80jqBomlg7QsIdP8Smg3DqSoBABB5Mi2KwyAeSQCpxzw-BaTAbjgGAJUKSQGISiQGS1UZIkYD5coYWCIA

Periodic Discovery of

...

HPA-flavors


https://sequencediagram.org/index.html?initialData=C4S2BsFMAIAVIE4gPYBMQGNroM4eQG6ICe0yAZtNAKKwCCAtOeAIYHII4BQXADiwlAYQ-AHbBoAWQCu4UAGFwyaagYAhBMgDWiPgKEiW4qbIVKVDWOGkBzEKL2DMh43ToBJRwbESASpABbZGBIADV3SR4uUWCYQkQTORBFZVUNbUQALmgAMQ5oSBYMAAtocMloYGJeSGjYsiIERLNUy2s7UWy8psKSsojoBEg7ZAcZJJSLK1t7BgA+cZap9vts+CQ0TBp6bBA8eIRSGNByTBZQUa5F5PNVaY7oef8gkPLsgHFICWY2DhwAelCFQAyiAAF6QAHuUQ4YBGDAwKo1bjHGBIGzFCQUZo3Vr3VbQADyNRhcIwWn6khw0GkOBgP3YTRCCACABpoAAdUR0MHSIY0unUgDkQOgoIhOCFlUQAU53IA6sCBZDoEL7LD4YjqpApczZVzgMhBpBeEM6cYCAIULToPgArxpCFoDZNNJeDgAHRXUy45YzUQAHgYDGesTe0H8OF4ozp0AA7mBSgy-tAcG7o4JIKh2Vy48UvvmmvljpVCzABDBIDFbKUuWblAgEdS2CwQKwAEZQaD2Uto4YoUTQcj5YDFPZD1iM70TW5tf1PQJhiIfL7YL6t8DU0YFIpJyccQEg8GQf7QjWiBGVbXTpZ3FaB4Oh14DbKR6MwmAJ0druFtlH1dFMTIShrkmO9-WyAARdc-27C9rFQGACHkWAAFUcHZAJAlTY8c1EXAKRwY9oCMVAClEYpNTIrleFYYBhxZIdCmAPkVTTXgMxCMj21IUdzgnX4EBvX1wI6eZQNnfFOmgAA5DgAhYcBj3+YAECMHA6JgLlkwQQ8xWUs84QvLUajlewGIUi5B0NIkZLoWA11OUQszlWhGB06kLPOYSwLnMS5jcdwVwkSAAA89lAUQbG2dz904MhrPzY0RjGH1fKkoMGEC19IXfWMv1KRTwBipg4ubfDexAJpEN-TcfMk+9xLShr-WgYK1zkFhoHbL440gKs5TCiL7GitzSsE8rqNEZy43AUhcHwRoXLtB0QgYF1lHdL0JLxRqAo8TI6A4uaOrhAURugQLLtgdw5VIkjNyNFhjtIDBnqKMBSA1Fit0HXpa1EMadO6lg6TI7dvptcz5POAdoCgARxC9LggA

...

Current AAI Schema


Modified AAI Schema

...

HPA Feature Definition

Requirements that are kept in mind are :

  • Expose HW capability of various CPU architecture (Intel x86,  ARM etc...) in generic fashion.
  • Provide flexibility to expose CPU architecture and vendor specific features.
  • Support for multiple Clouds such as Openstack clouds, AWS Cloud,  Azure Cloud etc...
  • No hardcoding of EPA HPA feature names OR attribute names in ONAP (other than Multi-Cloud plugin)

Following table provides EPA HPA features and attributes.  Also, it describes matching constraints for each EPA HPA feature. These constrains are applied while finding the best compute-group for placing VNFC.

Following format is used to represent the EPA HPA feature name:

<Hardware or Software feature>-<Generic feature or CPU architecture/vendor specific featuers>-<feature name>

Attributes are represented as <feature attribute>:<feature value>

TBD...

Integer, Greater than & nearest

Boolean, exact match

List, Greater than & nearest

hw-generic-virtIOsmartNIC
<HPA feature name
<EPA feature name><EPA Feature attributes>Matching constraintsComments
hw-generic-vcpuvcpus:<num of cpus>This capability provides number of virtual CPUs supported by constituing compute-group
sw-generic-cpuPinningpolicy: <dedicated or shared)

Enum, Exact match

Core pinning
sw-generic-threadingpolicy:<prefer/isolate/require>Enum. Exact match

If threading is enabled, this feature provides capability on whether the constituting compute group provides best method

to put all threads as siblings (if prefer is used), must put threads as siblings (if require is used) and isolate across

multiple physical cores (if isolate is used)

hw-generic-memorysize: <in Mbutes>Integer, Greater than & nearestThis capability provides the amout of memory supported by compute-group.
hw-generic-ephemeralDiskSizesize: <in Gbytes>Integer, Greater than & nearestThis capability provides the amout of ephemeral disk memory supported by compute-group.
hw-generic-permDiskSizesize: <in Gbytes>Integer, Greater than & nearestThis capability provides the amout of permanent disk memory supported by compute-group.
hw-generic-cpuNuma

distribution: <equal or specific>

Valid if <specific>

List of following:

NumaNode.<N> : <No. of vCPUs>

Boolean, exact match

List, Greater than & nearest

(All vCPUs across all NUMA nodes can't exceed number of vCPUs

This capability exposes Numa capability for vCPUs in the compute-group.

"equal' means when VNF is placed using this compute-group, vCPUs are equally divided across possible NUMA nodes.

"specific" means that CPUs assigned to VNFs are acorss multiple NUMA nodes as specified.

hw-generic-memoryNuma

distribution: <equal or specific>

Valid if <specific>

List of following:

NumaNode.<N> : <Amount of memory>

This capability exposes Numa capability for memory in the compute-group.

"equal' means when VNF is placed using this compute-group, memory assigned to VNFs comes equally NUMA nodes.

"specific" means that memory is assigned to VNF is acorss multiple NUMA nodes as specified.

hw-generic-pagesizesize : <size in Kbytes>Integer, Greater tahn & nearestThis capability exposes page size supported in the compute-group
sw-generic-realtimeVMMsupported : <yes/no>Boolean, exact matchThis capability exposes whether real time VMM is supported in the compute-group
sw-generic-ovsDPDKsupported : <yes/no>Boolean, exact matchThis capability exposes whether OVS-DPDK is supported in the compute-group
hw-generic-lookasideCryptohw-generic-lookasideCompressionhw-generic-PCISmartNIC
hw-generic-tpmsupported : <yes/no>Boolean, exact matchThis capability exposes whether TPM(Trusted Platform Module) is supported in the compute-group
hw-generic-securebootsupported : <yes/no>Boolean, exact matchThis capability exposes whether Secure Boot is supported in the compute-group
hw-intel64-aessupported : <yes/no>Boolean, exact matchhw-intel64-rdrandsupported : <yes/no>Boolean, exact matchhw-intel64-avx1supported : <yes/no>Boolean, exact matchhw-intel64-avx2supported : <yes/no>Boolean, exact matchhw-intel64-avx512supported : <yes/no>Boolean, exact matchhw-intel64-mpxsupported : <yes/no>Boolean, exact matchhw-intel64-ssesupported : <yes/no>Boolean, exact matchhw-intel64-catsupported : <yes/no>Boolean, exact matchhw-intel64-cmtsupported : <yes/no>Boolean, exact matchhw-intel64-sgxsupported : <yes/no>Boolean, exact matchhw-intel64-shasupported : <yes/no>Boolean, exact matchhw-intel64-pclmuldqsupported : <yes/no>Boolean, exact matchhw-intel64-adcxsupported : <yes/no>Boolean, exact matchhw-intel64-bootguardsupported : <yes/no>Boolean, exact matchhw-arm64-trustzone



AAI Database examples :

Azure

...