summaryrefslogtreecommitdiffstats
path: root/docs/refspec/open-o/vnfd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/refspec/open-o/vnfd')
-rwxr-xr-xdocs/refspec/open-o/vnfd/README.md27
-rw-r--r--docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml429
-rw-r--r--docs/refspec/open-o/vnfd/tosca_definition_1.0.yaml892
-rw-r--r--docs/refspec/open-o/vnfd/vNAT.yaml140
-rw-r--r--docs/refspec/open-o/vnfd/vnfd-template.rst39
5 files changed, 39 insertions, 1488 deletions
diff --git a/docs/refspec/open-o/vnfd/README.md b/docs/refspec/open-o/vnfd/README.md
deleted file mode 100755
index c3b60c8..0000000
--- a/docs/refspec/open-o/vnfd/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright 2017 ZTE Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-1.nfv vnfd type definiton include three layer profile definitions.
-
- A.simple tosca profle : tosca_definition_1.0.yaml
- refer:http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/os/TOSCA-Simple-Profile-YAML-v1.0-os.docx
-
- B.tosca nfv profile : tosca-simple-nfv-1.1.yaml
- refer: draft-tosca-nfv-v1.0-wd04-rev06.doc
-
- C.openo extension profile: In the future
-
-2.nfv vnfd service template should import the profiles above. \ No newline at end of file
diff --git a/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml b/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml
deleted file mode 100644
index 679b917..0000000
--- a/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml
+++ /dev/null
@@ -1,429 +0,0 @@
-#
-# Copyright (c) 2017 ZTE All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-
-data_types:
-
- tosca.datatypes.nfv.L3AddressData:
- derived_from: tosca.datatypes.Root
- properties:
- ip_address_assignment:
- type: boolean
- required: true
- floating_ip_activated:
- type: boolean
- required: true
- ip_address_type:
- type: string
- required: false
- constraints:
- - valid_values: [ipv4, ipv6]
- number_of_ip_address:
- type: integer
- required: false
-
- tosca.datatypes.nfv.AddressData:
- derived_from: tosca.datatypes.Root
- properties:
- address_type:
- type: string
- required: true
- constraints:
- - valid_values: [mac_address, ip_address]
- #l2_address_data:
- # type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3"
- # required: false
- l3_address_data:
- type: tosca.datatypes.nfv.L3AddressData
- required: false
-
- tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: false
- description:
- type: string
- required: false
- support_mandatory:
- type: boolean
- required: true
- requirement:
- type: map # not specified
- required: true
- entry_schema:
- type: string
-
- tosca.datatypes.nfv.ConnectivityType:
- derived_from: tosca.datatypes.Root
- properties:
- layer_protocol:
- type: string
- required: yes
- constraints:
- - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
- flow_pattern:
- type: string
- required: false
- #line tree mesh
-
- tosca.datatypes.nfv.RequestedAdditionalCapability:
- derived_from: tosca.datatypes.Root
- properties:
- #name:
- # key of containing map
- support_mandatory:
- type: boolean
- required: true
- min_requested_additional_capability_version:
- type: string
- required: false
- preferred_requested_additional_capability_version:
- type: string
- required: false
- requested_additional_capability_name:
- type: string
- required: true
- target_performance_parameters:
- type: map
- entry_schema:
- type: string
- required: true
-
- tosca.datatypes.nfv.VirtualMemory:
- derived_from: tosca.datatypes.Root
- properties:
- virtual_mem_size:
- type: scalar-unit.size # Number
- required: true
- virtual_mem_oversubscription_policy:
- type: string
- required: false
- numa_enabled:
- type: boolean
- required: false
-
- tosca.datatypes.nfv.VirtualCpu:
- derived_from: tosca.datatypes.Root
- properties:
- cpu_architecture:
- type: string
- required: false
- num_virtual_cpu:
- type: integer
- required: true
- virtual_cpu_clock:
- type: scalar-unit.frequency
- required: false
- virtual_cpu_oversubscription_policy:
- type: string
- required: false
- virtual_cpu_pinning:
- type: tosca.datatypes.nfv.VirtualCpuPinning
- required: false
-
- tosca.datatypes.nfv.VirtualCpuPinning:
- derived_from: tosca.datatypes.Root
- properties:
- cpu_pinning_policy:
- type: string # CpuPinningPolicy
- constraints:
- - valid_values: [ static, dynamic ]
- required: false
- cpu_pinning_map:
- type: map
- entry_schema:
- type: string
- required: false
-
- tosca.datatypes.nfv.VnfcConfigurableProperties:
- derived_from: tosca.datatypes.Root
- properties:
- additional_vnfc_configurable_properties:
- type: map
- entry_schema:
- type: string
- required: false
-
-node_types:
- tosca.nodes.nfv.VDU.Compute:
- derived_from: tosca.nodes.Compute
- properties:
- name:
- type: string
- required: true
- description:
- type: string
- required: true
- boot_order:
- type: list # explicit index (boot index) not necessary, contrary to IFA011
- entry_schema:
- type: string
- required: false
- nfvi_constraints:
- type: list
- entry_schema:
- type: string
- required: false
- configurable_properties:
- type: map
- entry_schema:
- type: tosca.datatypes.nfv.VnfcConfigurableProperties
- required: true
- #attributes:
- # private_address:
- # status: deprecated
- # public_address:
- # status: deprecated
- # networks:
- # status: deprecated
- # ports:
- # status: deprecated
- capabilities:
- virtual_compute:
- type: tosca.capabilities.nfv.VirtualCompute
- virtual_binding:
- type: tosca.capabilities.nfv.VirtualBindable
- #monitoring_parameter:
- # modeled as ad hoc (named) capabilities in VDU node template
- # for example:
- #capabilities:
- # cpu_load: tosca.capabilities.nfv.Metric
- # memory_usage: tosca.capabilities.nfv.Metric
- #host: #Editor note: FFS. How this capabilities should be used in NFV Profile
- # type: tosca.capabilities.Container
- # valid_source_types: [tosca.nodes.SoftwareComponent]
- # occurrences: [0,UNBOUNDED] #note: [0,0]
- #endpoint:
- # occurrences: [0,0]
- #os:
- # occurrences: [0,0]
- scalable: #Editor note: FFS. How this capabilities should be used in NFV Profile
- type: tosca.capabilities.Scalable
- #binding:
- # occurrences: [0,UNBOUND]
- requirements:
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- relationship: tosca.relationships.nfv.VDU.AttachedTo
- node: tosca.nodes.nfv.VDU.VirtualStorage
- #occurences: [ 0, UNBOUNDED ]
- # - local_storage: #For NFV Profile, this requirement is deprecated.
- # occurrences: [0,0]
- #artifacts:
- # - sw_image:
- #file:
- # type: tosca.artifacts.nfv.SwImage
-
- tosca.nodes.nfv.VDU.VirtualStorage:
- derived_from: tosca.nodes.Root
- properties:
- #id:
- # node name
- type_of_storage:
- type: string
- required: true
- size_of_storage:
- type: scalar-unit.size
- required: true
- rdma_enabled:
- type: boolean
- required: false
- capabilities:
- virtual_storage:
- type: tosca.capabilities.nfv.VirtualStorage
- #artifacts:
- # - sw_image:
- # file:
- # type: tosca.artifacts.Deployment.Image
-
- tosca.nodes.nfv.Cpd:
- derived_from: tosca.nodes.Root
- properties:
- layer_protocol:
- type: string
- constraints:
- - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
- required: true
- role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
- type: string
- constraints:
- - valid_values: [ root, leaf ]
- required: false
- description:
- type: string
- required: false
- address_data:
- type: list
- entry_schema:
- type: tosca.datatypes.nfv.AddressData
- required: false
-
- tosca.nodes.nfv.VduCpd:
- derived_from: tosca.nodes.nfv.Cpd
- properties:
- bitrate_requirement:
- type: integer
- required: false
- virtual_network_interface_requirements:
- type: list
- entry_schema:
- type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
- required: false
- requirements:
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: tosca.nodes.nfv.VnfVirtualLinkDesc
- - virtual_binding:
- capability: tosca.capabilities.nfv.VirtualBindable
- relationship: tosca.relationships.nfv.VirtualBindsTo
- node: tosca.nodes.nfv.VDU.Compute #tosca.nodes.nfv.VDU
-
- tosca.nodes.nfv.VnfVirtualLinkDesc:
- derived_from: tosca.nodes.Root
- properties:
- connectivity_type:
- type: tosca.datatypes.nfv.ConnectivityType
- required: true
- description:
- type: string
- required: false
- test_access:
- type: list
- entry_schema:
- type: string
- required: false
- vl_flavours:
- type: map
- entry_schema:
- type: string #tosca.datatypes.nfv.VlFlavour
- required: true
- capabilities:
- #monitoring_parameters:
- # modeled as ad hoc (named) capabilities in node template
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
-
- tosca.nodes.nfv.VNF:
- description: >-
- The NFV VNF Node Type represents a Virtual Network Function as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default
- type that all other VNF Node Types derive from. This allows for all VNF nodes to have a consistent set of features for
- modeling and management (e.g., consistent definitions for requirements, capabilities and lifecycle interfaces).
- derived_from: tosca.nodes.Root
- properties:
- id:
- description: >-
- ID of this VNF.
- type: string
- vendor:
- description: >-
- Name of the vendor who generate this VNF.
- type: string
- version:
- description: >-
- Version of the software for this VNF.
- type: string
- requirements:
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
-
-capability_types:
-
- tosca.capabilities.nfv.Metric:
- derived_from: tosca.capabilities.Endpoint
-
- tosca.capabilities.nfv.VirtualStorage: #new
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.VirtualBindable: #new
- derived_from: tosca.capabilities.Node
-
- tosca.capabilities.nfv.VirtualLinkable: #new
- derived_from: tosca.capabilities.Node
-
-
- tosca.capabilities.nfv.VirtualCompute:
- derived_from: tosca.capabilities.Root
- properties:
- requested_additional_capabilities:
- type: map
- entry_schema:
- type: tosca.datatypes.nfv.RequestedAdditionalCapability
- required: false
- virtual_memory:
- type: tosca.datatypes.nfv.VirtualMemory
- required: true
- virtual_cpu:
- type: tosca.datatypes.nfv.VirtualCpu
- required: true
-
-artifact_types:
-
- tosca.artifacts.nfv.SwImage:
- derived_from: tosca.artifacts.Deployment.Image
- properties: # or metadata
- #id:
- # node name
- name:
- type: string
- required: true
- version:
- type: string
- required: true
- checksum:
- type: string
- required: true
- container_format:
- type: string
- required: true
- disk_format:
- type: string
- required: true
- min_disk:
- type: scalar-unit.size # Number
- required: true
- min_ram:
- type: scalar-unit.size # Number
- required: false
- size:
- type: scalar-unit.size # Number
- required: true
- sw_image:
- type: string
- required: true
- operating_system:
- type: string
- required: false
- supported_virtualisation_environments:
- type: list
- entry_schema:
- type: string
- required: false
-
-relationship_types:
-
- tosca.relationships.nfv.VirtualBindsTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.nfv.VirtualBindable]
-
- tosca.relationships.nfv.VDU.AttachedTo:
- derived_from: tosca.relationships.AttachesTo
-
- tosca.relationships.nfv.VirtualLinksTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
diff --git a/docs/refspec/open-o/vnfd/tosca_definition_1.0.yaml b/docs/refspec/open-o/vnfd/tosca_definition_1.0.yaml
deleted file mode 100644
index 2b87bc4..0000000
--- a/docs/refspec/open-o/vnfd/tosca_definition_1.0.yaml
+++ /dev/null
@@ -1,892 +0,0 @@
-#
-# Copyright 2017 ZTE Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-node_types:
- tosca.nodes.Root:
- description: >
- The TOSCA root node all other TOSCA base node types derive from.
- attributes:
- tosca_id:
- type: string
- tosca_name:
- type: string
- state:
- type: string
- capabilities:
- feature:
- type: tosca.capabilities.Node
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: tosca.nodes.Root
- relationship: tosca.relationships.DependsOn
- occurrences: [ 0, UNBOUNDED ]
- interfaces:
- Standard:
- type: tosca.interfaces.node.lifecycle.Standard
-
- tosca.nodes.Compute:
- derived_from: tosca.nodes.Root
- attributes:
- private_address:
- type: string
- public_address:
- type: string
- networks:
- type: map
- entry_schema:
- type: tosca.datatypes.network.NetworkInfo
- ports:
- type: map
- entry_schema:
- type: tosca.datatypes.network.PortInfo
- capabilities:
- host:
- type: tosca.capabilities.Container
- binding:
- type: tosca.capabilities.network.Bindable
- os:
- type: tosca.capabilities.OperatingSystem
- scalable:
- type: tosca.capabilities.Scalable
- requirements:
- - local_storage:
- capability: tosca.capabilities.Attachment
- node: tosca.nodes.BlockStorage
- relationship: tosca.relationships.AttachesTo
- occurrences: [0, UNBOUNDED]
-
- tosca.nodes.SoftwareComponent:
- derived_from: tosca.nodes.Root
- properties:
- # domain-specific software component version
- component_version:
- type: version
- required: false
- description: >
- Software component version.
- admin_credential:
- type: tosca.datatypes.Credential
- required: false
- requirements:
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.Compute
- relationship: tosca.relationships.HostedOn
-
- tosca.nodes.DBMS:
- derived_from: tosca.nodes.SoftwareComponent
- properties:
- port:
- required: false
- type: integer
- description: >
- The port the DBMS service will listen to for data and requests.
- root_password:
- required: false
- type: string
- description: >
- The root password for the DBMS service.
- capabilities:
- host:
- type: tosca.capabilities.Container
- valid_source_types: [tosca.nodes.Database]
-
- tosca.nodes.Database:
- derived_from: tosca.nodes.Root
- properties:
- user:
- required: false
- type: string
- description: >
- User account name for DB administration
- port:
- required: false
- type: integer
- description: >
- The port the database service will use to listen for incoming data and requests.
- name:
- required: false
- type: string
- description: >
- The name of the database.
- password:
- required: false
- type: string
- description: >
- The password for the DB user account
- requirements:
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.DBMS
- relationship: tosca.relationships.HostedOn
- capabilities:
- database_endpoint:
- type: tosca.capabilities.Endpoint.Database
-
- tosca.nodes.WebServer:
- derived_from: tosca.nodes.SoftwareComponent
- capabilities:
- data_endpoint:
- type: tosca.capabilities.Endpoint
- admin_endpoint:
- type: tosca.capabilities.Endpoint.Admin
- host:
- type: tosca.capabilities.Container
- valid_source_types: [tosca.nodes.WebApplication]
-
- tosca.nodes.WebApplication:
- derived_from: tosca.nodes.Root
- properties:
- context_root:
- type: string
- required: false
- requirements:
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.WebServer
- relationship: tosca.relationships.HostedOn
- capabilities:
- app_endpoint:
- type: tosca.capabilities.Endpoint
-
- tosca.nodes.BlockStorage:
- derived_from: tosca.nodes.Root
- properties:
- size:
- type: scalar-unit.size
- constraints:
- - greater_or_equal: 1 MB
- volume_id:
- type: string
- required: false
- snapshot_id:
- type: string
- required: false
- attributes:
- volume_id:
- type: string
- capabilities:
- attachment:
- type: tosca.capabilities.Attachment
-
- tosca.nodes.network.Network:
- derived_from: tosca.nodes.Root
- description: >
- The TOSCA Network node represents a simple, logical network service.
- properties:
- ip_version:
- type: integer
- required: false
- default: 4
- constraints:
- - valid_values: [ 4, 6 ]
- description: >
- The IP version of the requested network. Valid values are 4 for ipv4
- or 6 for ipv6.
- cidr:
- type: string
- required: false
- description: >
- The cidr block of the requested network.
- start_ip:
- type: string
- required: false
- description: >
- The IP address to be used as the start of a pool of addresses within
- the full IP range derived from the cidr block.
- end_ip:
- type: string
- required: false
- description: >
- The IP address to be used as the end of a pool of addresses within
- the full IP range derived from the cidr block.
- gateway_ip:
- type: string
- required: false
- description: >
- The gateway IP address.
- network_name:
- type: string
- required: false
- description: >
- An identifier that represents an existing Network instance in the
- underlying cloud infrastructure or can be used as the name of the
- newly created network. If network_name is provided and no other
- properties are provided (with exception of network_id), then an
- existing network instance will be used. If network_name is provided
- alongside with more properties then a new network with this name will
- be created.
- network_id:
- type: string
- required: false
- description: >
- An identifier that represents an existing Network instance in the
- underlying cloud infrastructure. This property is mutually exclusive
- with all other properties except network_name. This can be used alone
- or together with network_name to identify an existing network.
- segmentation_id:
- type: string
- required: false
- description: >
- A segmentation identifier in the underlying cloud infrastructure.
- E.g. VLAN ID, GRE tunnel ID, etc..
- network_type:
- type: string
- required: false
- description: >
- It specifies the nature of the physical network in the underlying
- cloud infrastructure. Examples are flat, vlan, gre or vxlan.
- For flat and vlan types, physical_network should be provided too.
- physical_network:
- type: string
- required: false
- description: >
- It identifies the physical network on top of which the network is
- implemented, e.g. physnet1. This property is required if network_type
- is flat or vlan.
- dhcp_enabled:
- type: boolean
- required: false
- default: true
- description: >
- Indicates should DHCP service be enabled on the network or not.
- capabilities:
- link:
- type: tosca.capabilities.network.Linkable
-
- tosca.nodes.network.Port:
- derived_from: tosca.nodes.Root
- description: >
- The TOSCA Port node represents a logical entity that associates between
- Compute and Network normative types. The Port node type effectively
- represents a single virtual NIC on the Compute node instance.
- properties:
- ip_address:
- type: string
- required: false
- description: >
- Allow the user to set a static IP.
- order:
- type: integer
- required: false
- default: 0
- constraints:
- - greater_or_equal: 0
- description: >
- The order of the NIC on the compute instance (e.g. eth2).
- is_default:
- type: boolean
- required: false
- default: false
- description: >
- If is_default=true this port will be used for the default gateway
- route. Only one port that is associated to single compute node can
- set as is_default=true.
- ip_range_start:
- type: string
- required: false
- description: >
- Defines the starting IP of a range to be allocated for the compute
- instances that are associated with this Port.
- ip_range_end:
- type: string
- required: false
- description: >
- Defines the ending IP of a range to be allocated for the compute
- instances that are associated with this Port.
- attributes:
- ip_address:
- type: string
- requirements:
- - binding:
- description: >
- Binding requirement expresses the relationship between Port and
- Compute nodes. Effectively it indicates that the Port will be
- attached to specific Compute node instance
- capability: tosca.capabilities.network.Bindable
- relationship: tosca.relationships.network.BindsTo
- node: tosca.nodes.Compute
- - link:
- description: >
- Link requirement expresses the relationship between Port and Network
- nodes. It indicates which network this port will connect to.
- capability: tosca.capabilities.network.Linkable
- relationship: tosca.relationships.network.LinksTo
- node: tosca.nodes.network.Network
-
- tosca.nodes.ObjectStorage:
- derived_from: tosca.nodes.Root
- description: >
- The TOSCA ObjectStorage node represents storage that provides the ability
- to store data as objects (or BLOBs of data) without consideration for the
- underlying filesystem or devices
- properties:
- name:
- type: string
- required: true
- description: >
- The logical name of the object store (or container).
- size:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 GB
- description: >
- The requested initial storage size.
- maxsize:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 GB
- description: >
- The requested maximum storage size.
- capabilities:
- storage_endpoint:
- type: tosca.capabilities.Endpoint
-
- tosca.nodes.LoadBalancer:
- derived_from: tosca.nodes.Root
- properties:
- algorithm:
- type: string
- required: false
- status: experimental
- capabilities:
- client:
- type: tosca.capabilities.Endpoint.Public
- occurrences: [0, UNBOUNDED]
- description: the Floating (IP) client’s on the public network can connect to
- requirements:
- - application:
- capability: tosca.capabilities.Endpoint
- relationship: tosca.relationships.RoutesTo
- occurrences: [0, UNBOUNDED]
- description: Connection to one or more load balanced applications
-
- tosca.nodes.Container.Application:
- derived_from: tosca.nodes.Root
- requirements:
- - host:
- capability: tosca.capabilities.Container
- node: tosca.nodes.Container.Runtime
- relationship: tosca.relationships.HostedOn
-
- tosca.nodes.Container.Runtime:
- derived_from: tosca.nodes.SoftwareComponent
- capabilities:
- host:
- type: tosca.capabilities.Container
- scalable:
- type: tosca.capabilities.Scalable
-
- tosca.nodes.Container.Application.Docker:
- derived_from: tosca.nodes.Container.Application
- requirements:
- - host:
- capability: tosca.capabilities.Container.Docker
-
-relationship_types:
- tosca.relationships.Root:
- description: >
- The TOSCA root Relationship Type all other TOSCA base Relationship Types
- derive from.
- attributes:
- tosca_id:
- type: string
- tosca_name:
- type: string
- interfaces:
- Configure:
- type: tosca.interfaces.relationship.Configure
-
- tosca.relationships.DependsOn:
- derived_from: tosca.relationships.Root
-
- tosca.relationships.HostedOn:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.Container ]
-
- tosca.relationships.ConnectsTo:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.Endpoint ]
- credential:
- type: tosca.datatypes.Credential
- required: false
-
- tosca.relationships.AttachesTo:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.Attachment ]
- properties:
- location:
- required: true
- type: string
- constraints:
- - min_length: 1
- device:
- required: false
- type: string
-
- tosca.relationships.RoutesTo:
- derived_from: tosca.relationships.ConnectsTo
- valid_target_types: [ tosca.capabilities.Endpoint ]
-
- tosca.relationships.network.LinksTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.network.Linkable ]
-
- tosca.relationships.network.BindsTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.network.Bindable ]
-
-capability_types:
- tosca.capabilities.Root:
- description: >
- The TOSCA root Capability Type all other TOSCA base Capability Types
- derive from.
-
- tosca.capabilities.Node:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.Container:
- derived_from: tosca.capabilities.Root
- properties:
- num_cpus:
- required: false
- type: integer
- constraints:
- - greater_or_equal: 1
- cpu_frequency:
- required: false
- type: scalar-unit.frequency
- constraints:
- - greater_or_equal: 0.1 GHz
- disk_size:
- required: false
- type: scalar-unit.size
- constraints:
- - greater_or_equal: 0 MB
- mem_size:
- required: false
- type: scalar-unit.size
- constraints:
- - greater_or_equal: 0 MB
-
- tosca.capabilities.Endpoint:
- derived_from: tosca.capabilities.Root
- properties:
- protocol:
- type: string
- required: true
- default: tcp
- port:
- type: tosca.datatypes.network.PortDef
- required: false
- secure:
- type: boolean
- required: false
- default: false
- url_path:
- type: string
- required: false
- port_name:
- type: string
- required: false
- network_name:
- type: string
- required: false
- initiator:
- type: string
- required: false
- default: source
- constraints:
- - valid_values: [source, target, peer]
- ports:
- type: map
- required: false
- constraints:
- - min_length: 1
- entry_schema:
- type: tosca.datatypes.network.PortSpec
- attributes:
- ip_address:
- type: string
-
- tosca.capabilities.Endpoint.Admin:
- derived_from: tosca.capabilities.Endpoint
- properties:
- secure:
- type: boolean
- default: true
- constraints:
- - equal: true
-
- tosca.capabilities.Endpoint.Public:
- derived_from: tosca.capabilities.Endpoint
- properties:
- network_name:
- type: string
- default: PUBLIC
- constraints:
- - equal: PUBLIC
- floating:
- description: >
- Indicates that the public address should be allocated from a pool of
- floating IPs that are associated with the network.
- type: boolean
- default: false
- status: experimental
- dns_name:
- description: The optional name to register with DNS
- type: string
- required: false
- status: experimental
-
- tosca.capabilities.Scalable:
- derived_from: tosca.capabilities.Root
- properties:
- min_instances:
- type: integer
- required: true
- default: 1
- description: >
- This property is used to indicate the minimum number of instances
- that should be created for the associated TOSCA Node Template by
- a TOSCA orchestrator.
- max_instances:
- type: integer
- required: true
- default: 1
- description: >
- This property is used to indicate the maximum number of instances
- that should be created for the associated TOSCA Node Template by
- a TOSCA orchestrator.
- default_instances:
- type: integer
- required: false
- description: >
- An optional property that indicates the requested default number
- of instances that should be the starting number of instances a
- TOSCA orchestrator should attempt to allocate.
- The value for this property MUST be in the range between the values
- set for min_instances and max_instances properties.
-
- tosca.capabilities.Endpoint.Database:
- derived_from: tosca.capabilities.Endpoint
-
- tosca.capabilities.Attachment:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.network.Linkable:
- derived_from: tosca.capabilities.Root
- description: >
- A node type that includes the Linkable capability indicates that it can
- be pointed by tosca.relationships.network.LinksTo relationship type, which
- represents an association relationship between Port and Network node types.
-
- tosca.capabilities.network.Bindable:
- derived_from: tosca.capabilities.Root
- description: >
- A node type that includes the Bindable capability indicates that it can
- be pointed by tosca.relationships.network.BindsTo relationship type, which
- represents a network association relationship between Port and Compute node
- types.
-
- tosca.capabilities.OperatingSystem:
- derived_from: tosca.capabilities.Root
- properties:
- architecture:
- required: false
- type: string
- description: >
- The host Operating System (OS) architecture.
- type:
- required: false
- type: string
- description: >
- The host Operating System (OS) type.
- distribution:
- required: false
- type: string
- description: >
- The host Operating System (OS) distribution. Examples of valid values
- for an “type” of “Linux” would include:
- debian, fedora, rhel and ubuntu.
- version:
- required: false
- type: version
- description: >
- The host Operating System version.
-
- tosca.capabilities.Container.Docker:
- derived_from: tosca.capabilities.Container
- properties:
- version:
- type: list
- required: false
- entry_schema:
- type: version
- description: >
- The Docker version capability.
- publish_all:
- type: boolean
- default: false
- required: false
- description: >
- Indicates that all ports (ranges) listed in the dockerfile
- using the EXPOSE keyword be published.
- publish_ports:
- type: list
- entry_schema:
- type: PortSpec
- required: false
- description: >
- List of ports mappings from source (Docker container)
- to target (host) ports to publish.
- expose_ports:
- type: list
- entry_schema:
- type: PortSpec
- required: false
- description: >
- List of ports mappings from source (Docker container) to expose
- to other Docker containers (not accessible outside host).
- volumes:
- type: list
- entry_schema:
- type: string
- required: false
- description: >
- The dockerfile VOLUME command which is used to enable access
- from the Docker container to a directory on the host machine.
- host_id:
- type: string
- required: false
- description: >
- The optional identifier of an existing host resource
- that should be used to run this container on.
- volume_id:
- type: string
- required: false
- description: >
- The optional identifier of an existing storage volume (resource)
- that should be used to create the container's mount point(s) on.
-
-interface_types:
- tosca.interfaces.node.lifecycle.Standard:
- create:
- description: Standard lifecycle create operation.
- configure:
- description: Standard lifecycle configure operation.
- start:
- description: Standard lifecycle start operation.
- stop:
- description: Standard lifecycle stop operation.
- delete:
- description: Standard lifecycle delete operation.
-
- tosca.interfaces.relationship.Configure:
- pre_configure_source:
- description: Operation to pre-configure the source endpoint.
- pre_configure_target:
- description: Operation to pre-configure the target endpoint.
- post_configure_source:
- description: Operation to post-configure the source endpoint.
- post_configure_target:
- description: Operation to post-configure the target endpoint.
- add_target:
- description: Operation to add a target node.
- remove_target:
- description: Operation to remove a target node.
- add_source:
- description: Operation to notify the target node of a source node which
- is now available via a relationship.
- target_changed:
- description: Operation to notify source some property or attribute of the
- target changed
-
-data_types:
- tosca.datatypes.Root:
- description: >
- The TOSCA root Data Type all other TOSCA base Data Types derive from
-
- tosca.datatypes.network.NetworkInfo:
- derived_from: tosca.datatypes.Root
- properties:
- network_name:
- type: string
- network_id:
- type: string
- addresses:
- type: list
- entry_schema:
- type: string
-
- tosca.datatypes.network.PortInfo:
- derived_from: tosca.datatypes.Root
- properties:
- port_name:
- type: string
- port_id:
- type: string
- network_id:
- type: string
- mac_address:
- type: string
- addresses:
- type: list
- entry_schema:
- type: string
-
- tosca.datatypes.network.PortDef:
- derived_from: tosca.datatypes.Root
- type: integer
- constraints:
- - in_range: [ 1, 65535 ]
-
- tosca.datatypes.network.PortSpec:
- derived_from: tosca.datatypes.Root
- properties:
- protocol:
- type: string
- required: true
- default: tcp
- constraints:
- - valid_values: [ udp, tcp, igmp ]
- target:
- type: PortDef
- required: false
- target_range:
- type: range
- required: false
- constraints:
- - in_range: [ 1, 65535 ]
- source:
- type: PortDef
- required: false
- source_range:
- type: range
- required: false
- constraints:
- - in_range: [ 1, 65535 ]
-
- tosca.datatypes.Credential:
- derived_from: tosca.datatypes.Root
- properties:
- protocol:
- type: string
- required: false
- token_type:
- type: string
- default: password
- required: true
- token:
- type: string
- required: true
- keys:
- type: map
- entry_schema:
- type: string
- required: false
- user:
- type: string
- required: false
-
-artifact_types:
- tosca.artifacts.Root:
- description: >
- The TOSCA Artifact Type all other TOSCA Artifact Types derive from
- properties:
- version: version
-
- tosca.artifacts.File:
- derived_from: tosca.artifacts.Root
-
- tosca.artifacts.Deployment:
- derived_from: tosca.artifacts.Root
- description: TOSCA base type for deployment artifacts
-
- tosca.artifacts.Deployment.Image:
- derived_from: tosca.artifacts.Deployment
-
- tosca.artifacts.Deployment.Image.VM:
- derived_from: tosca.artifacts.Deployment.Image
-
- tosca.artifacts.Implementation:
- derived_from: tosca.artifacts.Root
- description: TOSCA base type for implementation artifacts
-
- tosca.artifacts.Implementation.Bash:
- derived_from: tosca.artifacts.Implementation
- description: Script artifact for the Unix Bash shell
- mime_type: application/x-sh
- file_ext: [ sh ]
-
- tosca.artifacts.Implementation.Python:
- derived_from: tosca.artifacts.Implementation
- description: Artifact for the interpreted Python language
- mime_type: application/x-python
- file_ext: [ py ]
-
- tosca.artifacts.Deployment.Image.Container.Docker:
- derived_from: tosca.artifacts.Deployment.Image
- description: Docker container image
-
- tosca.artifacts.Deployment.Image.VM.ISO:
- derived_from: tosca.artifacts.Deployment.Image
- description: Virtual Machine (VM) image in ISO disk format
- mime_type: application/octet-stream
- file_ext: [ iso ]
-
- tosca.artifacts.Deployment.Image.VM.QCOW2:
- derived_from: tosca.artifacts.Deployment.Image
- description: Virtual Machine (VM) image in QCOW v2 standard disk format
- mime_type: application/octet-stream
- file_ext: [ qcow2 ]
-
-policy_types:
- tosca.policies.Root:
- description: The TOSCA Policy Type all other TOSCA Policy Types derive from.
-
- tosca.policies.Placement:
- derived_from: tosca.policies.Root
- description: The TOSCA Policy Type definition that is used to govern
- placement of TOSCA nodes or groups of nodes.
-
- tosca.policies.Scaling:
- derived_from: tosca.policies.Root
- description: The TOSCA Policy Type definition that is used to govern
- scaling of TOSCA nodes or groups of nodes.
-
- tosca.policies.Update:
- derived_from: tosca.policies.Root
- description: The TOSCA Policy Type definition that is used to govern
- update of TOSCA nodes or groups of nodes.
-
- tosca.policies.Performance:
- derived_from: tosca.policies.Root
- description: The TOSCA Policy Type definition that is used to declare
- performance requirements for TOSCA nodes or groups of nodes.
-
-group_types:
- tosca.groups.Root:
- description: The TOSCA Group Type all other TOSCA Group Types derive from
- interfaces:
- Standard:
- type: tosca.interfaces.node.lifecycle.Standard
-
diff --git a/docs/refspec/open-o/vnfd/vNAT.yaml b/docs/refspec/open-o/vnfd/vNAT.yaml
deleted file mode 100644
index afb717c..0000000
--- a/docs/refspec/open-o/vnfd/vNAT.yaml
+++ /dev/null
@@ -1,140 +0,0 @@
-#
-# Copyright 2017 ZTE Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-metadata:
- vnfProvider: intel
- vnfProductName: openNAT
- vnfSoftwareVersion: 1.0.0
- vnfdVersion: 1.0.0
- vnfProductInfoName: openNAT
- vnfProductInfoDescription: openNAT
- localizationLanguage: [english, chinese]
- defaultLocalizationLanguage: english
- vnfdId: openNAT-1.0
- vnfmInfo: GVNFM
-
-imports:
- - defintions/tosca-simple-nfv-1.1.yaml
- - defintions/tosca-simple-1.0.yaml
-
-node_types:
- tosca.nodes.nfv.VNF.vOpenNAT:
- derived_from: tosca.nodes.nfv.VNF
- requirements:
- - sriov_plane:
- capability: tosca.capabilities.nfv.VirtualLinkable
- node: tosca.nodes.nfv.VnfVirtualLinkDesc
- relationship: tosca.relationships.nfv.VirtualLinksTo
-
-topology_template:
-
- substitution_mappings:
- node_type: tosca.nodes.nfv.VNF.vOpenNAT
- requirements:
- sriov_plane: [SRIOV_Port, virtual_link]
-
- node_templates:
- vdu_vNat:
- type: tosca.nodes.nfv.VDU.Compute
- properties:
- name: vNat
- description: the virtual machine of vNat
- boot_order:
- - vNAT_Storage
- configurable_properties:
- test:
- additional_vnfc_configurable_properties:
- aaa: "1"
-
- capabilities:
- virtual_compute:
- properties:
- virtual_cpu:
- cpu_architecture: X86
- num_virtual_cpu: 6
- virtual_memory:
- virtual_mem_size: 2 GB
- numa_enabled: true
- requested_additional_capabilities:
- numa:
- support_mandatory: true
- requested_additional_capability_name: numa
- target_performance_parameters:
- hw:numa_nodes: "2"
- hw:numa_cpus.0: "0,1"
- hw:numa_mem.0: "1024"
- hw:numa_cpus.1: "2,3,4,5"
- hw:numa_mem.1: "1024"
-
- # hyper_threading:
- # support_mandatory: true
- # requested_additional_capability_name: hyper_threading
- # target_performance_parameters:
- # hw:cpu_sockets : "2"
- # hw:cpu_threads : "2"
- # hw:cpu_cores : "2"
- # hw:cpu_threads_policy: "isolate"
-
- ovs_dpdk:
- support_mandatory: true
- requested_additional_capability_name: ovs_dpdk
- target_performance_parameters:
- sw:ovs_dpdk: "true"
- requirements:
- - virtual_storage:
- node: vNAT_Storage
- relationship:
- properties:
- location: /mnt/volume_0
-
- artifacts:
- vNatVNFImage:
- file: /swimages/xenial-snat.qcow2
- type: tosca.artifacts.nfv.SwImage
- properties:
- name: vNatVNFImage
- version: "1.0"
- checksum: "5000"
- container_format: bare
- disk_format: qcow2
- min_disk: 10 GB
- min_ram: 1 GB
- size: 10 GB
- sw_image: /swimages/xenial-snat.qcow2
- operating_system: ubuntu
-
- vNAT_Storage:
- type: tosca.nodes.nfv.VDU.VirtualStorage
- properties:
- type_of_storage: volume
- size_of_storage: 10 GB
- rdma_enabled: false
-
- SRIOV_Port:
- type: tosca.nodes.nfv.VduCpd
- properties:
- virtual_network_interface_requirements:
- - name: sriov
- description: sriov
- support_mandatory: false
- requirement:
- SRIOV: "true"
- layer_protocol: ipv4
- description: sriov port
- requirements:
- - virtual_binding: vdu_vNat
diff --git a/docs/refspec/open-o/vnfd/vnfd-template.rst b/docs/refspec/open-o/vnfd/vnfd-template.rst
new file mode 100644
index 0000000..a5f5a1e
--- /dev/null
+++ b/docs/refspec/open-o/vnfd/vnfd-template.rst
@@ -0,0 +1,39 @@
+.. contents::
+ :depth: 3
+..
+
+========================================================================
+
+Copyright 2017 ZTE Corporation.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+
+you may not use this file except in compliance with the License.
+
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+
+distributed under the License is distributed on an "AS IS" BASIS,
+
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+See the License for the specific language governing permissions and
+
+limitations under the License.
+
+========================================================================
+
+1.nfv vnfd type definiton include three layer profile definitions.
+
+ A.simple tosca profle : tosca_definition_1.0.yaml
+ refer: http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/os/TOSCA-Simple-Profile-YAML-v1.0-os.docx
+
+ B.tosca nfv profile : tosca-simple-nfv-1.1.yaml
+ refer: draft-tosca-nfv-v1.0-wd04-rev06.doc
+
+ C.openo extension profile: In the future
+
+2.nfv vnfd service template should import the profiles above.