Versions Compared

Key

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

...

Current VNF Modeling in ETSI and SDC

SOL001 VNF (tosca.nodes.nfv.VNF)
  • from SOL001 v3.3.1+4.1.1

SDC AID DM VNF (org.openecomp.resource.abstract.nodes.VF)
  • from SDC Generic_VF.yml

org.openecomp.resource.vf.vcpeInfrastructureGwDemoApp (derived from org.openecomp.resource.abstract.nodes.VF)
namerequiredtype
namerequiredtype
namerequiredtype
descriptor_idyesstring
nf_function
string
nf_function
string
descriptor_versionyesstring
nf_role
string
nf_role
string
provideryesstring
nf_type
string
nf_type
string
product_nameyesstring
nf_naming_code
string
nf_name_code
string
software_versionyesstring
nf_naming
org.openecomp.datatyhpes.Naming
nf_naming
org.openecomp.datatyhpes.Naming
product_info_nameno string
availability_zone_max_count
integer
availablity_zone_max_count
integer
vnfm_infoyeslist of string
min_instances
integer
min_instances
integer
localization_languagesnolist of string
max_instances
integer
max_instances
integer
default_localization_languageno string
multi_stage_design
boolean
multi_stage_design
boolean
configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties
sdnc_model_name
string
vf_module_idno
modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes
sdnc_artifact_name
string
vcpe_image_nameno
lcm_operations_configuraionnotosca.datatypes.nfv.VnfLcmOperationsConfiguration
skip_post_instantiation_configuration

boolean (default true)

  • constraints : true, false

public_net_idno
monitoring_parametersnolist of tosca.dataypes.nfv.VnfMonitoringParameter
controller_actor

string (default: SO-REF-DATA)

  • constraints: SO-REF-DATA, CDS, SDNC, APPC

vgw_name_0no
flavour_idyesstring




nexus_artifact_repono
flavour_descriptionyesstring




mux_ip_addrno
vnf_profilenotosca.datatyhpes.nfv.VnfProfile




vnf_idno

mciop_profile

nolist of tosca.datatypes.nfv.MciopProfile




cpe_public_net_cidrno








vg_vgmux_tunnel_vnino








nf_namingno








multi_stage_designno
<tosca.datatypes.nfv.VnfProfile>






nf_naming_codeno
instantiation_levelnostring




vgw_private_ip_0no
min_number_of_instancesyesinteger




vgw_private_ip_1no
max_number_of_instancesyesinteger




vgw_private_ip_2no








pub_keyno








install_script_versionno








onap_private_net_cidrno








cpe_public_net_idno








mux_gw_private_net_idno








dcae_collector_ipno








dcae_collector_portno








onap_private_net_idno








cloud_envno

Solutions:

There are two options. For now, we chose the option A. The option B is under discussion.

...

  • Make the org.openecomp.resource.abstract.nodes.ETSI.VNF a superset of both tosca.nodes.nfv.VNF and org.openecomp.resource.abstract.node.VF
  • During VNF onboarding, SDC copies SOL001 VNF attribute contents to the corresponding attributes in the org.openecomp.resource.abstract.nodes.ETSI.VNF
    • In GuilinHonolulu, SO NFVO, VFC and SVNFM get those SOL001 VNF attributes from the descriptor, not from AAI. So, AAI schema changes are not expected in GuilinHonolulu.
  • SOL001 VNF attributes in SDC AID DM VNF will be visible to SDC UI, so SDC UI can change the attributes.
    • But the onboarded vendor ETSI package will note be changed by the SDC UI users in GuilinHonolulu.
    • Since SO NFVO, VFC and SVNFM use only the original ETSI package, those changes will not be used in GuilinHonolulu;
    • For the Honolulu release, it is under consideration
      • to sync up between those modified SOL001 VNF attributes and the vendor ETSI Package attributes 
      • to reflect those modified SOL001 VNF attributes in the orchestration
  • ONAP specific attributes that are inherited from the org.openecomp.resource.abstract.nodes.VF will be filled up by SDC (design time)
    • Those attribute contents will not be mapped back into the SOL001 VNF (reverse mapping). For that case, only the SOL001 VNF corresponding attributes will be copied


SOL001 VNF (tosca.nodes.nfv.VNF)

Mapping

New SDC AID DM VNF (org.openecomp.resource.abstract.nodes.ETSI.VNF)

