...
Make the org.openecomp.resource.abstract.nodes.VF a superset of both tosca.nodes.nfv.VNF and org.openecomp.resource.abstract.node.VF
New SDC AID DM VNF (org.openecomp.resource.abstract.nodes.VF) | ||
---|---|---|
name | required | type |
<SOL001 tosca.nodes.nfv.VNF attributes> | ||
descriptor_id | yes | string |
descriptor_version | yes | string |
provider | yes | string |
product_name | yes | string |
software_version | yes | string |
product_info_name | no | string |
vnfm_info | yes | list of string |
localization_languages | no | list of string |
default_localization_language | no | string |
configurable_properties | no | tosca.datatypes.nfv.VnfconfigurableProperties |
modifiable_attributes | no | tosca.datatypes.nfv.VnfInfoModifiableAttributes |
lcm_operations_configuraion | no | tosca.datatypes.nfv.VnfLcmOperationsConfiguration |
monitoring_parameters | no | list of tosca.dataypes.nfv.VnfMonitoringParameter |
flavour_id | yes | string |
flavour_description | yes | string |
vnf_profile | no | tosca.datatyhpes.nfv.VnfProfile |
<SDC AID DM VF attributes> | ||
nf_function | no | string |
nf_role | no | string |
nf_type | no | string |
nf_naming_code | no | string |
nf_naming | no | org.openecomp.datatypes.Naming |
availability_zone_max_count | no | integer |
min_instances | no | integer |
max_instances | no | integer |
multi_stage_design | no | boolean |
sdnc_model_name | no | string |
sdnc_artifact_name | no | string |
skip_post_instantiation_configuration | no | boolean (default true)
|
controller_actor | no | string (default: SO-REF-DATA)
|
Proposal B
Can we use the additionalAttribute map to represent ONAP specific attributes?
New SDC AID DM VNF (org.openecomp.resource.abstract.nodes.VF) | ||
---|---|---|
name | required | type |
descriptor_id | yes | string |
descriptor_version | yes | string |
provider | yes | string |
product_name | yes | string |
software_version | yes | string |
product_info_name | no | string |
vnfm_info | yes | list of string |
localization_languages | no | list of string |
default_localization_language | no | string |
configurable_properties | no | tosca.datatypes.nfv.VnfconfigurableProperties |
modifiable_attributes | no | tosca.datatypes.nfv.VnfInfoModifiableAttributes |
lcm_operations_configuraion | no | tosca.datatypes.nfv.VnfLcmOperationsConfiguration |
monitoring_parameters | no | list of tosca.dataypes.nfv.VnfMonitoringParameter |
flavour_id | yes | string |
flavour_description | yes | string |
vnf_profile | no | tosca.datatyhpes.nfv.VnfProfile |
additionalAttribute | no (0..N) | map (string, object pair) |
SOL001 2.7.1 VNF Template
...
SOL001 VNFD | SDC AID DM VF | ||||
---|---|---|---|---|---|
Name | Grammar | Name | Grammar | ||
tosca_definitions_version | string (tosca_simple_yaml_1_2) | tosca_definitions_version | string (tosca_simple_yaml_1_2) | ||
description | string | description | string | ||
metadata | map of <string> | metadata | map of <string> | ||
imports | Single-line grammar
Multi-line grammar
| imports | Identifies 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 | |||
| string |
| string | ||
|
| <parameter name>: type: <parameter_type> description: <parameter_description> required: <parameter_required> default: <parameter_default_value> constraints: - <parameter_constraints> | |||
| 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 |
| 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.<> | ||
| <workflow name> | ||||
scaling aspect |
| list of VF Modules VFModule_Base: type: org.openecomp.groups.VfModule VFModule_Expansion: type: org.openecomp.groups.VfModule | |||
| for each VF Module, additional information is provided | ||||
substitution_mappings | substitution_mappings | ||||
|
| ||||
| <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> ] | ||
|
| ||||
Scaling aspect policy | 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 | <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 | <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> | ||||
...