Versions Compared

Key

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

...

Code Block
titleAdvanced HPA specifications
linenumberstrue
collapsetrue
####### Advanced hardware capabilities, with more details ####
capability_types:
  onap.capabilities.infrastructure.hpa.CPU:
    derived_from: onap.capabilities.infrastructure.CPU
    description: detailed processor capabilities for hardware-aware VNF vendors
    properties:
      schema_selector:
        description: vendor+architecture, for example, Intel64
        type: string
        required: true
      schema_version:
        type: version
        required: false
      custom_features:
        description: additional features, formatted as JSON, validated against a schema
        type: json
        constraints:
          - schema: http://schema.url
        required: false

      simultaneousMultiThreading:
        type: boolean
        description: | 
          The use of Simultaneous Multi-Threading HW is an efficient way to 
          increase the compute capacity of a platform. SMT HW threads share 
          some CPU core resources. In some VDU implementations, it may be 
          necessary to very explicitly control the HW thread allocation on 
          a platform. This could be to help ensure locality in data caches 
          or as a mechanism to enhance determinism
        required: false
      logicalCpuPinningPolicy:
        type: string
        constraints:
          - valid_values: [Dedicated, Shared]
        required: false
      logicalCpuThreadPinningPolicy: 
        type: string
        constraints:
          - valid_values:
              - Isolate   # Allocate on different execution units.
              - Prefer    # co-location of vCPUs to physical execution units
              - Require   # co-location of vCPUs to physical execution units
        required: false
      instructionSetExtensions:
        type: string
        constraints:
          - valid_values:
              - Isolate   # Allocate on different execution units.
              - Prefer    # co-location of vCPUs to physical execution units
              - Require   # co-location of vCPUs to physical execution units
        required: false
      hypervisorConfiguration:
        type: string
        required: false
      computeRas:
        description: Reliability, Availability, Serviceability (RAS) 
        type: string
        required: false

  onap.capabilities.infrastructure.hpa.Memory:
    derived_from: onap.capabilities.infrastructure.Memory
    description: HPA-level memory capabilities
    properties:
      schema_selector:
        description: vendor+architecture, for example, Intel64
        type: string
        required: true
      schema_version:
        type: version
        required: false
      custom_features:
        description: additional features, formatted as JSON, validated against a schema
        type: json
        required: false
    
      memoryPageSize:
        type: scalar-unit.size
        required: false
      memoryAllocationPolicy:
        type: string
        constraints:   
          - valid_values: 
              - StrictLocal 
              - PreferredLocal 
        required: false
      memoryBandwidth:
        description: Agreed unit of memory bandwidth
        type: scalar-unit.size
        required: false
      processorCacheAllocation:
        description: Agreed unit of processor cache
        type: string
        required: false
      memoryType:
        description: Type of memory
        type: string
        required: false
      memorySpeed:
        description: Agreed unit of memory speed
        type: string
        required: false
      memoryRas:
        description:
        type: string
        required: false
      localNumaMemory:
        type: boolean
        required: false
    
  onap.capabilities.infrastructure.hpa.Storage:
    derived_from: onap.capabilities.infrastructure.Storage
    description: HPA-level storage specifications
    properties:
      schema_selector:
        description: vendor+architecture, for example, Intel64
        type: string
        required: true
      schema_version:
        type: version
        required: false
      custom_features:
        description: additional features, formatted as JSON, validated against a schema
        type: json
        required: false
    
      storageIops: 
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
      storageResilencyMechanism:
        type: string
        required: false
        description: Erasure code based back-end, triple replication
        
  onap.capabilities.infrastructure.hpa.IO:
    derived_from: onap.capabilities.infrastructure.IO
    description: HPA-level IO characteristics
    properties:
      schema_selector:
        description: vendor+architecture, for example, Intel64
        type: string
        required: true
      schema_version:
        type: version
        required: false
      custom_features:
        description: additional features, formatted as JSON, validated against a schema
        type: json
        required: false

      pciVendorId:
        description: PCI-SIG vendor ID for the device
        type: string
        required: false
      pciDeviceId:
        description: PCI-SIG device ID for the device
        type: string
        required: false
      pciNumDevices:
        description: 	Number of PCI devices required.
        type: string
        required: false
      pciAddress:
        description: Geographic location of the PCI device via the standard PCI-SIG addressing model of Domain:Bus:device:function 
        type: string
        required: false
      pciDeviceLocalToNumaNode	Boolean
        type: string
        required: false
        
  onap.capabilities.infrastructure.hpa.NIC:
    derived_from: onap.capabilities.infrastructure.NIC
    description: HPA-level networking interface characteristics
    properties:
      schema_selector:
        description: vendor+architecture, for example, Intel64
        type: string
        required: true
      schema_version:
        type: version
        required: false
      custom_features:
        description: additional features, formatted as JSON, validated against a schema
        type: json
        required: false

      nicFeature:
        description: Long list of NIC related items such as LSO, LRO, RSS, RDMA, etc. 
        type: map
        entry_schema: string
        required: false
      dataProcessingAccelerationLibray:
        description: Name and version of the data processing acceleration library required. Orchestration can match any NIC that is known to be compatible with the specified library.
        type: string
        required: false
      interfaceType:
        description: Virtio, PCI-Passthrough, SR-IOV, E1000, RTL8139, PCNET, etc. 
        type: string
        required: false
Code Block
titleExamples of a vendor-specific refinment of an HPA capability
linenumberstrue
collapsetrue
  com.intel.capabilities.hpa.CPU:
    derived_from: onap.capabilities.infrastructure.hpa.CPU
      schema_selector:
        type: string
        required: true
        constraints:  # fixed value for this vendor
          - equal_to: Intel64 
      schema_version:
        type: version
        required: false
        constraints:
          - equal_to: 2.0
      instructionSetExtensions:
        type: string
        constraints:   # changes property definitions
          - valid_values: [aes, sse, avx, cat, cmt, mbm]
        required: false
      a_well_known_property_of_this_vendor: # adds new strictly typed properties
        type: integer
        required: false