derived from org.openecomp.resource.abstract.nodes.VF

namerequiredtype
namerequiredtype
<SOL001 tosca.nodes.nfv.VNF attributes >


<SOL001 tosca.nodes.nfv.VNF attributes >

descriptor_idyesstring<-->descriptor_idyesstring
descriptor_versionyesstring<-->descriptor_versionyesstring
provideryesstring<-->provideryesstring
product_nameyesstring<-->product_nameyesstring
software_versionyesstring<-->software_versionyesstring
product_info_nameno string<-->product_info_nameno string
vnfm_infoyeslist of string<-->vnfm_infoyeslist of string
localization_languagesnolist of string<-->localization_languagesnolist of string
default_localization_languageno string<-->default_localization_languageno string
configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties<-->configurable_propertiesnotosca.datatypes.nfv.VnfconfigurableProperties
modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes<-->modifiable_attributesnotosca.datatypes.nfv.VnfInfoModifiableAttributes
lcm_operations_configurationnotosca.datatypes.nfv.VnfLcmOperationsConfiguration<-->lcm_operations_configurationnotosca.datatypes.nfv.VnfLcmOperationsConfiguration
monitoring_parametersnolist of tosca.datatypes.nfv.VnfMonitoringParameter<-->monitoring_parametersnolist of tosca.datatypes.nfv.VnfMonitoringParameter
flavour_idyesstring<-->flavour_idyesstring
flavour_descriptionyesstring<-->flavour_descriptionyesstring
vnf_profilenotosca.datatypes.nfv.VnfProfile<-->vnf_profilenotosca.datatypes.nfv.VnfProfile
mciop_profilenolist of tosca.datatypes.nfv.MciopProfile<-->mciop_profilenolist of tosca.datatypes.nfv.MciopProfile




<SDC AID DM VF attributes that are inherited from org.openecomp.resource.abstract.nodes.VF>

<the followings are being considered>


nf_functionnostring
requirementsYes

nf_rolenostring
interfacesyestosca.interfaces.nfv.VnfLcm
nf_typenostring




nf_naming_codenostring




nf_namingnoorg.openecomp.datatypes.Naming




availability_zone_max_countnointeger




min_instancesnointeger




max_instancesnointeger




multi_stage_designnoboolean




sdnc_model_namenostring




sdnc_artifact_namenostring




skip_post_instantiation_configurationno

boolean (default true)

  • constraints: true, false




controller_actorno

string (default: SO-REF-DATA)

  • constraints: SO-REF-DATA, CDS, SDNC, APPC









SOL001 VDU mapping to/from VNF SDC AID DM VFC

...

  • no 1:1 mapping
  • note: the SDC AID DM VFC represents design-time VFC (like VDU), not VFC instances in runtime
SOL001 VDU

SDC AID DM VFC (org.openecomp.resource.abstract.nodes.VFC)

NameRequiredTypeNameRequiredType
nameyesstringnfc_function
string
descriptionyesstringhigh_availabilitynostring
boot_ordernobooleanvm_image_name
string
nfvi_constraintsnomap of stringvm_flavor_nameyesstring
monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameternfc_naming_codenostring
configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurablePropertiesvm_type_tagnostring
boot_datanotosca.datatypes.nfv.BootDatanfc_naming

org.openecomp.datatypes.Naming

  • ONAP_generated_naming: yes: boolean
  • naming_policy: no: string
  • instance_name: no: string
vdu_profileyestosca.datatypes.nfv.VduProfilemin_instancesnointeger
sw_image_datanotosca.datatypes.nfv.SwImageData








Solutions for VDU and VFC mapping

  • Make the org.openecomp.resource.abstract.nodes.ETSI.VFC a superset of both tosca.nodes.nfv.Vdu and org.openecomp.resource.abstract.nodes.VFC
  • Note: the org.openecomp.resource.abstract.nodes.VFC represents design-time VFC, not VFC instances
  • During VNF onboarding, SDC copies SOL001 VDU attribute contents to the corresponding attributes in the org.openecomp.resource.abstract.nodes.ETSI.VFC
    • In GuilinHonolulu, SO NFVO, VFC and SVNFM get those SOL001 VDU attributes from the descriptor, not from AAI. So, AAI schema changes are not expected in GuilinHonolulu.
  • SOL001 VDU attributes in SDC AID DM VNF will be visible to SDC UI, so SDC UI can change the attributes.
    • But the onboarded vendor ETSI package will note be changed by the SDC UI users in GuilinHonolulu.
    • Since SO NFVO, VFC and SVNFM use only the original ETSI package, those changes will not be used in GuilinHonolulu;
    • For the Honolulu release, it is under consideration
      • to sync up between those modified SOL001 VDU attributes and the vendor ETSI Package attributes 
      • to reflect those modified SOL001 VDU / VFC attributes in the orchestration

