Uploaded image for project: 'Service Design and Creation'
  1. Service Design and Creation
  2. SDC-2509

Descriptor Handling - Model-driven mapping from SOL001 to internal model

XMLWordPrintable

    • SDC Sprint 24

      The transformation of PNF Descriptor from the onboarded package to a ONAP VSP package is currently coded in Java. For every new transformation the code must be changed.

      Having a model-driven approach to the transformation would avoid any code change, just a change on the described transformation model.

      Currently those are the operations applied to the PNFD yaml descriptor file:

      • Change of an attribute name
      #from
      topology_template:
        node_templates:
          pnfExtCp_1:
            properties:
              layer_protocols: [...]
      
      #to
      topology_template:
        node_templates:
          pnfExtCp_1:
            properties:
              ip_requirements: [...] # attribute name changed
      
      • Change of an attribute value
      #from
      topology_template:
        node_templates:
          pnfExtCp_1:
            type: tosca.nodes.nfv.PnfExtCp        
      
      #to
      topology_template:
        node_templates:
          pnfExtCp_1:
            type: org.openecomp.resource.cp.v2.extCP #value replaced
      
      • Conversion of selected values inside a list attribute
      #from
      topology_template:
        node_templates:
          pnfExtCp_1:
            properties:
              layer_protocols: 
                  - ipv4
                  - ipv6
                  - otherProtocol
                  - yetAnotherProtocol
      #to
      topology_template:
        node_templates:
          pnfExtCp_1:
            properties:
              ip_requirements: #name changed and selected values replaced in list
                  - assingment_method: dhcp
                    ip_version: 4
                  - assingment_method: dhcp
                    ip_version: 6
      
      • Conversion of an input called by get_input TOSCA function, which combines the previous conversions and adds attribute copying.
      #from
      topology_template:  
        inputs:
          protocols:
            type: list
            description: IP protocols
            entry_schema:
              type: string
            default: 
              - ipv4
              - ipv6
              - otherProtocol
              - yetAnotherProtocol
        node_templates:
          pnfExtCp_1:
            properties:
              layer_protocols: {get_input: protocols}
      
      #to
      topology_template:  
        inputs:
          protocols:
            type: list #copied
            description: IP protocols #copied
            entry_schema:
              type: org.openecomp.datatypes.network.IpRequirements #replaced
            default: #selected values replaced in list
              - assingment_method: dhcp
                ip_version: 4
              - assingment_method: dhcp
                ip_version: 6
        node_templates:
          pnfExtCp_1:
            properties:
              ip_requirements: {get_input: protocols} # attribute name change
      

            andre.schmid andre.schmid
            andre.schmid andre.schmid
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: