diff options
author | huangsam <huangshs@163.com> | 2017-11-13 19:11:44 +0800 |
---|---|---|
committer | huangsam <huangshs@163.com> | 2017-11-13 19:11:44 +0800 |
commit | d650571280c041e0602dd93ff407dd16092a320e (patch) | |
tree | 8767d86a2421a0234941ab840dc197d2f13e7fe4 | |
parent | 49d2cac0a82887b73f167aba3ff32dea09019534 (diff) |
Convert .md to .rst, and delete .yaml file.
Change-Id: I7102b79d4669167683635d320798898f064e8f61
Issue-ID: MODELING-36
Signed-off-by: huangsam <huangshs@163.com>
16 files changed, 82 insertions, 5013 deletions
diff --git a/docs/refspec/open-o/e2e-service/e2e-service-dm.yaml b/docs/refspec/open-o/e2e-service/e2e-service-dm.yaml deleted file mode 100755 index 013991f..0000000 --- a/docs/refspec/open-o/e2e-service/e2e-service-dm.yaml +++ /dev/null @@ -1,132 +0,0 @@ -======================================================================== -Copyright 2017 OPEN-O 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 - -# ***************************************************************************** -# Global Service type definitions -# ***************************************************************************** -description: Global Service information model type definitions - -metadata: - version: 0.1 - vendor: gso - template_author: Huawei - -# ***************************************************************************** -# macros definitions -# ***************************************************************************** -dsl_definitions: - -# ***************************************************************************** -# data types -# ***************************************************************************** -data_types: - gso.datatypes.service.basicInfo: - derived_from: tosca.datatypes.Root - properties: - createTime: - type: string - description: The creation time of the service - updateTime: - type: string - description: The update time of the service - creatorId: - type: string - description: The identification of the creator - location: - type: string - description: Location of the single domain - -# ***************************************************************************** -# interface_types -# ***************************************************************************** -interface_types: - gso.interfaces.lifecycle.Standard: - derived_from: tosca.interfaces.Root - create: - description: Standard lifecycle create operation. - update: - description: Standard lifecycle configure and update operation. - instantiate: - description: Standard lifecycle instantiate operation. - terminate: - description: Standard lifecycle terminate operation. - delete: - description: Standard lifecycle delete operation. - query: - description: Standard lifecycle query operation. - scalingIn: - description: Standard lifecycle scalingIn operation. - scalingOut: - description: Standard lifecycle query operation. -# ***************************************************************************** -# capability types -# ***************************************************************************** -capability_types: - gso.capability.SingleDomainNs: - derived_from: tosca.capabilities.Root - -# ***************************************************************************** -# relationship types -# ***************************************************************************** -relationship_types: - gso.relationship.DependOn: - derived_from: tosca.relationships.Root - description: - valid_target_types: [gso.capability.SingleDomainNs] - -# ***************************************************************************** -# node types -# ***************************************************************************** -node_types: - gso.node.Root: - derived_from: tosca.nodes.Root - description: gso root type - properties: - id: - type: string - name: - type: string - description: - type: string - required: false - gso.node.NetworkService: - derived_from: gso.node.Root - description: basic network service - properties: - baseServiceInfo: - type:gso.datatypes.service.basicInfo - templateId: - type: string - serviceDefId: - type: string - interfaces: - standard: - type: gso.interfaces.lifecycle.Standard - - gso.node.SingleDomainNetworkService: - derived_from: gso.node.NetworkService - description: single domain network service - - gso.node.CrossDomainNetworkService: - derived_from: gso.node.NetworkService - description: cross domain network service - requirements: - - realizes: - node: gso.node.SingleDomainNetworkService - capability: gso.capability.SingleDomainNs - relationship: gso.relationship.DependOn - occurrences: [2, UNBOUNDED]
\ No newline at end of file diff --git a/docs/refspec/open-o/index.rst b/docs/refspec/open-o/index.rst index 657a8f6..6ccb535 100644 --- a/docs/refspec/open-o/index.rst +++ b/docs/refspec/open-o/index.rst @@ -8,12 +8,13 @@ Open-o Seed References :maxdepth: 2 e2e-service/e2e-service-im.rst - vnf-package/NS&VNF Package Specification-v0.4.rst - + nfv-nsd/nfv-nsd-template.rst nfv-nsd/nfv-nsd-dm-sample.rst nfv-nsd/nfv-nsd-im-sample.rst sdn-nsd/sdn-nsd-dm-sample.rst sdn-nsd/sdn-nsd-im-sample.rst + vnfd/vnfd-template.rst vnfd/vnf-dm-sample.rst vnfd/vnf-im-sample.rst + vnf-package/NS&VNF Package Specification-v0.4.rst vnf-package/vnf-package-sample.rst diff --git a/docs/refspec/open-o/nfv-nsd/README.md b/docs/refspec/open-o/nfv-nsd/README.md deleted file mode 100755 index 1eda1fe..0000000 --- a/docs/refspec/open-o/nfv-nsd/README.md +++ /dev/null @@ -1,28 +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-nsd 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_definition_nfv_ns_1_0.yaml
- refer:http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.doc
-
- C.openo extension profile: TOSCA_definition_ns_ext_1_0.yaml
- refer:Open-O definition
-
-2.nfv-nsd service template should import the profiles above.
\ No newline at end of file diff --git a/docs/refspec/open-o/nfv-nsd/TOSCA_definition_nfv_ns_1_0.yaml b/docs/refspec/open-o/nfv-nsd/TOSCA_definition_nfv_ns_1_0.yaml deleted file mode 100755 index 23f2f93..0000000 --- a/docs/refspec/open-o/nfv-nsd/TOSCA_definition_nfv_ns_1_0.yaml +++ /dev/null @@ -1,176 +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
-
-description: Definitions file for all type of tosca-nfv specification.
-
-node_types:
- tosca.nodes.nfv.VNF:
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- description: ID of this VNF
- required: true
- constraints:
- - min_length: 1
- vendor:
- type: string
- description: name of the vendor who generate this VNF
- required: true
- version:
- type: version
- description: version of the software for this VNF
- required: true
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- node: tosca.nodes.nfv.VL
- relationship: tosca.relationships.nfv.VirtualLinksTo
-
- tosca.nodes.nfv.CP:
- derived_from: tosca.nodes.network.Port
- properties:
- type:
- type: string
- description: >
- This may be, for example, a virtual port, a virtual NIC address, a physical port,
- a physical NIC address or the endpoint of an IP VPN enabling network connectivity.
- required: false
- anti_spoof_protection:
- type: boolean
- description: >
- Indicates of whether anti-spoofing rule need to be enabled for this vNIC. This is applicable only
- when CP type is virtual NIC (vPort).
- required: false
- attributes:
- address:
- type: string
- description: The actual virtual NIC address that is been assigned when instantiating the connection point.
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- node: tosca.nodes.nfv.VL
- relationship: tosca.relationships.nfv.VirtualLinksTo
- - virtualbinding:
- capability: tosca.capabilities.nfv.VirtualBindable
- node: tosca.nodes.nfv.VDU
- relationship: tosca.relationships.nfv.VirtualBindsTo
-
- tosca.nodes.nfv.VL:
- derived_from: tosca.nodes.network.Network
- properties:
- vendor:
- type: string
- description: name of the vendor who generate this VL
- required: false
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
-
- tosca.nodes.nfv.VL.ELine:
- derived_from: tosca.nodes.nfv.VL
- #capabilities:
- # virtual_linkable:
- # type: tosca.capabilities.nfv.VirtualLinkable
- # occurrences: [ 2, 2 ]
-
- tosca.nodes.nfv.VL.ELAN:
- derived_from: tosca.nodes.nfv.VL
-
- tosca.nodes.nfv.VL.ETree:
- derived_from: tosca.nodes.nfv.VL
-
- tosca.nodes.nfv.FP:
- derived_from: tosca.nodes.Root
- properties:
- policy:
- type: string
- required: false
- description: A policy or rule to apply to the NFP
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
- node: tosca.nodes.nfv.CP
- relationship: tosca.relationships.nfv.ForwardsTo
-
-capability_types:
-
- tosca.capabilities.nfv.VirtualLinkable:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.VirtualBindable:
- derived_from: tosca.capabilities.Root
-
- tosca.capabilities.nfv.Metric:
- derived_from: tosca.capabilities.Endpoint
-
- tosca.capabilities.nfv.Forwarder:
- derived_from: tosca.capabilities.Root
-
-relationship_types:
- tosca.relationships.nfv.VirtualBindsTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ]
-
- tosca.relationships.nfv.VirtualLinksTo:
- derived_from: tosca.relationships.DependsOn
- valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
-
- tosca.relationships.nfv.Monitor:
- derived_from: tosca.relationships.ConnectsTo
- valid_target_types: [ tosca.capabilities.nfv.Metric ]
-
- tosca.relationships.nfv.ForwardsTo:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.nfv.Forwarder ]
-
-group_types:
- tosca.groups.nfv.VNFFG:
- derived_from: tosca.groups.Root
- properties:
- vendor:
- type: string
- required: true
- description: name of the vendor who generate this VNFFG
- version:
- type: string
- required: true
- description: version of this VNFFG
- number_of_endpoints:
- type: integer
- required: true
- description: count of the external endpoints included in this VNFFG
- dependent_virtual_link:
- type: list
- entry_schema:
- type: string
- required: true
- description: Reference to a VLD used in this Forwarding Graph
- connection_point:
- type: list
- entry_schema:
- type: string
- required: true
- description: Reference to Connection Points forming the VNFFG
- constituent_vnfs:
- type: list
- entry_schema:
- type: string
- required: true
- description: Reference to a list of VNFD used in this VNF Forwarding Graph
- members: [ tosca.nodes.nfv.FP ]
diff --git a/docs/refspec/open-o/nfv-nsd/TOSCA_definition_ns_ext_1_0.yaml b/docs/refspec/open-o/nfv-nsd/TOSCA_definition_ns_ext_1_0.yaml deleted file mode 100644 index 4028b87..0000000 --- a/docs/refspec/open-o/nfv-nsd/TOSCA_definition_ns_ext_1_0.yaml +++ /dev/null @@ -1,232 +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 - -description: Extend types definitions file for tosca-nfv. - -data_types: - tosca.datatypes.nfv.ext.FPPolicyCriteria: - derived_from: tosca.datatypes.Root - properties: - dest_port_range: - type: range - required: false - constraints: - - in_range: [ 1, 65535 ] - source_port_range: - type: range - required: false - constraints: - - in_range: [ 1, 65535 ] - ip_protocol: - type: string - required: false - default: tcp - constraints: - - valid_values: [ udp, tcp ] - dest_ip_range: - type: list - required: false - description: The format is startip1-endip1,startip2-endip2 - entry_schema: - type: string - source_ip_range: - type: list - required: false - description: The format is startip1-endip1,startip2-endip2 - entry_schema: - type: string - dscp: - type: integer - required: false - - tosca.datatypes.nfv.ext.FPPolicy: - derived_from: tosca.datatypes.Root - properties: - type: - type: string - required: false - default: ACL - constraints: - - valid_values: [ ACL ] - criteria: - type: tosca.datatypes.nfv.ext.FPPolicyCriteria - required: true - - -node_types: - tosca.nodes.nfv.ext.VNF: - derived_from: tosca.nodes.nfv.VNF - properties: - vnf_type: - type: string - required: false - description: Type of this VNF. For example MME,USPP,xGW etc. - request_reclassification: - type: boolean - required: false - default: false - description: Determines whether VNF can request reclassification by the VNF forwarder - nsh_aware: - type: boolean - required: false - default: true - description: Whether this VNF can process NSH headers - vnfm_type: - type: string - required: true - description: Type of this VNFM, Such as ZTE,HW,JUJU,... - requirements: - - virtual_link: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinksTo - occurrences: [0, UNBOUNDED] - - tosca.nodes.nfv.ext.CP: - derived_from: tosca.nodes.nfv.CP - properties: - sfc_encapsulation: - type: string - required: false - description: The encapsulateion used to carry NSH packages - constraints: - - valid_values: [ mac, vxlan-gpe, gre, mpls ] - direction: - type: string - required: false - constraints: - - valid_values: [ input, output, bidirectional ] - interface_name: - type: string - required: false - description: Physical interface name of CP for PNF. - requirements: - - link: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - occurrences: [ 0, 1 ] - - binding: - capability: tosca.capabilities.network.Bindable - relationship: tosca.relationships.network.BindsTo - occurrences: [ 0, 1 ] - - virtualLink: - capability: tosca.capabilities.nfv.VirtualLinkable - relationship: tosca.relationships.nfv.VirtualLinksTo - occurrences: [ 0, 1 ] - - virtualbinding: - capability: tosca.capabilities.nfv.VirtualBindable - relationship: tosca.relationships.nfv.VirtualBindsTo - occurrences: [ 0, 1 ] - capabilities: - forwarder: - type: tosca.capabilities.nfv.Forwarder - - tosca.nodes.nfv.ext.NS: - derived_from: tosca.nodes.Root - properties: - id: - type: string - description: ID of this NSD - required: true - constraints: - - min_length: 1 - designer: - type: string - description: Designer of this NSD - required: true - version: - type: version - description: version of this NSD - required: true - name: - type: string - description: name of this NSD - required: true - type: - type: string - description: Type of this NSD,include:SSAR,NSAR,GSAR - required: true - requirements: - - virtualLink: - capability: tosca.capabilities.nfv.VirtualLinkable - node: tosca.nodes.nfv.VL - relationship: tosca.relationships.nfv.VirtualLinksTo - - tosca.nodes.nfv.ext.PNF: - derived_from: tosca.nodes.Root - properties: - id: - type: string - description: ID of this PNF - required: true - constraints: - - min_length: 1 - vendor: - type: string - description: name of the vendor who provide this PNF - required: true - version: - type: version - description: version of the software for this PNF - required: true - pnf_type: - type: string - description: type of PNF - required: false - request_reclassification: - type: boolean - required: false - default: false - description: Determines whether VNF can request reclassification by the VNF forwarder - nsh_aware: - type: boolean - required: false - default: true - description: Whether this VNF can process NSH headers - management_address: - type: string - description: Management port address of this PNF. - required: true - capabilities: - virtualBinding: - type: tosca.capabilities.nfv.VirtualBindable - - tosca.nodes.nfv.ext.FP: - derived_from: tosca.nodes.Root - properties: - policy: - type: tosca.datatypes.nfv.ext.FPPolicy - required: false - symmetric: - type: boolean - required: false - description: If the chain is symmetric, SDN Controller will create two service paths, one ingress and another egress. - requirements: - - forwarder: - capability: tosca.capabilities.nfv.Forwarder - occurrences: [0, UNBOUNDED] - -group_types: - tosca.groups.nfv.ext.VNFFG: - derived_from: tosca.groups.nfv.VNFFG - properties: - constituent_pnfs: - type: list - entry_schema: - type: string - required: false - description: Reference to a list of PNF'ID used in this VNF Forwarding Graph diff --git a/docs/refspec/open-o/nfv-nsd/nfv-nsd-template.rst b/docs/refspec/open-o/nfv-nsd/nfv-nsd-template.rst new file mode 100644 index 0000000..bc5db03 --- /dev/null +++ b/docs/refspec/open-o/nfv-nsd/nfv-nsd-template.rst @@ -0,0 +1,40 @@ +.. 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-nsd 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_definition_nfv_ns_1_0.yaml + refer: http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.doc + + C.openo extension profile: TOSCA_definition_ns_ext_1_0.yaml + refer: Open-O definition + +2.nfv-nsd service template should import the profiles above. diff --git a/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_template.yaml b/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_template.yaml deleted file mode 100644 index a7d5e42..0000000 --- a/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_template.yaml +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# 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. - -############################################################################### -##### L3 VPN Underlay Connection #### -############################################################################### -tosca_definitions_version: tosca_simple_yaml_1_0 -description: creates underlay vpn connection, l3 vpn template -imports: - - Definitions/underlayVPN_type_definition.yaml - -############################################################################### - -metadata: - id: vpnUnderlayL3 - template_name: underlayvpn - version: 0.1 - vendor: sdno - template_author: Huawei - - -####################################### TOPOLOGY ############################## -topology_template: - inputs: - name: - type: string - description: Name of underlayervpn - description: - type: string - description: description of underlayvpn - serviceType: - type: string - description: serviceType of underlayvpn - default: 'l3vpn' - topology: - type: string - description: topology of underlayvpn - default: 'full-mesh' - technology: - type: string - description: technology of underlayvpn - default: 'mpls' - pe1_ip: - type: string - description: mgrip of pe1 - ac1_port: - type: string - description: ac1 port - ac1_svlan: - type: integer - description: ac1 svlan - ac1_ip: - type: string - description: ip of ac1, only for layer3 vpn - ac1_peer_ip: - type: string - description: ip of ac1 peer CE tp, only for layer3 vpn - ac1_route: - type: string - description: route configure of ac1, only for layer3 vpn - pe2_ip: - type: string - description: mgrip of pe2 - ac2_port: - type: string - description: ac2 port - ac2_svlan: - type: integer - description: ac2 svlan - ac2_ip: - type: string - description: ip of ac2, only for layer3 vpn - ac2_peer_ip: - type: string - description: ip of ac2 peer CE tp, only for layer3 vpn - ac2_route: - type: string - description: route configure of ac2, only for layer3 vpn - - -# ***************************************************************************** -# node templates -# ***************************************************************************** - - node_templates: - - # Network Nodes, to be retrieved from the resource inventory - pe1: - type: sdno.node.Node - properties: - ipAddress: {get_input: pe1_ip} - - pe2: - type: sdno.node.Node - properties: - ipAddress: {get_input: pe2_ip} - - - # Connectivity Service and Service Endpoints - - vpnService: - type: sdno.node.ConnectivityService.UnderlayVpn - properties: - name: {get_input: name} - requirements: - - endPoint: ac1 - - endPoint: ac2 - - realizes: vpnConnection - - ac1: - type: sdno.node.ServiceEndPoint.AC - properties: - port: {get_input: ac1_port} - ip: {get_input: ac1_ip} - svlan: {get_input: ac1_svlan} - route: {get_input: ac1_route} - peerIp: {get_input: ac1_peer_ip} - requirements: - - node: pe1 - - ac2: - type: sdno.node.ServiceEndPoint.AC - properties: - port: {get_input: ac2_port} - ip: {get_input: ac2_ip} - svlan: {get_input: ac2_svlan} - route: {get_input: ac2_route} - peerIp: {get_input: ac2_peer_ip} - requirements: - - node: pe2 - - - # Connection and Connection Endpoints - - vpnConnection: - type: sdno.node.Connection.UnderlayVpn - properties: - name: {get_input: name} - description: {get_input: description} - vpnBasicInfo: - serviceType: {get_input: serviceType} - topology: {get_input: topology} - technology: {get_input: technology} - requirements: - - endPoint: tp1 - - endPoint: tp2 - - interfaces: - standard: - create: - #implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' - delete: - implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - get: - implementation: 'GET /openoapi/sdnol3vpn/v1/l3vpns' - deploy: - implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' - undeploy: - implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - update: - implementation: 'PUT /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - - - tp1: - type: sdno.node.ConnectionEndPoint.Tp - - tp2: - type: sdno.node.ConnectionEndPoint.Tp - substitution_mappings: - node_type: tosca.nodes.sdno.NS.underlayvpn
\ No newline at end of file diff --git a/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_type_definition.yaml b/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_type_definition.yaml deleted file mode 100644 index e0ce37d..0000000 --- a/docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_type_definition.yaml +++ /dev/null @@ -1,756 +0,0 @@ -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# 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 -description: undelay vpn type definitions - -# ***************************************************************************** -# underlay vpn type definitions, used for both L3vpn and l2vpn -# ***************************************************************************** - -metadata: - version: 0.1 - vendor: sdno - template_author: Huawei - -imports: - - sdno_type_definition.yaml - -# ***************************************************************************** -# DSL definitions -# ***************************************************************************** -dsl_definitions: - -# ***************************************************************************** -# data types -# ***************************************************************************** -data_types: - - - # Base SDNO Type for Specs - used in Underlay VPN only for now, check reuse and move to common if needed. May need to move iot from type to node - sdno.datatypes.Spec: - derived_from: tosca.datatypes.Root - properties: - uuid: - type: string - description: unique id, format maxLength36 - required: true - default: 'none' - additionalInfo: - type: list - #max size = 1000 - entry_schema: - type: AdditionalInfoRow - required: false - - # PW Schema Type - - PWSchema: - derived_from: sdno.datatypes.Spec - properties: - pwTech: - type: string - description: PW Technology - required: true - default: 'none' - - # Tunnel Schema Type - - TunnelSchema: - derived_from: sdno.datatypes.Spec - properties: - tunnelTech: - type: string - description: Technology used for the tunnel - constraints: - - valid_values: ['NOP','LDP','RSVP-TE','SR-TE','MPLS-TP','TE-ANY','TE','GRE'] - required: true - default: 'RSVP-TE' - pwTech: - type: PWSpec - description: Technology used for the pseudowire - required: true - tunnelLatency: - type: integer - description: this is integer, format int32, minimum 0 and maximum 60000000 - required: true - default: 0 - tunnelSelectMode: - type: string - description: Tunnel selection mode - constraints: - - valid_values: ['AutoCreate','AutoSelect','ManualSelect','NOP'] - required: true - default: 'AutoSelect' - tunnelCreatePolicy: - type: MplsTESpec - description: Policy for creating the tunnel - required: false - tunnelAutoSelectPolicy: - type: SelectTunnelPolicy - description: Policy for selecting the tunnel - required: false - - PWSpec: - derived_from: sdno.datatypes.Spec - properties: - controlWord: - type: boolean - description: enable control - required: true - default: false - pwVlanAction: - type: string - description: VLAN action on the pseudowire - constraints: - - valid_values: ['Raw','tagged'] - required: true - default: 'Raw' - - - MplsTESpec: - derived_from: sdno.datatypes.Spec - properties: - bestEffort: - type: string - description: max length 200 - required: true - default: 'true' - shareMode: - type: string - description: Tunnel sharing mode - constraints: - - valid_values: ['delegate','1:1','N:1'] - required: true - default: 'N:1' - coRoute: - type: boolean - description: max length 200 - required: true - default: false - bfdEnable: - type: boolean - description: max length 200 - required: true - default: true - pathConstraint: - type: TunnelPathConstraint - description: - required: false - tunnelProtectPolicy: - type: ProtectionSchema - description: - required: false - - TunnelPathConstraint: - derived_from: sdno.datatypes.Spec - properties: - setupPriority: - type: integer - description: format int32, min 0 max 7 - required: true - default: 5 - holdupPriority: - type: integer - description: format int32, min 0 max 7 - required: true - default: 5 - - ProtectionSchema: - derived_from: sdno.datatypes.Spec - properties: - layerRate: - type: string - description: Layer Rate - constraints: - - valid_values: ['LR_Ethernet','LR_IP','LR_Vxlan','LR_PW','LR_NOP','LR_MPLS_TE'] - required: true - default: 'LR_IP' - protectType: - type: string - description: type of protection - constraints: - - valid_values: ['nop','1:1','1+1','hot-standby'] - required: true - default: '1:1' - protectDetailType: - type: string - description: more detailed protection info - required: false - reversionMode: - type: string - description: Reversion Mode - constraints: - - valid_values: ['RM_UNKNOWN','RM_NON_REVERTIVE','RM_REVERTIVE'] - required: true - default: 'RM_REVERTIVE' - wtr: - type: integer - description: format int32 minimum 0, maximum 2592000 - required: true - default: 1 - - SelectTunnelPolicy: - derived_from: sdno.datatypes.Spec - properties: - loadBalanceNum: - type: integer - description: format int32, minimum 1 maximum 64 - required: true - default: 1 - selectTunnels: - type: list - entry_schema: - type: SelectTunnel - description: Tunnel Selection Policy - required: true - - SelectTunnel: - derived_from: sdno.datatypes.Spec - properties: - priority: - type: integer - description: Tunnel priority to be selected, format int32, minimum 1 maximum 3 - required: true - default: 1 - tunnelTech: - type: string - description: tunnel technology to be selected - constraints: - - valid_values: ['NOP','LDP','RSVP-TE','SR-TE','MPLS-TP','TE-ANY','TE','GRE'] - required: true - default: RSVP-TE - - # Path Constraints Type - PathConstraints: - derived_from: sdno.datatypes.Spec - properties: - tunnelConstraints: - type: list - entry_schema: - type: TunnelSpecificPathConstraint - pwConstraints: - type: list - entry_schema: - type: PWSpecPathConstraint - - TunnelSpecificPathConstraint: - derived_from: sdno.datatypes.Spec - properties: - pathConnection: - type: PathConnection - tunnelWorkMode: - type: string - constraints: - - valid_values: ['AutoCreate','AutoSelect','ManualSelect','NOP'] - required: true - tunnelTech: - type: string - constraints: - - valid_values: ['NOP','LDP','RSVP-TE','SR-TE','MPLS-TP','TE-ANY','TE','GRE'] - required: true - bodMode: - type: string - constraints: - - valid_values: ['realBod','renewBod'] - required: true - bandwidth: - type: integer - description: bandwidth int64, minimum 0 and max 4000000000 - required: true - latency: - type: integer - description: bandwidth int64, minimum 0 and max 60000000 - required: true - bindingTunnels: - type: list - entry_schema: - type: string - - PathConnection: - derived_from: sdno.datatypes.Spec - properties: - aObject: - type: ObjectIdentifier - required: true - zObject: - type: ObjectIdentifier - required: true - direction: - type: string - constraints: - - valid_values: ['CD_UNI','CD_BI'] - required: true - -# Object Identifier is currently only used in L3 VPN, should be moved to the common and re-used - ObjectIdentifier: - derived_from: tosca.datatypes.Root - properties: - uuid: - type: string - required: true - # format: maxLen36 - objectId: - type: string - required: true - # format: maxLen36 - roleLabel: - type: string - required: true - objectType: - type: string - constraints: - - valid_values: ['Nop','SEG-VPN','TP','TPL','BUSINESSTYPE','COMPOSED-VPN', 'RESOURCE-POOL', 'SUBNETWORK', 'TUNNEL-LSP'] - required: true - - PWSpecPathConstraint: - derived_from: sdno.datatypes.Spec - properties: - role: - type: string - constraints: - - valid_values: ['master','backup'] - required: true - tunnelWorkMode: - type: string - constraints: - - valid_values: ['AutoCreate','AutoSelect','ManualSelect','NOP'] - required: true - tunnelTech: - type: string - constraints: - - valid_values: ['NOP','LDP','RSVP-TE','SR-TE','MPLS-TP','TE-ANY','TE','GRE'] - required: true - - - # VPN TYPES - - DiffService: - derived_from: sdno.datatypes.Spec - properties: - diffServMode: - type: string - description: mode of diffservice - constraints: - - valid_values: ['Uniform','Pipe','ShortPipe'] - required: true - default: 'Uniform' - serviceClass: - type: string - description: class of service - constraints: - - valid_values: ['BE','AF1','AF2','AF3','AF4','EF','CS6','CS7'] - required: true - default: 'BE' - serviceColor: - type: string - description: Service Color - constraints: - - valid_values: ['Green','Yellow','Red'] - required: true - default: 'Green' - - IpVpnSpec: - derived_from: sdno.datatypes.Spec - properties: - labelMode: - type: string - description: label mode type - constraints: - - valid_values: ['PerInstance','PerRoute'] - required: true - default: 'PerInstance' - frrEnable: - type: boolean - description: frr enable - required: true - default: false - diffServ: - type: DiffService - description: diff service type - required: true - - VpnBasicInfo: - derived_from: sdno.datatypes.Spec - properties: - topology: - type: string - description: type of VPN topology - constraints: - - valid_values: ['full-mesh','point_to_multipoint','point_to_point','singlePoint','hubspoke','hubspoke_via_hubce','hubspoke_disjoint','ADD_DROP_Z'] - required: true - default: 'full-mesh' - serviceType: - type: string - description: type of VPN service - constraints: - - valid_values: ['l3vpn','l2vpn','other'] - required: true - default: 'l3vpn' - - technology: - type: string - description: type of VPN technology - constraints: - - valid_values: ['mpls','rosen multivpn','vxlan overlay l3vpn','eth over sdh','vlan'] - required: true - default: 'mpls' - ipMtu: - type: integer - description: IP MTU, format is int32, minimum 46 and maximum 9600 - required: true - default: 9600 - ipVpnSpec: - type: IpVpnSpec - description: IP VPN Spec - required: false - - # VPN TYPES - - TpTypeSpec: - derived_from: sdno.datatypes.Spec - properties: - layerRate: - type: string - description: Layer Rate - constraints: - - valid_values: ['LR_Ethernet','LR_IP','LR_Vxlan','LR_PW','LR_NOP','LR_MPLS_TE'] - required: true - default: 'LR_IP' - ethernetTpSpec: - required: false - type: EthernetTpSpec - ipTpSpec: - required: false - type: IpTpSpec - - - EthernetTpSpec: - derived_from: sdno.datatypes.Spec - properties: - accessType: - type: string - constraints: - - valid_values: ['dot1q','qinq','untag','default'] - required: true - default: 'default' - vlanAction: - type: string - constraints: - - valid_values: ['nop','untag','pass','pvlan','swap','stacking'] - required: true - default: 'pass' - actionValue: - type: string - required: true - default: 'none' - qinqCvlanList: - type: string - required: true - default: 'none' - qinqSvalList: - type: string - required: true - default: 'none' - dot1qVlanList: - type: string - required: true - default: 'none' - - IpTpSpec: - derived_from: sdno.datatypes.Spec - properties: - masterIp: - type: string - required: true - default: '0.0.0.0' - - CeTp: - derived_from: sdno.datatypes.Spec - properties: - todo: - type: string - required: true - default: 'none' - - - RouteProtocolSpec: - derived_from: sdno.datatypes.Spec - properties: - todo: - type: string - required: true - default: 'none' - - -# ***************************************************************************** -# node types -# ***************************************************************************** - -node_types: - - # ***************************************************************************** - # Underlay VPN Service Endpoints - # ***************************************************************************** - sdno.node.ServiceEndPoint.AC: - description: Attach Circuit - derived_from: sdno.node.ServiceEndPoint - properties: - port: - type: string - required: true - default: '0' - ip: - type: string - required: true - default: '0.0.0.0' - svlan: - type: integer - required: true - default: 0 - route: - type: string - required: true - default: 'none' - peerIp: - type: string - required: true - default: '0.0.0.0' - - # ***************************************************************************** - # Underlay VPN Connectivity Service - # ***************************************************************************** - - sdno.node.ConnectivityService.UnderlayVpn: - derived_from: sdno.node.ConnectivityService - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - deploy: - description: "Deploy VPN" - implementation: - # primary: - dependencies: - - sdno.node.Connection.UnderlayVpn/deploy - - requirements: - - endPoint: - node: sdno.node.ServiceEndPoint.AC - capability: sdno.capability.ServiceEndPoint - relationship: sdno.relationship.ServiceEndPoint - occurrences: [2, UNBOUNDED] - - realizes: - node: sdno.node.Connection.UnderlayVpn - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - - # ***************************************************************************** - # Underlay VPN Connection Endpoints - # ***************************************************************************** - sdno.node.ConnectionEndPoint.Tp: - description: Attach Circuit - derived_from: sdno.node.ConnectionEndPoint - properties: - neId: - type: string - required: false - edgePointRole: - type: string - description: Role of the edge point - constraints: - - valid_values: [ASBR,nop] - required: false - hubSpoke: - type: string - description: Is the endpoint hub or spoke - constraints: - - valid_values: ['hub','spoke','spokeBridge','other'] - required: true - default: 'spoke' - type: - type: string - description: Type of the TP - constraints: - - valid_values: ['PTP','CTP','TRUNK','LoopBack','NetworkVNode','TPPool','nop'] - required: true - default: 'CTP' - workingLayer: - type: string - description: Working Layer Rate - constraints: - - valid_values: ['LR_Ethernet','LR_IP','LR_Vxlan','LR_PW','LR_NOP','LR_MPLS_TE'] - required: true - default: 'LR_IP' - typeSpecList: - type: list - #max size = 1000 - entry_schema: - type: TpTypeSpec - required: false - peerCpTp: - type: CeTp - required: false - qosProfileId: - type: string - required: false - inboundQosPolicyId: - type: string - required: false - outboundQosPolicyId: - type: string - required: false - inboundQueueProfileId: - type: string - required: false - outboundQueueProfileId: - type: string - required: false - containedMainTP: - type: string - required: false - routeProtocolSpecs: - type: list - #max size = 1000 - entry_schema: - type: RouteProtocolSpec - required: false - direction: - type: string - constraints: - - valid_values: ['IN','OUT','BI_DIRECTION'] - required: true - default: 'BI_DIRECTION' - tpRole: - type: string - constraints: - - valid_values: ['UNI','NNI'] - required: true - default: 'UNI' - - - - # ***************************************************************************** - # VPN Node Types - # ***************************************************************************** - sdno.node.Connection.UnderlayVpn: - derived_from: sdno.node.Connection - properties: - pwSchema: - type: PWSchema - required: false - tunnelSchema: - type: TunnelSchema - required: false - pathConstraints: - type: PathConstraints - required: false - vpnBasicInfo: - type: VpnBasicInfo - required: false - - requirements: - - endPoint: - node: sdno.node.ConnectionEndPoint.Tp - capability: sdno.capability.ConnectionEndPoint - relationship: sdno.relationship.ConnectionEndPoint - occurrences: [2, UNBOUNDED] - - - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' - delete: - implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - get: - implementation: 'GET /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - deploy: - implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' - undeploy: - implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - update: - #implementation: 'PUT /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' - - # ***************************************************************************** - # Underlayvpn Node Types - # ***************************************************************************** - tosca.nodes.sdno.NS.underlayvpn: - properties: - id: - type: string - required: false - template_name: - type: string - required: false - version: - type: string - required: false - vendor: - type: string - required: false - template_author: - type: string - required: false - name: - type: string - required: false - description: - type: string - required: false - serviceType: - type: string - required: false - topology: - type: string - required: false - technology: - type: string - required: false - pe1_ip: - type: string - required: false - ac1_port: - type: string - required: false - ac1_svlan: - type: integer - required: false - ac1_ip: - type: string - required: false - ac1_peer_ip: - type: string - required: false - ac1_route: - type: string - required: false - pe2_ip: - type: string - required: false - ac2_port: - type: string - required: false - ac2_svlan: - type: integer - required: false - ac2_ip: - type: string - required: false - ac2_peer_ip: - type: string - required: false - ac2_route: - type: string - required: false
\ No newline at end of file diff --git a/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml b/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml deleted file mode 100644 index c5d8714..0000000 --- a/docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# 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. - -############################################################################### -##### overlay_enterprise to dc #### -############################################################################### -tosca_definitions_version: tosca_simple_yaml_1_0 -description: creates overlay connection from Enterprise to DC -imports: - - Definitions/enterprise2DC_type_definition.yaml - -############################################################################### - -metadata: - id: enterprise2Dc - template_name: enterprise2DC - version: 0.1 - vendor: sdno - template_author: Huawei - - -####################################### TOPOLOGY ############################## -topology_template: - inputs: - vpnName: - type: string - description: Name of Overlayvpn - vpnDescription: - type: string - description: description of Overlayvpn - siteName: - type: string - description: Name of Site - siteCidr: - type: string - description: enterprise site cidr - subnetVlan: - type: integer - description: Vlan value of Subnet - siteVni: - type: integer - description: VxLAN ID connect site to vCPE - vpcName: - type: string - description: in format of domain/project/router, should keep consistent with NFVO - vpcSubnetName: - type: string - description: name of subnet in VPC, should keep consistent with NFVO - vpcSubnetCidr: - type: string - description: vpc cidr - vpcVni: - type: integer - description: vpc subnet vxlanID, should keep consistent with NFVO - vpnType: - type: string - description: vpn connection type between vCPE and vpc. - constraints: - - valid_values: ['IpSec','VxLAN','MPLS_VPN'] - default: IpSec - dcGwIp: - type: string - description: mgrIp of dcGW - dcFwIp: - type: string - description: mgrIp of dc Firewall - dcLbIp: - type: string - description: mgrIp of dc Load Balancer - -# ***************************************************************************** -# node templates -# ***************************************************************************** - - node_templates: - - # Nodes - thinCpe: - type: sdno.node.Node - properties: - siteName: {get_input: siteName} - id: '0' - - vCpe: - type: sdno.node.Node - properties: - siteName: {get_input: siteName} - id: '0' - - dcFw: - type: sdno.node.Node - properties: - ipAddress: {get_input: dcFwIp} - id: '0' - - dcLb: - type: sdno.node.Node - properties: - ipAddress: {get_input: dcLbIp} - id: '0' - - dcGw: - type: sdno.node.Node - properties: - ipAddress: {get_input: dcGwIp} - id: '0' - - # do we need another node for dc endpoint? original template had vpc as node as well - - # Connectivity Service - - enterprise2Dc: - type: sdno.node.ConnectivityService.Enterprise2Dc - requirements: - - endPoint: thinCpeServiceEndpoint - - endPoint: dcServiceEndpoint - - realizes: siteSubnet - - realizes: vpn - - realizes: vpcSubnet - - realizes: sfc - - thinCpeServiceEndpoint: - type: sdno.node.ServiceEndPoint.ThinCpe - requirements: - - node: thinCpe - dcServiceEndpoint: - type: sdno.node.ServiceEndPoint.DcEndpoint - requirements: - #- node: vpc or something else - - node: dcGw - - # ***************************************************************************** - # VPC Node Templates (VpcSubnet and Vpc) - # ***************************************************************************** - - vpcSubnet: - type: sdno.node.Connection.VpcSubnet - properties: - cidr: {get_input: vpcSubnetCidr} - name: {get_input: vpcSubnetName} - vni: {get_input: vpcVni} - requirements: - - realizes: vpc - - vpc: - type: sdno.node.Connection.Vpc - properties: - name: {get_input: vpcName} - - # ***************************************************************************** - # Site Node Templates (Subnet, Vlan, Site with thinCPE and cCPE) - # ***************************************************************************** - - siteSubnet: - type: sdno.node.Connection.SiteSubnet - properties: - vni: {get_input: siteVni} - cidrBlock: {get_input: siteCidr} - name: {concat: ['siteSubnet_' , {get_input: vpcName}]} - requirements: - - realizes: vlan - - vlan: - type: sdno.node.Connection.Vlan - properties: - vlanId: {get_input: subnetVlan} - name: {concat: ['vlan_' , {get_input: vpcName}]} - requirements: - - realizes: site - - thinCpeConnectionEndPoint: - type: sdno.node.ConnectionEndPoint.ThinCpe - requirements: - - realizes: site - - node: thinCpe - - vCpeConnectionEndPoint: - type: sdno.node.ConnectionEndPoint.VCpe - requirements: - - realizes: site - - node: vCpe - - site: - type: sdno.node.Connection.Site - properties: - name: {get_input: siteName} - siteDescriptor: {get_input: vpnType} - requirements: - - endPoint: vCpeConnectionEndPoint - - endPoint: thinCpeConnectionEndPoint - - - # ***************************************************************************** - # VPN Node Templates (Vpn, VpnConnection with siteGW and vpcGW) - # Order of requests: vpn, siteGW, vpcGW, vpnConnection - # ***************************************************************************** - - vpn: - type: sdno.node.Connection.Vpn - properties: - name: {get_input: vpnName} - description: {get_input: vpnDescription} - vpnDescriptor: {get_input: vpnType} - requirements: - - realizes: vpnConnection - - - siteGateway: - type: sdno.node.ConnectionEndPoint.SiteGateway - properties: - name: {concat: ['siteGateway_' , {get_input: vpcName}]} - - vpcGateway: - type: sdno.node.ConnectionEndPoint.VpcGateway - properties: - name: {concat: ['vpcGateway_' , {get_input: vpcName}]} - - vpnConnection: - type: sdno.node.Connection.VpnConnection - properties: - name: {concat: ['vpnConnection_' , {get_input: vpcName}]} - requirements: - - endPoint: siteGateway - - endPoint: vpcGateway - - - # ***************************************************************************** - # SFC Node Template - # ***************************************************************************** - - sfc: - type: sdno.node.Connection.Sfc - properties: - servicePathHops: - - {hopNumber: 1, sfiId: {get_attribute: [dcFw, id] }, sfgId: "", name: 'dcFw'} - - {hopNumber: 2, sfiId: {get_attribute: [dcLb, id] }, sfgId: "", name: 'dcLb'} - scfNeId: {get_attribute: [dcGw, id]} - name: {concat: ['sfc_' , {get_input: vpcName}]} - - substitution_mappings: - node_type: tosca.nodes.sdno.NS.overlayvpn
\ No newline at end of file diff --git a/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml b/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml deleted file mode 100644 index 84a8b39..0000000 --- a/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml +++ /dev/null @@ -1,1226 +0,0 @@ -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# 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 -description: enteprise to DC type definitions - -# ***************************************************************************** -# enteprise to DC type definitions -# ***************************************************************************** - -metadata: - version: 0.1 - vendor: sdno - template_author: Huawei - -imports: - - sdno_type_definition.yaml - -# ***************************************************************************** -# DSL definitions -# ***************************************************************************** -dsl_definitions: - Vlan: &Vlan - siteId: - type: string - description: site id - required: false - vlanId: - type: integer - # format: int32 - description: vlan id - required: false - ports: - type: list - entry_schema: - type: string - description: ports list - required: false - portNames: - type: list - entry_schema: - type: string - description: port name list - required: false - description: - type: string - default: 'Vlan Service' - - SiteSubnet: &SiteSubnet - siteId: - type: string - description: site id - required: false - cidrBlock: - type: string - description: cidr block - required: false - cidrBlockSize: - type: integer - # format: int32 - description: cidr block size 8~32 - required: false - gatewayIp: - type: string - description: gateway ip - required: false - vlanId: - type: string - description: vlan id - required: false - vni: - type: string - description: vni - required: false - ports: - type: list - entry_schema: - type: string - description: ports list - required: false - portNames: - type: list - entry_schema: - type: string - description: port name list - required: false - ipv6Address: - type: string - description: ipv6 address - required: false - prefixLength: - type: string - description: length of prifix - required: false - dhcp6Enable: - type: string - description: whether enable dhcp6 - required: false - dhcp6Mode: - type: string - description: dhcp mode scope ="serverrelay" - required: false - enableDhcp: - type: string - description: whether enable dhcp - required: false - gatewayInterface: - type: string - description: >- - BDIF interface name, when vni is not null and need to read from AC, pass this parameter to lower layer - required: false - description: - type: string - default: 'SiteSubnet Service' - - Gateway: &Gateway - vpnId: - type: string - required: false - siteId: - type: string - required: false - vpcId: - type: string - required: false - deployPosition: - type: string - required: false - upstreamBandwidth: - type: string - required: false - downstreamBandwidth: - type: string - required: false - vlans: - type: string - required: false - ports: - type: list - entry_schema: - type: string - description: ports list - required: false - portNames: - type: list - entry_schema: - type: string - description: port name list - required: false - regionId: - type: string - required: false - description: - type: string - default: 'Vpn Gateway' - -# ***************************************************************************** -# data types -# ***************************************************************************** -data_types: - - VlanType: - derived_from: tosca.datatypes.Root - properties: *Vlan - - SiteSubnetType: - derived_from: tosca.datatypes.Root - properties: *SiteSubnet - - GatewayType: - derived_from: tosca.datatypes.Root - properties: *Gateway - - SubnetAttributes: - derived_from: tosca.datatypes.Root - properties: - id: - type: string - required: false - parentId: - type: string - required: false - networkId: - type: string - required: false - subnetId: - type: string - required: false - - UnderlayResourcesType: - derived_from: tosca.datatypes.Root - properties: - id: - type: string - required: false - parentId: - type: string - required: false - projectId: - type: string - required: false - routerId: - type: string - required: false - - - ReliabilityType: - derived_from: string - constraints: - - valid_values: ['singleFixedNetwork', - 'dualFixedNetwork', - 'fixedAndWirelessNetwork', - 'EthernetNetwork', - 'VDSLNetwork', - 'GSHDSLNetwork', - 'EthernetAndLTENetwork', - 'EthernetAndEthernetNetwork', - 'EthernetAndVDSLNetwork', - 'VDSLAndLTENetwork'] - - NvStringType: - derived_from: tosca.datatypes.Root - properties: - id: - type: string - required: false - name: - type: string - description: name - required: false - value: - type: string - description: value - required: false - firstParentUuid: - type: string - description: uuid - required: false - - ServicePathHopType: - derived_from: tosca.datatypes.Root - properties: - name: - type: string - description: "SFC name" - default: 'none' - hopNumber: - type: integer - description: Hop Number of the SFC. Starting from 1. - sfiId: - type: string - description: The identity of service function instance - sfgId: - type: string - description: Reserved.The identity of service function group instance - - ServiceClassiferType: - derived_from: tosca.datatypes.Root - properties: - interfaceName: - type: string - description: The name of interface. - zone: - type: string - description: trust zone or untrust zone - rules: - type: list - entry_schema: - type: RuleType - - RuleType: - derived_from: tosca.datatypes.Root - properties: - protocol: - type: string - description: The protocol type of the rule. - policy: - type: string - description: The policy name of the rule - srcPort: - type: string - description: The srcPort name - destPort: - type: string - description: The destPort name. - srcIp: - type: string - description: The src IP address - srcMask: - type: string - description: The src IP mask address - destIp: - type: string - description: The dest IP address - destMask: - type: string - description: The dest IP mask address - - RouteEntryInfoType: - derived_from: tosca.datatypes.Root - properties: - siteId: - type: string - description: site id. - subnetId: - type: string - description: subnet id - cidr: - type: string - description: cidr - vpnGatewayId: - type: string - description: vpn gateway id. - internetGatewayId: - type: string - description: internet gateway id - nextHop: - type: string - description: next hop - precendence: - type: string - description: precendence - routeType: - type: string - description: static-routing for now - - NeMoType: - derived_from: tosca.datatypes.Root -# properties: *BaseServiceInfo - properties: - version: - type: string - description: version. - logicId: - type: string - description: logic id of NE. - phyNeId: - type: string - description: physical id of NE. - managementDomainId: - type: list - entry_schema: - type: string - description: management Domain Id. - controllerId: - type: list - entry_schema: - type: string - description: Controller Id list. - siteId: - type: list - entry_schema: - type: string - description: site Id list - productName: - type: string - description: product name - isVirtual: - type: string - description: whether is a virtual ne - ipAddress: - type: string - description: ip Address - source: - type: string - description: (scope=network_me,os,network_ems,user) - owner: - type: string - description: owner - serialNumber: - type: string - description: serial Number - manufacturer: - type: string - description: manufacturer - manufactureDate: - type: string - description: manufacture Date - nativeId: - type: string - description: native id - accessIpVersion: - type: string - description: (scope=ipv4,ipv6,ipv4/ipv6) - neRole: - type: string - description: ne role - - - -# ***************************************************************************** -# node types -# ***************************************************************************** - -node_types: - - # ***************************************************************************** - # Enterprise2Dc Service Endpoints - # ***************************************************************************** - sdno.node.ServiceEndPoint.ThinCpe: - derived_from: sdno.node.ServiceEndPoint - - # define more specific Dc service endpoint (DC VAS or VNF ?) - sdno.node.ServiceEndPoint.DcEndpoint: - derived_from: sdno.node.ServiceEndPoint - - # ***************************************************************************** - # Enterprise2DC - # ***************************************************************************** - - sdno.node.ConnectivityService.Enterprise2Dc: - derived_from: sdno.node.ConnectivityService - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - deploy: - description: "Deploy Enterprise2Dc" - implementation: - # primary: - dependencies: - - sdno.node.Connection.VpcSubnet/deploy - - sdno.node.Connection.SiteSubnet/deploy - - sdno.node.Connection.Vpn/deploy - - sdno.node.Connection.Sfc/deploy - undeploy: - description: "Deploy Enterprise2Dc" - implementation: - # primary: - dependencies: - - sdno.node.Connection.VpcSubnet/undeploy - - sdno.node.Connection.SiteSubnet/undeploy - - sdno.node.Connection.Vpn/undeploy - - sdno.node.Connection.Sfc/undeploy - -# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER -# CURRENTLY ENFORCED IN THE TEMPLATE -# -# requirements: -# - endPoint: -# node: sdno.node.ServiceEndPoint.ThinCpe -# capability: sdno.capability.ServiceEndPoint -# relationship: sdno.relationship.ServiceEndPoint -# - endPoint: -# node: sdno.node.ServiceEndPoint.DcEndpoint -# capability: sdno.capability.ServiceEndPoint -# relationship: sdno.relationship.ServiceEndPoint -# - realizes: -# node: sdno.node.Connection.SiteSubnet -# capability: sdno.capability.Realizes -# relationship: sdno.relationship.RealizedBy -# - realizes: -# node: sdno.node.Connection.Vpn -# capability: sdno.capability.Realizes -# relationship: sdno.relationship.RealizedBy -# - realizes: -# node: sdno.node.Connection.VpcSubnet -# capability: sdno.capability.Realizes -# relationship: sdno.relationship.RealizedBy -# - realizes: -# node: sdno.node.Connection.Sfc -# capability: sdno.capability.Realizes -# relationship: sdno.relationship.RealizedBy - - - # ***************************************************************************** - # VPC Node Types (VpcSubnet and Vpc) - # ***************************************************************************** - - sdno.node.Connection.VpcSubnet: - derived_from: sdno.node.Connection - properties: - cidr: - type: string - description: VPC subnet IP network, should be in format CIDR format. - required: false - vni: - type: integer - #format: int32 - description: The Vxlan id - required: false - vpcId: - type: string - description: VPC owns the subnet. - required: false - gatewayIp: - type: string - description: Gateway Ip addressed used for this subnet. ipv4 supported. VPC service set this property when Subnet is created. - required: false - attributes: - type: SubnetAttributes - required: false - description: - type: string - default: "VpcSubnet Service" - requirements: - - realizes: - node: sdno.node.Connection.Vpc - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/vpc.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/vpc.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnovpc/v1/subnets' - delete: - #implementation: 'DELETE /openoapi/sdnovpc/v1/subnets/{subnetId}' - get: - implementation: 'GET /openoapi/sdnovpc/v1/subnets/{subnetId}' - deploy: - implementation: - primary: 'POST /openoapi/sdnovpc/v1/subnets' - dependencies: - - sdno.node.Connection.Vpc/deploy - - sdno.node.Connection.VpcSubnet/deploy - undeploy: - implementation: - primary: 'DELETE /openoapi/sdnovpc/v1/subnets/{subnetId}' - dependencies: - - sdno.node.Connection.VpcSubnet/undeploy - - sdno.node.Connection.Vpc/undeploy - update: - #implementation: 'PUT /openoapi/sdnovpc/v1/subnet/{subnetId}' - - - - - sdno.node.Connection.Vpc: - derived_from: sdno.node.Connection - properties: - externalIp: - type: string - description: External IP assigned to the VPC. ipv4 supported. Used by SNAT and IPSec VPN Service. VPC service set this property after VPC is created. - required: false - attributes: - type: UnderlayResourcesType - required: false - description: - type: string - default: "Vpc Service" - artifacts: - swagger: - file: swagger/vpc.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/vpc.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnovpc/v1/vpcs' - delete: - #implementation: 'DELETE /openoapi/sdnovpc/v1/vpcs/{vpcId}' - get: - implementation: 'GET /openoapi/sdnovpc/v1/vpcs/{vpcId}' - deploy: - implementation: 'POST /openoapi/sdnovpc/v1/vpcs' - undeploy: - implementation: 'DELETE /openoapi/sdnovpc/v1/vpcs/{vpcId}' - update: - #implementation: 'PUT /openoapi/sdnovpc/v1/vpsc/{vpcId}' - - # ***************************************************************************** - # Site Node Types (Subnet, Vlan, Site with thinCPE and cCPE) - # ***************************************************************************** - - sdno.node.Connection.SiteSubnet: - derived_from: sdno.node.Connection - properties: *SiteSubnet - requirements: - - realizes: - node: sdno.node.Connection.Vlan - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/site.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/site.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnolocalsite/v1/subnets' - delete: - #implementation: 'DELETE /openoapi/sdnolocalsite/v1/subnets/{uuid}' - get: - implementation: 'GET /openoapi/sdnolocalsite/v1/subnets' - deploy: - implementation: - primary: 'POST /openoapi/sdnolocalsite/v1/subnets' - dependencies: - - sdno.node.Connection.Vlan/deploy - - sdno.node.Connection.SiteSubnet/deploy - undeploy: - implementation: - primary: 'DELETE /openoapi/sdnolocalsite/v1/subnets/{uuid}' - dependencies: - - sdno.node.Connection.SiteSubnet/undeploy - - sdno.node.Connection.Vlan/undeploy - - sdno.node.ConnectionEndPoint.ThinCpe/undeploy - - sdno.node.ConnectionEndPoint.VCpe/undeploy - - sdno.node.ConnectionEndPoint.Site/undeploy - update: - implementation: 'PUT /openoapi/sdnolocalsite/v1/subnets/{uuid}' - - sdno.node.Connection.Vlan: - derived_from: sdno.node.Connection - properties: *Vlan - requirements: - - realizes: - node: sdno.node.Connection.Site - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/site.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/site.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnolocalsite/v1/vlans' - delete: - #implementation: 'DELETE /openoapi/sdnolocalsite/v1/vlans/{uuid}' - get: - implementation: 'GET /openoapi/sdnolocalsite/v1/vlans' - deploy: - implementation: - primary: 'POST /openoapi/sdnolocalsite/v1/vlans' - dependencies: - - sdno.node.Connection.Site/deploy - - sdno.node.Connection.Vlan/deploy - undeploy: - implementation: 'DELETE /openoapi/sdnolocalsite/v1/vlans/{uuid}' - update: - implementation: 'PUT /openoapi/sdnolocalsite/v1/vlans/{uuid}' - - sdno.node.ConnectionEndPoint.ThinCpe: - derived_from: sdno.node.ConnectionEndPoint - properties: - siteId: - type: string - description: site id - required: false - esn: - type: string - description: esn - required: false - oldEsn: - type: string - description: old esn - required: false - localCpeType: - type: string - description: local cpe type - required: false - description: - type: string - default: 'ThinCpe' - requirements: - - realizes: - node: sdno.node.Connection.Site - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/site.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/site.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - implementation: 'POST /openoapi/sdnolocalsite/v1/local-cpes' - delete: - #implementation: 'DELETE /openoapi/sdnolocalsite/v1/local-cpes/{uuid}' - get: - implementation: 'GET /openoapi/sdnolocalsite/v1/local-cpes' - deploy: - implementation: 'POST /openoapi/sdnolocalsite/v1/local-cpes' - undeploy: - implementation: 'DELETE /openoapi/sdnolocalsite/v1/local-cpes/{uuid}' - update: - #implementation: 'PUT /openoapi/sdnolocalsite/v1/local-cpes/{uuid}' - - sdno.node.ConnectionEndPoint.VCpe: - derived_from: sdno.node.ConnectionEndPoint - properties: - siteId: - type: string - description: site id - required: false - popId: - type: string - description: pop id - required: false - esn: - type: string - description: esn - required: false - mgrIp: - type: string - description: mgr ip - required: false - mgrMask: - type: string - description: mask of mgr ip - required: false - mgrGateway: - type: string - description: mgr gateway ip - required: false - controllerIp: - type: string - description: controller ip - required: false - controllerMask: - type: string - description: controller mask - required: false - vendor: - type: string - description: vendor - required: false - type: - type: string - description: type - required: false - vnfdVersion: - type: string - description: vnfd Version - required: false - vnfdId: - type: string - description: vnfd id - required: false - callbackUrl: - type: string - description: callback Url - required: false - vnfmId: - type: string - description: vnfm id - required: false - dcLocation: - type: string - description: dc location - required: false - rangeId: - type: string - description: range id - required: false - referenceCount: - type: integer - #format: int32 - description: reference count - required: false - template: - type: string - description: template - required: false - description: - type: string - default: 'vCpe' - requirements: - - realizes: - node: sdno.node.Connection.Site - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/site.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/site.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnolocalsite/v1/cloud-cpes' - delete: - #implementation: 'DELETE /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}' - get: - implementation: 'GET /openoapi/sdnolocalsite/v1/cloud-cpes' - deploy: - implementation: 'POST /openoapi/sdnolocalsite/v1/cloud-cpes' - undeploy: - implementation: 'DELETE /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}' - update: - implementation: 'PUT /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}' - - - sdno.node.Connection.Site: - derived_from: sdno.node.Connection - properties: - deployCloudCpeByDeafult: - type: string - description: - default: 'true' - required: false - popId: - type: string - description: pop id - required: false - localCpeType: - type: string - description: local cpe type - required: false - siteDescriptor: - type: string - description: site Descriptor - required: false - reliability: - type: ReliabilityType - description: - required: false - isEncrypt: - type: string - description: is encrypt - required: false - vpnUpstreamBandwidth: - type: integer - #format: int64 - description: vpn Upstream Bandwidth default=-2L - required: false - vpnDownstreamBandwidth: - type: integer - # format: int64 - description: vpn Downstream Bandwidth default=-2L - required: false - totalDownstreamBandwidth: - type: string - description: total Downstream Bandwidth - required: false - totalUpstreamBandwidth: - type: string - description: total Upstream Bandwidth - required: false - # localCpes: - # type: list - # entry_schema: - # type: NeMoType - # required: false - # cloudCpes: - # type: list - # entry_schema: - # type: NeMoType - # required: false - # subnets: - # type: list - # entry_schema: - # type: SiteSubnetType - # required: false - # #revisit the type - # vlans: - # type: list - # entry_schema: - # type: VlanType - # required: false - #revisit the type - routes: - type: list - entry_schema: - type: RouteEntryInfoType - required: false - internetGateway: - type: list - entry_schema: - type: GatewayType - required: false - description: - type: string - default: 'Site Service' -# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER -# CURRENTLY ENFORCED IN THE TEMPLATE -# - # requirements: - # - endPoint: - # node: sdno.node.ConnectionEndPoint.ThinCpe - # capability: sdno.capability.ConnectionEndPoint - # - endPoint: - # node: sdno.node.ConnectionEndPoint.VCpe - # capability: sdno.capability.ConnectionEndPoint - artifacts: - swagger: - file: swagger/site.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/site.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnolocalsite/v1/sites' - delete: - #implementation: 'DELETE /openoapi/sdnolocalsite/v1/sites/{uuid}' - get: - implementation: 'GET /openoapi/sdnolocalsite/v1/sites' - deploy: - implementation: - primary: 'POST /openoapi/sdnolocalsite/v1/sites' - dependencies: - - sdno.node.Connection.Site/deploy - - sdno.node.ConnectionEndPoint.ThinCpe/deploy - - sdno.node.ConnectionEndPoint.VCpe/deploy - undeploy: - implementation: 'DELETE /openoapi/sdnolocalsite/v1/sites/{uuid}' - update: - implementation: 'PUT /openoapi/sdnolocalsite/v1/sites/{uuid}' - - # ***************************************************************************** - # VPN Node Types (Vpn, VpnConnection with siteGW and vpcGW) - # Order of requests: vpn, siteGW, vpcGW, vpnConnection - # ***************************************************************************** - - sdno.node.Connection.Vpn: - derived_from: sdno.node.Connection - properties: - vpnDescriptor: - type: string - description: vpn template name - required: false - requirements: - - realizes: - node: sdno.node.Connection.VpnConnection - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - artifacts: - swagger: - file: swagger/overlay.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/overlay.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - implementation: 'POST /openoapi/sdnooverlay/v1/vpns' - delete: - implementation: 'DELETE /openoapi/sdnooverlay/v1/vpns/{uuid}' - get: - implementation: 'GET /openoapi/sdnooverlay/v1/vpns' - deploy: - implementation: - primary: 'POST /openoapi/sdnooverlay/v1/vpns/action/deploy' - dependencies: - - sdno.node.Connection.Vpn/deploy - - sdno.node.Connection.VpnConnection/deploy - undeploy: - implementation: - primary: 'DELETE /openoapi/sdnooverlay/v1/vpns/action/undeploy' - dependencies: - - sdno.node.Connection.VpnConnection/undeploy - - sdno.node.ConnectionEndPoint.SiteGateway/undeploy - - sdno.node.ConnectionEndPoint.VpcGateway/undeploy - - sdno.node.Connection.Vpn/undeploy - update: - implementation: 'PUT /openoapi/sdnooverlay/v1/vpns/{uuid}' - - sdno.node.ConnectionEndPoint.SiteGateway: - derived_from: sdno.node.ConnectionEndPoint - properties: *Gateway - artifacts: - swagger: - file: swagger/overlay.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/overlay.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways' - delete: - #implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways' - get: - implementation: 'GET /openoapi/sdnooverlay/v1/vpn-gateways' - deploy: - implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways' - undeploy: - implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}' - update: - implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}' - - sdno.node.ConnectionEndPoint.VpcGateway: - derived_from: sdno.node.ConnectionEndPoint - properties: *Gateway - artifacts: - swagger: - file: swagger/overlay.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/overlay.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways' - delete: - #implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways' - get: - implementation: 'GET /openoapi/sdnooverlay/v1/vpn-gateways' - deploy: - implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways' - undeploy: - implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}' - update: - implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}' - - sdno.node.Connection.VpnConnection: - derived_from: sdno.node.Connection - properties: - vpnId: - type: string - required: false - aEndVpnGatewayId: - type: string - required: false - zEndVpnGatewayId: - type: string - required: false - vni: - type: string - required: false - description: - type: string - default: 'vpn connection' -# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER -# CURRENTLY ENFORCED IN THE TEMPLATE -# -# requirements: -# - endPoint: -# node: sdno.node.ConnectionEndPoint.SiteGateway -# capability: sdno.capability.ConnectionEndPoint -# - endPoint: -# node: sdno.node.ConnectionEndPoint.VpcGateway -# capability: sdno.capability.ConnectionEndPoint - artifacts: - swagger: - file: swagger/overlay.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/overlay.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - implementation: 'POST /openoapi/sdnooverlay/v1/vpn-connections' - delete: - implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-connections/{uuid}' - get: - implementation: 'GET /openoapi/sdnooverlay/v1/vpn-connections' - deploy: - implementation: - primary: 'POST /openoapi/sdnooverlay/v1/vpn-connections/action/deploy' - dependencies: - - sdno.node.ConnectionEndPoint.SiteGateway/deploy - - sdno.node.ConnectionEndPoint.VpcGateway/deploy - - sdno.node.Connection.VpnConnection/deploy - undeploy: - implementation: 'POST /openoapi/sdnooverlay/v1/vpn-connections/action/undeploy' - update: - implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-connections/{uuid}' - - # ***************************************************************************** - # SFC Node Types - # ***************************************************************************** - - sdno.node.Connection.Sfc: - derived_from: sdno.node.Connection - properties: - sfcName: - type: string - description: The name of service function chain template - required: false - sfcId: - type: string - description: The id of service function chain template - required: false - popId: - type: string - description: The id of pop - required: false - scfNeId: - type: string - description: The id of scf NE - required: false - symmetric: - type: boolean - description: Whetehr symmetric - required: false - transportType: - type: string - description: The type of the transport - required: false - servicePathHops: - type: list - entry_schema: - type: ServicePathHopType - description: Hop Number of the SFC - required: false - classifiers: - type: list - entry_schema: - type: ServiceClassiferType - description: The list of sfc - required: false - description: - type: string - default: 'Service Function Chain Service' - artifacts: - swagger: - file: swagger/sfc.jaml - type: sdno.artifacts.Implementation.Swagger - mapper: - file: mapper/sfc.tsmap - type: sdno.artifacts.Implementation.ToscaSwaggerMapper - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - #implementation: 'POST /openoapi/sdnoservicechain/v1/paths' - delete: - #implementation: 'DELETE /openoapi/sdnoservicechain/v1/paths/{uuid}' - get: - #implementation: 'GET /openoapi/sdnoservicechain/v1/paths' - deploy: - implementation: 'POST /openoapi/sdnoservicechain/v1/paths' - undeploy: - implementation: 'DELETE /openoapi/sdnoservicechain/v1/paths/{uuid}' - update: - #implementation: 'PUT /openoapi/sdnoservicechain/v1/paths/{uuid}' - - # ***************************************************************************** - # Onderlayvpn Node Types - # ***************************************************************************** - tosca.nodes.sdno.NS.overlayvpn: - properties: - id: - type: string - required: false - template_name: - type: string - required: false - version: - type: string - required: false - vendor: - type: string - required: false - template_author: - type: string - required: false - vpnName: - type: string - required: false - vpnDescription: - type: string - required: false - siteName: - type: string - required: false - siteCidr: - type: string - required: false - subnetVlan: - type: integer - required: false - siteVni: - type: integer - required: false - vpcName: - type: string - required: false - vpcSubnetName: - type: string - required: false - vpcSubnetCidr: - type: string - required: false - vpcVni: - type: integer - required: false - vpnType: - type: string - required: false - dcGwIp: - type: string - required: false - dcFwIp: - type: string - required: false - dcLbIp: - type: string - required: false
\ No newline at end of file diff --git a/docs/refspec/open-o/sdn-nsd/sdno_type_definition.yaml b/docs/refspec/open-o/sdn-nsd/sdno_type_definition.yaml deleted file mode 100644 index 5b63750..0000000 --- a/docs/refspec/open-o/sdn-nsd/sdno_type_definition.yaml +++ /dev/null @@ -1,540 +0,0 @@ -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# 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 -description: sdno basic types - - -metadata: - version: 0.1 - vendor: sdno - template_author: Huawei - -# ***************************************************************************** -# macros -# **************************************************************************** -dsl_definitions: - - BaseServiceInfo: &BaseServiceInfo - adminStatus: - type: AdministrationStateType - description: Used to administratively activate or deactivate already deployed service object - default: 'none' - operStatus: - type: OperationalStateType - description: Used to indicate if the service entity is operational. - default: 'none' - syncStatus: - type: SyncStateType - description: Used to indicate of the service entity is in sync or out of sync with the network - default: 'none' - actionState: - type: ActionStateType - description: Stores the result of the last action on the service object. - default: 'none' - statusReason: - type: string - description: In case of ERROR actionState, it will have the reason for the error. - Otherwise its empty. It is required to make create process to be asynchronous. - default: 'none' - createTime: - type: string - description: create time - default: 'none' - updateTime: - type: string - description: update time - default: 'none' - ownerID: - type: string - description: ID of the owner of the object, can contain controllerID - default: 'sdno' - tenantID: - type: string - description: ID of the tenant - default: 'none' - location: - type: string - description: Location if on single location - default: 'none' - additionalInfo: - type: list - #max size = 1000 - entry_schema: - type: AdditionalInfoRow - required: false - -# ***************************************************************************** -# data types -# ***************************************************************************** -data_types: - - ActionType: - derived_from: string - description: >- - Generic API operations for Connectivity Service lifecycle management. The specific REST requests would be mapped to - these generic ones. - constraints: - - valid_values: ['create','deploy','get','update','undeploy','delete'] - - ActionStateType: - derived_from: string - description: State and/or result of the generic API operations. In the case of the exception, additional information may be present in the statusReason property. - constraints: - - valid_values: ['none', 'normal', 'creating', 'deleting', 'updating', 'create_exception', 'update_exception','delete_exception','deploying', 'deploy_exception', 'undeploying', 'undeploy_exception', 'checking', 'check_exception'] - - LifecycleStateType: - derived_from: string - description: >- - Currently supported lifecycle states for connectivity service. Connectivity Service can either be created - in the inventory or deployed on the network. - constraints: - - valid_values: ['none','created','deployed'] - - AdministrationStateType: - derived_from: string - description: >- - Administrative State that indicates if already deployed connectivity service object or its component is activated or not. - constraints: - - valid_values: ['none', 'active', 'inactive', 'partially_inactive'] - - OperationalStateType: - derived_from: string - description: >- - Operational State that indicates if already deployed and activated connectivity service object or its component is operational or not. - constraints: - - valid_values: ['none','up','down', 'partially_down'] - - - SyncStateType: - derived_from: string - description: >- - Sync State that indicates if already deployed and activated connectivity service object is in sync or out of sync with the network. - constraints: - - valid_values: ['none', 'sync', 'out-sync'] - - DirectionalityType: - derived_from: string - description: Directionality of the connectivity service flow in the endpoint or port. - constraints: - - valid_values: ['input','output','bidirectional'] - - AdditionalInfoRow: - derived_from: tosca.datatypes.Root - description: Row in the additional info list - properties: - id: - type: string - default: 'none' - name: - type: string - default: 'none' - value: - type: string - default: 'none' - firstParentUuid: - type: string - default: 'none' - - StateMachineRow: - derived_from: tosca.datatypes.Root - description: Row in the state transition table - properties: - apiOperation: - type: ActionType - currentState: - type: LifecycleStateType - transitionWorkflow: - type: string - newState: - type: LifecycleStateType - - StateMachineType: - derived_from: tosca.datatypes.Root - description: Connectivity Service State Engine - properties: - rows: - type: list - entry_schema: - type: StateMachineRow - - -# ***************************************************************************** -# capability types -# ***************************************************************************** - -capability_types: - # ConnectionEndPoint can be derived from tosca.capabilities.Endpoint ? - sdno.capability.ConnectionEndPoint: - derived_from: tosca.capabilities.Root - - # ServiceEndPoint can be derived from tosca.capabilities.Endpoint ? - sdno.capability.ServiceEndPoint: - derived_from: tosca.capabilities.Root - - sdno.capability.Realizes: - derived_from: tosca.capabilities.Root - - sdno.capability.Host: - derived_from: tosca.capabilities.Node - - sdno.capability.Bindable: - derived_from: tosca.capabilities.Node - -# ***************************************************************************** -# interface_types -# ***************************************************************************** -interface_types: - - sdno.interfaces.lifecycle.Standard: - create: - description: Standard lifecycle create operation. - update: - description: Standard lifecycle configure and update operation. - deploy: - description: Standard lifecycle deploy operation. - undeploy: - description: Standard lifecycle undeploy operation. - delete: - description: Standard lifecycle delete operation. - get: - description: Standard lifecycle get operation. - - -# ***************************************************************************** -# relationship types -# ***************************************************************************** -relationship_types: - - sdno.relationship.ServiceEndPoint: - description: >- - The relationship specifies which ServiceEndPoints are terminating the ConnectivityService. - The association of the ConnectivityService to ServiceEndPoints is made via the Ports of the ConnectivityService, - where each Port of the ConnectivityService has a role and directionality in the context of the ConnectivityService. - derived_from: tosca.relationships.Root - properties: - # This is initial simple ConnectivityServicePort model, this may be enhanced later via separate Nodes and/or Types - connectivityServicePort: - type: string - required: false - role: - type: string - required: false - directionality: - type: DirectionalityType - required: false - valid_target_types: [sdno.capability.ServiceEndPoint] - - sdno.relationship.ConnectionEndPoint: - description: >- - The relationship specifies which ConnectionEndPonts are terminating the Connection. - The association of the Connection to ConnectionEndPoints is made via the Ports of the Connection, - where each Port of the Connection has a role and directionality in the context of the Connection. - derived_from: tosca.relationships.Root - properties: - # This is initial simple ConnectionPort model, this may be enhanced later via separate Nodes and/or Types - connectionPort: - type: string - required: false - role: - type: string - required: false - directionality: - type: DirectionalityType - required: false - valid_target_types: [sdno.capability.ConnectionEndPoint] - - sdno.relationship.RealizedBy: - description: >- - The relationship specifies what Connenctions are Connectivity Services or Connections realized from. - derived_from: tosca.relationships.Root - valid_target_types: [sdno.capability.Realizes] - - sdno.relationship.HostedOn: - description: >- - The relationship specifies what Node the Endpoint is hosted on. - derived_from: tosca.relationships.Root - valid_target_types: [sdno.capability.Host] - - sdno.relationship.BindsTo: - description: >- - The relationship represents a network association relationship between NodeEdgePoint and Network Node types - derived_from: tosca.relationships.DependsOn - valid_target_types: [sdno.capability.Bindable] - - -# ***************************************************************************** -# artifact types -# ***************************************************************************** -artifact_types: - sdno.artifacts.Implementation.Swagger: - derived_from: tosca.artifacts.Implementation - description: swagger API document - mime_type: application/x-jaml - file_ext: [jaml] - - sdno.artifacts.Implementation.ToscaSwaggerMapper: - derived_from: tosca.artifacts.Implementation - description: mapping between property of TOSCA node instance and data model used by swagger API - mime_type: application/x-tsmap - file_ext: [tsmap] - - -# ***************************************************************************** -# node types -# ***************************************************************************** -node_types: - - sdno.node.Root: - derived_from: tosca.nodes.Root - description: The SDNO Node Type all other SDNO base Node Types derive from - properties: - id: - type: string - required: true - default: 'none' - name: - type: string - required: true - default: 'none' - description: - type: string - required: true - default: 'none' - version: - type: string - required: true - default: '1.0' - - sdno.node.Node: - derived_from: sdno.node.Root - description: >- - It represents a network element which can be managed remotely (through controller or not). Sometimes called managed element. - properties: - ipAddress: - type: string - default: 0.0.0.0 - logicID: - type: string - default: 'none' - phyNeID: - type: string - default: 'none' - nativeID: - type: string - default: 'none' - controllerID: - type: string - default: 'none' - siteName: - type: string - default: 'none' - capabilities: - host: - type: sdno.capability.Host - binding: - type: sdno.capability.Bindable - - sdno.node.NodeEdgePoint: - derived_from: sdno.node.Root - description: >- - It represents the inward network-facing aspects of the edge-port functions that access the forwarding capabilities provided by the Node. - properties: - mgrIP: - type: string - default: 0.0.0.0 - requirements: - - binding: - node: sdno.node.Node - capability: sdno.capability.Bindable - relationship: sdno.relationship.BindsTo - - sdno.node.ServiceEndPoint: - derived_from: sdno.node.Root - description: >- - It represents the outward customer-facing aspects of the edge-port functions that access the forwarding capabilities provided by the Node. - Hence it provides a limited, simplified view of interest to external clients, - that enable the clients to request connectivity without the need to understand the provider network internals. - properties: *BaseServiceInfo - capabilities: - endPoint: - type: sdno.capability.ServiceEndPoint - requirements: - - node: - node: sdno.node.Node - capability: sdno.capability.Host - relationship: sdno.relationship.HostedOn - occurrences: [0, UNBOUNDED] - - sdno.node.ConnectivityService: - derived_from: sdno.node.Root - description: >- - It represents an “intent-like” request for connectivity between two or more ServiceEndPoints. - As such, ConnectivityService is a container for connectivity request details and is distinct - from the Connection that realizes the request - # properties: *BaseServiceInfo - properties: - adminStatus: - type: AdministrationStateType - description: Used to administratively activate or deactivate already deployed service object - default: 'none' - operStatus: - type: OperationalStateType - description: Used to indicate if the service entity is operational. - default: 'none' - syncStatus: - type: SyncStateType - description: Used to indicate of the service entity is in sync or out of sync with the network - default: 'none' - actionState: - type: ActionStateType - description: Stores the result of the last action on the service object. - default: 'none' - statusReason: - type: string - description: In case of ERROR actionState, it will have the reason for the error. - Otherwise its empty. It is required to make create process to be asynchronous. - default: 'none' - createTime: - type: string - description: create time - default: 'none' - updateTime: - type: string - description: update time - default: 'none' - ownerID: - type: string - description: ID of the owner of the object, can contain controllerID - default: 'sdno' - tenantID: - type: string - description: ID of the tenant - default: 'none' - location: - type: string - description: Location if on single location - default: 'none' - additionalInfo: - type: list - #max size = 1000 - entry_schema: - type: AdditionalInfoRow - required: false - templateId: - type: string - default: 'none' - lifecycleState: - type: LifecycleStateType - default: 'none' - state_machine: - type: StateMachineType - default: - rows: - - {apiOperation: create, currentState: none, transitionWorkflow: create, newState: created} - - {apiOperation: create, currentState: created, transitionWorkflow: error, newState: created} - - {apiOperation: create, currentState: deployed, transitionWorkflow: error, newState: deployed} - - {apiOperation: deploy, currentState: none, transitionWorkflow: deploy, newState: deployed} - - {apiOperation: deploy, currentState: created, transitionWorkflow: deployCreated, newState: deployed} - - {apiOperation: deploy, currentState: deployed, transitionWorkflow: ERR, newState: deployed} - - {apiOperation: get, currentState: none, transitionWorkflow: ERR, newState: none} - - {apiOperation: get, currentState: created, transitionWorkflow: get, newState: created} - - {apiOperation: get, currentState: deployed, transitionWorkflow: get, newState: deployed} - - {apiOperation: update, currentState: none, transitionWorkflow: ERR, newState: none} - - {apiOperation: update, currentState: created, transitionWorkflow: updatecreated, newState: created} - - {apiOperation: update, currentState: deployed, transitionWorkflow: updateDeployed, newState: deployed} - - {apiOperation: undeploy, currentState: none, transitionWorkflow: ERR, newState: none} - - {apiOperation: undeploy, currentState: created, transitionWorkflow: ERR, newState: created} - - {apiOperation: undeploy, currentState: deployed, transitionWorkflow: undeploy, newState: created} - - {apiOperation: delete, currentState: none, transitionWorkflow: ERR, newState: none} - - {apiOperation: delete, currentState: created, transitionWorkflow: deleteCreated, newState: none} - - {apiOperation: delete, currentState: deployed, transitionWorkflow: deleteDeployed, newState: none} - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - create: - implementation: - primary: 'POST /openoapi/sdnonslcm/v1/ns' - delete: - implementation: - primary: 'DELETE /openoapi/sdnonslcm/v1/ns/{instanceid}' - get: - implementation: - primary: 'GET /openoapi/sdnonslcm/v1/ns/{instanceid}' - deploy: - implementation: - primary: 'POST /openoapi/sdnonslcm/v1/ns/{instanceid}/instantiate' - undeploy: - implementation: - primary: 'POST /openoapi/sdnonslcm/v1/ns/{instanceid}/terminate' - update: - implementation: - primary: 'PUT /openoapi/sdnonslcm/v1/ns/{instanceid}' - requirements: - - endPoint: - node: sdno.node.ServiceEndPoint - capability: sdno.capability.ServiceEndPoint - relationship: sdno.relationship.ServiceEndPoint - # check aria processing for the min=2 - occurrences: [2, UNBOUNDED] - - realizes: - node: sdno.node.Connection - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - occurrences: [1, UNBOUNDED] - - - sdno.node.ConnectionEndPoint: - derived_from: sdno.node.Root - properties: - *BaseServiceInfo - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - description: >- - It represents the ingress/egress port aspects that access the forwarding function provided - by the Connection. - capabilities: - endPoint: - type: sdno.capability.ConnectionEndPoint - requirements: - - node: - node: sdno.node.Node - capability: sdno.capability.Host - relationship: sdno.relationship.HostedOn - occurrences: [0, UNBOUNDED] - - sdno.node.Connection: - derived_from: sdno.node.Root - properties: - *BaseServiceInfo - interfaces: - standard: - type: sdno.interfaces.lifecycle.Standard - description: >- - The Connection represents an enabled potential for forwarding between two or more connectionEndPoints - capabilities: - realizes: - type: sdno.capability.Realizes - requirements: - - endPoint: - node: sdno.node.ConnectionEndPoint - capability: sdno.capability.ConnectionEndPoint - relationship: sdno.relationship.ConnectionEndPoint - # check aria processing for the min=2 - occurrences: [0, UNBOUNDED] - - realizes: - node: sdno.node.Connection - capability: sdno.capability.Realizes - relationship: sdno.relationship.RealizedBy - occurrences: [0, UNBOUNDED]
\ No newline at end of file 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. |