New SDC AID DM VFC type (org.openecomp.resource.abstract.nodes.ETSI.VFC)

SOL001 VDU

Mapping

org.openecomp.resource.abstract.nodes.ETSI.VFC

(derived from org.openecomp.resource.abstract.nodes.VFC)



NameRequiredType<-->NameRequiredType
nameyesstring<-->nameyesstring
descriptionyesstring<-->descriptionyesstring
boot_ordernoboolean<-->boot_ordernoboolean
nfvi_constraintsnomap of string<-->nfvi_constraintsnomap of string
monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameter<-->monitoring_parametersnolist of tosca.datatypes.nfv.VnfcMonitoringParameter
configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurableProperties<-->configurable_propertiesnomap of tosca.datatypes.nfv.VnfcConfigurableProperties
boot_datanotosca.datatypes.nfv.BootData<-->boot_datanotosca.datatypes.nfv.BootData
vdu_profileyestosca.datatypes.nfv.VduProfile<-->vdu_profileyestosca.datatypes.nfv.VduProfile
sw_image_datanotosca.datatypes.nfv.SwImageData<-->sw_image_datanotosca.datatypes.nfv.SwImageData




<SDC AID DM VFC attributes that are inherited from the org.openecomp.resource.abstract.nodes.VFC>





nfc_functionnostring




high_availabilitynostring




vm_image_namenostring




vm_flavor_namenostring




nfc_naming_codenostring




vm_type_tagnostring




nfc_namingno

org.openecomp.datatypes.Naming

  • ONAP_generated_naming: yes: boolean
  • naming_policy: no: string
  • instance_name: no: string




min_instancesnointeger

SOL001 3.3.1 VNFD Mapping from/to SDC AID DM VNFD

...

SOL001 VNFD mapping to/from SDC AID DM VFD


SOL001 VNFD
SDC AID DM VFD
NameGrammar
NameGrammar
tosca_definitions_version

string

(tosca_simple_yaml_1_3)


tosca_definitions_version

string

(tosca_simple_yaml_1_3)

descriptionstring
descriptionstring
metadatamap of <string>
metadatamap of <string>
imports

Single-line grammar

  • <URI_1>
  • <URI_2>

Multi-line grammar

  • file: <file_URI>
  • repository: <repository name>
  • namespace_uri: <definition_namespace_uri> # deprecated
  • namespace_prefix: <definition_namespace_prefix>

importsIdentifies the lower level models (VFC, CP, VL, heat)
data_types

<data_type_name>:

derived_from: <existing_type_name>

version: <version_number>

metadata:

<map of string>

description: <datatype_description>

constraints:

- <type_constraints>

properties:

<property_definitions>


data_types

<data_type_name>:

derived_from: <existing_type_name>

version: <version_number>

metadata:

<map of string>

description: <datatype_description>

constraints:

- <type_constraints>

properties:

<property_definitions>

node_types

<node_type_name>:

derived_from: <parent_node_type_name>

version: <version_number>

metadata:

<map of string>

description: <node_type_description>

attributes:

<attribute_definitions>

properties:

<property_definitions>

requirements:

- <requirement_definitions>

capabilities:

<capability_definitions>

interfaces:

<interface_definitions>

artifacts:

<artifact_definitions>


node_types

<node_type_name>:

derived_from: <parent_node_type_name>

version: <version_number>

metadata:

<map of string>

description: <node_type_description>

attributes:

<attribute_definitions>

properties:

<property_definitions>

requirements:

- <requirement_definitions>

capabilities:

<capability_definitions>

interfaces:

<interface_definitions>

artifacts:

<artifact_definitions>

topology_template

topology_template:

description: <template_description>

inputs: <input_parameter_list>

outputs: <output_parameter_list>

node_templates: <node_template_list>

relationship_templates: <relationship_template_list>

groups: <group_definition_list>

policies:

- <policy_definition_list>

