summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhuangsam <huangshs@163.com>2017-11-13 19:11:44 +0800
committerhuangsam <huangshs@163.com>2017-11-13 19:11:44 +0800
commitd650571280c041e0602dd93ff407dd16092a320e (patch)
tree8767d86a2421a0234941ab840dc197d2f13e7fe4
parent49d2cac0a82887b73f167aba3ff32dea09019534 (diff)
Convert .md to .rst, and delete .yaml file.
Change-Id: I7102b79d4669167683635d320798898f064e8f61 Issue-ID: MODELING-36 Signed-off-by: huangsam <huangshs@163.com>
-rwxr-xr-xdocs/refspec/open-o/e2e-service/e2e-service-dm.yaml132
-rw-r--r--docs/refspec/open-o/index.rst5
-rwxr-xr-xdocs/refspec/open-o/nfv-nsd/README.md28
-rwxr-xr-xdocs/refspec/open-o/nfv-nsd/TOSCA_definition_nfv_ns_1_0.yaml176
-rw-r--r--docs/refspec/open-o/nfv-nsd/TOSCA_definition_ns_ext_1_0.yaml232
-rw-r--r--docs/refspec/open-o/nfv-nsd/nfv-nsd-template.rst40
-rw-r--r--docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_template.yaml181
-rw-r--r--docs/refspec/open-o/sdn-nsd/VoLTE_underlayVPN_type_definition.yaml756
-rw-r--r--docs/refspec/open-o/sdn-nsd/enterprise2DC_template.yaml252
-rw-r--r--docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml1226
-rw-r--r--docs/refspec/open-o/sdn-nsd/sdno_type_definition.yaml540
-rwxr-xr-xdocs/refspec/open-o/vnfd/README.md27
-rw-r--r--docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml429
-rw-r--r--docs/refspec/open-o/vnfd/tosca_definition_1.0.yaml892
-rw-r--r--docs/refspec/open-o/vnfd/vNAT.yaml140
-rw-r--r--docs/refspec/open-o/vnfd/vnfd-template.rst39
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.