Versions Compared

Key

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

Refer wiki page: https://wiki.onap.org/display/DW/Policy+Specification+and+Retrieval+for+OOF

Policy

Attributes

hpaFeature

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,

hpaCapabiltyId

hpa-capability-id="a369fd3d-0b15-44e1-81b2-6210efc6dff8",

hpaFeature

hpa-feature=”cpuTopology”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

numCpuSockets

{value:4}

numCpuCores

{value:4}

numCpuThreads

{value:8}


HPA Basic Capabilities Policy Example

numVirtualCpu

virtualMemSize

basicCapabilities

virtual_cpu#num_virtual_cpu

virtual_memory#virtual_mem_size

vcpus,

ram

hpaCapabiltyId

hpa-capability-id="b369fd3d-0b15-44e1-81b2-6210efc6dff9",

hpaFeature

hpa-feature=”basicCapabilities”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

numVirtualCpu

{value:4}

virtualMemSize

{value:4, unit:

”GB”

”MB”}


HPA OVS DPDK Policy Example

dataProcessingAccelerationLibrary

ovsDpdk

hpaCapabiltyId


hpa-capability-id="b369fd3d-0b15-44e1-81b2-6210efc6dffa",

hpaFeature

hpa-feature=”ovsDpdk”,

hardwareArchitecture

architecture=

”Inte64

”Intel64",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

dataProcessingAccelerationLibrary

{value:”v12.1”}


“HPA CPU Pinning Policy Example

logicalCpuThreadPinningPolicy

logicalCpuPinningPolicy

cpuPinning


hw:cpu_thread_policy

hw:cpu_policy

hpaCapabiltyId

hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa",

hpaFeature

hpa-feature=”cpuPinning”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

logicalCpuThreadPinningPolicy

{value:”prefer”}

logicalCpuPinningPolicy

{value:”dedicated”}


HPA NUMA Policy Example

numaNodes

numaCpu-N

numaMem-N

numa


hw:numa_nodes

hw:numa_cpus:N

hw:numa_mem:N

hpaCapabiltyId

hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa",

hpaFeature

hpa-feature=”numa”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

numaNodes

{value:2}

numaCpu-0

{value:[0,1]}

numaCpu-1

{value:[2,3,4,5]}

numaMem-0

{value:2, unit:

”GB”

”MB”}

numaMem-1

{value:4, unit:

”GB”

”MB”}


HPA

SGX

SriovNICNetwork Policy Example

sgxMemSize

sgxPukKeyHash

sgx

HPA PCIe Passthrough Policy Example

pciCount

pciVendorId

pciDeviceId

pciePassthrough

pci_passthrough:alias=ALIAS:COUNT

Openstack administrator is expected to create ALIAS as

<name>-<PCIe vendor ID in Hex>-<PCIe device ID>

QuickAssist example: "mycrypto-8086-0443"

In case of SRIOV-NIC:

aggregate_instance_extra_specs:sriov-device-<name>="
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

that Openstack administrator creates host aggregate and metadata 'sriov-device-<name>'

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-

device

nic-intel

=8086-1563

-1234-5678-physnet1:1

sriov-

device

nic-mellanox

=15B3-1003

-2345-6543-physnet1:1

hpa-capability-id="ty53fd3d

hpaCapabiltyId="f453fd3d

-0b15-11w4-81b2-6210efc6dff9",

hpaFeature=”pciePassthrough

hpa-feature=”sriovNICNetwork”,

hardwareArchitecture

architecture=”intel64",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

pciCount

{value: 1}

pciVendorId

{value: "

8086

1234"}

pciDeviceId{value: "5678"}
physicalNetwork

{value:"physnet1"}


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"

}

hpaCapabiltyId



hpa-capability-id="

q236fd3d

f453fd3d-0b15-11w4-81b2-6210efc6dff9",

hpaFeature=”pciePassthrough”

hpa-feature=”pciePassthrough,

hardwareArchitecture=”{hw_arch}

architecture=”intel64",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

pciCount

{value: 1}

pciVendorId

{value: "

15B3

8086"}

pciDeviceId{value: "
1003
0443"}


HPA Local Storage Policy Example

diskSize

ephemeralDiskSize

swapMemSize

localStorage


disk

swap

hpaCapabiltyId


hpa-capability-id="u456fd3d-0b15-90r4-81b2-6210efc6dff9",

hpaFeature

hpa-feature=”localStorage”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

diskSize

{value:4096, unit:”GB”}

ephemeralDiskSize

{value:160, unit:”GB”}

swapMemSize{value:8192, unit:”MB”}


HPA CPU Instruction Set Extensions Policy Example

instructionSetExtensions

instructionSetExtensions


hw:capabilities:cpu_info:features

hpaCapabiltyId

hpa-capability-id="c369fd3d-0b15-44e1-81b2-6210efc6dffa",

hpaFeature

hpa-feature=”instructionSetExtensions”,

hardwareArchitecture

architecture=”Intel64",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

instructionSetExtensions

{value:["AAA", "BBB"]}


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

hpaCapabiltyId

="e769fd3d-0b15-77b3-81b2-6210efc6dffa",

hpaFeature

hpa-feature=”hugePages”,

hardwareArchitecture

architecture=”generic",

hpa-version=”v1”,

HPAAttributeKey

HPAAttributeValue

hpa-attribute-key

hpa-attribute-value

memoryPageSize

{value:

"large"

2, unit:”MB”}