workflows: <workflow_list>

# Optional declaration that exports the Topology Template

# as an implementation of a Node Type.

substitution_mappings:

<substitution_mappings>


topology_template

similar, but the following are different

  • node_templates contents
  • groups
  • workflows
  • description
string
  • description
string
  • inputs


  • inputs

<parameter name>:

type: <parameter_type>

description: <parameter_description>

required: <parameter_required>

default: <parameter_default_value>

constraints:

- <parameter_constraints>

  • node_templates

vnf: tosca.nodes.nfv.Vnf

vdu: tosca.nodes.nfv.Vdu

vl: tosca.nodes.nfv.VnfVirtualLink

vduCp: tosca.nodes.nfv.VduCp

vduCompute: tosca.nodes.nfv.Vdu.Compute


  • node_templates

vfc:

    type: org.openecomp.resources.vfc.<>

vl:

    type: org.openecomp.resources.vl.<>

cp: 

    type: org.openecomp.resources.cp.<>

allotted_resource:

    type: org.openecomp.resource.allottedResource.<>





  • workflows
<workflow name>

policies

  • scaling aspect

tosca.datatypes.nfv.ScalingAspect

  • description
  • properties
    • name:
    • description
    • max_scale_level:
    • step_deltas:

  • groups

list of VF Modules

VFModule_Base:

    type: org.openecomp.groups.VfModule

VFModule_Expansion:

    type: org.openecomp.groups.VfModule




  • policies
optional list of policies
substitution_mappings

substitution_mappings
  • node_type


  • node_type

  • capabilities

<capability_type_name>:

derived_from: <parent_capability_type_name>

version: <version_number>

description: <capability_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

valid_source_types: [ <node type_names> ]


capabilities

<capability_type_name>:

derived_from: <parent_capability_type_name>

version: <version_number>

description: <capability_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

valid_source_types: [ <node type_names> ]

  • requirements


  • requirements

groupnot defined
group

<group_type_name>:

derived_from: <parent_group_type_name>

version: <version_number>

metadata:

<map of string>

description: <group_description>

properties:

<property_definitions>

members: [ <list_of_valid_member_types> ]

requirements:

- <requirement_definitions>

capabilities:

policy

only the Abstract.SecurityGroupRule policy type is defined

  • not sure if we can map this into SDC AID DM

policy

<policy_type_name>:

derived_from: <parent_policy_type_name>

version: <version_number>

metadata:

<map of string>

description: <policy_description>

properties:

<property_definitions>

targets: [ <list_of_valid_target_types> ]

triggers:

<list_of_trigger_definitions>

relationship

tosca.relationships.nfv.VirtualBindsTo

tosca.relationships.nfv.AttachesTo


relationship

<relationship_type_name>:

derived_from: <parent_relationship_type_name>

version: <version_number>

metadata:

<map of string>

description: <relationship_description>

properties:

<property_definitions>

attributes:

<attribute_definitions>

interfaces:

<interface_definitions>

valid_target_types: [ <capability_type_names> ]




annotation_type

<annotation_type_name>:

version: <version_number>

description: <annotation_type_description>

properties:

<property_definitions>




annotation

<annotation_name>:

type: <annotation_type>

properties:

<property_assignments>






VF-Module Initial Input 

The following is a summary of initial input from Gil Bullard (AT&T).

...

  • SDC deduces the VF-Module from the SOL001 VNFD Policies>scaling_aspects>properties>aspects
  • Additional VF-Module attributes are deduced as the following table
  • SOL003 Adapter may need to transform the VF-Module back to the SOL001 VNFD policies for the scaling and healing requests from VNFM(s) – not part of Guilin 


Gliffy Diagram
nameONAP ETSI-Alignment VF-Module Mapping - Honolulu
pageid84670318

org.openecomp.group.VfModule Attribute and SOL001 VNF Policies deduction

NameRequiredTypeSOL001 VNFD Policies
vf_module_typeyes

string

valid values: Base, Expansion

Base

default: Base

vf_module_labelyesstringaspects: <A>
min_vf_module_instancesyesinteger

initial_delta: 0

max_vf_module_instancesnointegermax_scale_level
initial_countyesinteger

initial_data:

  number_of_instances

vf_module_descriptionnostring

aspects: 

  description

volume_groupyesBooleandefault to false
group_namingnoorg.openecomp.datatypes.Namingoptional field, leave it empty