Versions Compared

Key

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

...

Code Block
titleONAP Data Model Normatives
linenumberstrue
collapsetrue
node_types:
  # the very base of the hierarchy of VDU types
  onap.nodes.VDUContainer:
    derived_from: onap.nodes.Resource
    artifacts:
      vducontainer_image:
        type: tosca.artifacts.Deployment
        description: an image used to launch the VDUContainer
    interfaces:
      Standard:
        start: 
          implementation: vducontainer_image
    capabilities:
      host:
        type: tosca.capabilities.Container  # the TOSCA Specs type is good enough
        occurrences: [0..UNBOUNDED]
    requirements:
      - cpu:
          capability: onap.capabilities.infrastructure.CPU:
          occurrences: [0..1]
      - memory:
          capability: onap.capabilities.infrastructure.Memory:
          occurrences: [0..UNBOUNDED]
      - storage:
          capability: onap.capabilities.infrastructure.Storage:
          occurrences: [0..UNBOUNDED]
      - io:
          capability: onap.capabilities.infrastructure.IO:
          occurrences: [0..UNBOUNDED]
      - nic:
          capability: onap.capabilities.infrastructure.NIC:
          occurrences: [0..UNBOUNDED]

Please note that VDU is derived from Resource, and thus inherits a requirement for a host. This way we are able to model the situations when a container is hosted by another container, for example a It is possible to model nested hosting, for example a docker container running on a specific VM.



To create a reusable VDU Container customization, create a sub-type:

Code Block
titleSample VDU sub-type - more details
linenumberstrue
collapsetrue
  # a more concrete VDU type
  onap.nodes.sample.MyVDUMyContainer:
    derived_from: onap.nodes.VDUContainer
    artifacts:
      vducontainer_image:
        type: tosca.artifacts.Deployment.Image.VM.ISO
        file: http://the.url.of/the.image.iso
    interfaces:
      Standard:
        start: 
          implementation: image
    capabilities:
      host:
        type: onap.capabilities.Container
    requirements:
      - cpu:
          capability: onap.capabilities.infrastructure.CPU:
          occurrences: [0..UNBOUNDED]
      - memory:
          capability: onap.capabilities.infrastructure.Memory:
          occurrences: [0..UNBOUNDED]
      - storage:
          capability: onap.capabilities.infrastructure.Storage:
          occurrences: [0..UNBOUNDED]
      - io:
          capability: onap.capabilities.infrastructure.IO:
          occurrences: [0..UNBOUNDED]
      - nic:
          capability: onap.capabilities.infrastructure.NIC:
          occurrences: [0..UNBOUNDED]


A VDU Container node in a VNF topology:

Code Block
titleVDU Container node
linenumberstrue
collapsetrue
node_templates:
  vducontainer_123:
    type: onap.nodes.sample.MyVDUMyContainer
    capabilities:
      host:  # just saying...
    requirements:
      - memory:
          node_filter:
            capabilities:
              - onap.capabilities.infrastructure.Memory:
                  properties:
                    - mem_size: {greater_or_equal: 2MB}
      
      - cpu:
          node_filter:
            capabilities:
              - onap.capabilities.infrastructure.hpa.CPU:
                  properties:
                    - schema_selector:
                        constraints:  # fixed value for this vendor
                          - equal_to: Intel64 
                    - schema_version:
                        constraints:
                          - greater_or_equal: 2.0
                    - custom_features:
                        constraints:
                          - schema: http://json.schema.url



VFCs meet VDUsContainers:

Code Block
titleVFCs meet VDUs
linenumberstrue
collapsetrue
node_templates:
  vducontainer_123:
    type: onap.nodes.VDUContainer
    capabilities:
      host:
        #....
  
  vfc_1:
    type: onap.nodes.Resource
    requirements:
      - host:
          node: vducontainer_123
          capability: host
          
  vfc_2:
    type: onap.nodes.Resource
    requirements:
      - host:
          node: vducontainer_123
          capability: host




See also: Hardware Platform Requirements

...