HPA Policies and Mappings
Refer wiki page: https://lf-onap.atlassian.net/wiki/display/DW/Policy+Specification+and+Retrieval+for+OOF
Policy | Attributes | hpa-feature | Tosca Mapping | Openstack Mapping | AAI representation (Eg:) | ||||||||||||
HPA CPU Topology Policy Example | numCpuSockets numCpuCores numCpuThreads | cpuTopology | hw:cpu_sockets, hw:cpu_cores, hw:cpu_threads, | hpa-capability-id="a369fd3d-0b15-44e1-81b2-6210efc6dff8", hpa-feature=”cpuTopology”, architecture=”generic", hpa-version=”v1”,
| |||||||||||||
HPA Basic Capabilities Policy Example | numVirtualCpu virtualMemSize | basicCapabilities | virtual_cpu#num_virtual_cpu virtual_memory#virtual_mem_size | vcpus, ram | hpa-capability-id="b369fd3d-0b15-44e1-81b2-6210efc6dff9", hpa-feature=”basicCapabilities”, architecture=”generic", hpa-version=”v1”,
| ||||||||||||
HPA OVS DPDK Policy Example | dataProcessingAccelerationLibrary | ovsDpdk | hpa-capability-id="b369fd3d-0b15-44e1-81b2-6210efc6dffa", hpa-feature=”ovsDpdk”, architecture=”Intel64", hpa-version=”v1”,
| ||||||||||||||
“HPA CPU Pinning Policy Example | logicalCpuThreadPinningPolicy logicalCpuPinningPolicy | cpuPinning | hw:cpu_thread_policy hw:cpu_policy | hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa", hpa-feature=”cpuPinning”, architecture=”generic", hpa-version=”v1”,
| |||||||||||||
HPA NUMA Policy Example | numaNodes numaCpu-N numaMem-N | numa | hw:numa_nodes hw:numa_cpus:N hw:numa_mem:N | hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa", hpa-feature=”numa”, architecture=”generic", hpa-version=”v1”,
| |||||||||||||
HPA SriovNICNetwork Policy Example | pciCount pciVendorId pciDeviceId | SriovNICNetwork | virtual_network_interface_requirements#network_interface_requirements#interfaceType virtual_network_interface_requirements#nic_io_requirements#pciVendorId virtual_network_interface_requirements#nic_io_requirements#pciDeviceId virtual_network_interface_requirements#nic_io_requirements#pciNumDevices virtual_network_interface_requirements#nic_io_requirements#physicalNetwork? | sriov_nic=sriov-nic-<vendor>-<Vendor ID>-<Device ID>-physicalNetwork:COUNT It is expected thatOpenstackadministrator creates alias that stars with sriov and put the vendor ID, device ID. Example: Assume that there are two SRIOV-NIC cards supported by a region, Intel and Mellanox. Examples: sriov-nic-intel-1234-5678-physnet1:1 sriov-nic-mellanox-2345-6543-physnet1:1 | hpa-capability-id="ty53fd3d-0b15-11w4-81b2-6210efc6dff9", hpa-feature=”sriovNICNetwork”, architecture=”intel64", hpa-version=”v1”,
| ||||||||||||
HPA PCIe Passthrough Policy Example | pciCount pciVendorId pciDeviceId | pciePassthrough | virtual_network_interface_requirements#network_interface_requirements#interfaceType virtual_network_interface_requirements#nic_io_requirements#pciVendorId virtual_network_interface_requirements#nic_io_requirements#pciDeviceId virtual_network_interface_requirements#nic_io_requirements#pciNumDevices | pci_passthrough:alias=ALIAS:COUNT Openstack administrator is expected to create ALIAS as <aliasName>-<deviceType>-<architecture>-<PCIe vendor ID in Hex>-<PCIe device ID> QuickAssist example: "mycrypto-qat-intel-8086-0443" | hpa-capability-id="f453fd3d-0b15-11w4-81b2-6210efc6dff9", hpa-feature=”pciePassthrough”, architecture=”intel64", hpa-version=”v1”,
| ||||||||||||
HPA Local Storage Policy Example | diskSize ephemeralDiskSize swapMemSize | localStorage | disk swap | hpa-capability-id="u456fd3d-0b15-90r4-81b2-6210efc6dff9", hpa-feature=”localStorage”, architecture=”generic", hpa-version=”v1”,
| |||||||||||||
HPA CPU Instruction Set Extensions Policy Example | instructionSetExtensions | instructionSetExtensions | hw:capabilities:cpu_info:features | hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa", hpa-feature=”instructionSetExtensions”, architecture=”Intel64", hpa-version=”v1”,
| |||||||||||||
HPA Huge Pages Policy Example | memoryPageSize | hugePages | virtual_memory#vdu_memory_requirements#memoryPageSize | hw:mem_page_size values can be ANY, 4KB, 2MB, 1GB How to handle large, small, any from openstack? if the hw:mem_page_size is an integer it is assumed the unit is in KB The deafult value for small page is 4k, for large page is 2M or 1G(recommended value 2M), for any page, libvirt will firstly to try to find large pages, if failed then will fall back to small pages. so it's suggest do not support any page in current release version | hpa-capability-id="e769fd3d-0b15-77b3-81b2-6210efc6dffa", hpa-feature=”hugePages”, architecture=”generic", hpa-version=”v1”,
|