summaryrefslogtreecommitdiffstats
path: root/docs/files/VNF SDK blueprints.rst
diff options
context:
space:
mode:
authorVictor Gao <victor.gao@huawei.com>2018-10-27 12:02:03 +0800
committerVictor Gao <victor.gao@huawei.com>2018-10-27 12:02:03 +0800
commitaabac012c07d6eed7e19ff279b53a2a05be56f27 (patch)
treefa6a00d9105b1d88c2464117194c132e7e4ef61c /docs/files/VNF SDK blueprints.rst
parent8ee8ce8f3312ab49c5d8b66c29b41f84503f0d9e (diff)
Remove useless blueprint file
Change-Id: Ic6e5f29467f9998b46f37c09eaf4b612308fe8f1 Issue-ID: VNFSDK-332 Signed-off-by: Victor Gao <victor.gao@huawei.com>
Diffstat (limited to 'docs/files/VNF SDK blueprints.rst')
-rw-r--r--docs/files/VNF SDK blueprints.rst558
1 files changed, 0 insertions, 558 deletions
diff --git a/docs/files/VNF SDK blueprints.rst b/docs/files/VNF SDK blueprints.rst
deleted file mode 100644
index f0952c1..0000000
--- a/docs/files/VNF SDK blueprints.rst
+++ /dev/null
@@ -1,558 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Huawei Technologies Co., Ltd.
-.. SPDX-License-Identifier: CC-BY-4.0
-
-VNF SDK sample Blueprints
-=========================
-
-pingpong.yaml
--------------
-::
-
- # Copyright (c) 2016 GigaSpaces Technologies Ltd. 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.
- tosca_definitions_version: tosca_simple_profile_for_nfv_1_0
-
- description: >-
- Ping-Pong VNF example (draft 3).
-
- A simple VNF composed of two VDU templates, "ping" and "pong". For simplicity, we are
- not defining any scalability, so there will always be single insstances of each VDU.
-
- imports:
- - vnfsdk-profile-1.0.yaml # the types for our suggested extensions to the NFV profile
-
- topology_template:
-
- inputs:
- dpdk:
- description: >-
- Allows operators to override the dpdk requirement for the "ping" VDU.
- type: boolean
- default: true
- connectivity_indicator:
- description: >-
- Allows operators to override the connectivity indicator implementation for the
- "ping" VDU.
- default: scripts/vdu/ping_get_connectivity.sh # included in the CSAR
-
- substitution_mappings:
- # In a separate service chain blueprint, our entire blueprint here can be substituted as a
- # single complete VNF.
- node_type: tosca.nodes.nfv.VNF
- requirements:
- virtual_link: [ ingress_route, virtual_link ]
-
- node_templates:
-
- ping_vdu:
- type: tosca.nodes.nfv.VDU
- artifacts:
- image:
- type: tosca.artifacts.Deployment.Image.VM
- file: images/ping_vdu.qcow2 # included in the CSAR
- interfaces:
- Standard:
- configure: scripts/vdu/ping_configure.sh # included in the CSAR
- requirements:
- - dependency:
- node: ping_host
- relationship:
- type: vnfsdk.VirtualHostedOn
- properties:
- indicators:
- hits:
- type: int
- implementation: scripts/vdu/ping_get_hits.sh # included in the CSAR
- connectivity:
- type: string
- implementation: { get_input: connectivity_indicator }
- compute_dependencies:
- profile:
- value: high_performance
- # "profile" is a special key that will pull in a complete bundles of
- # dependencies, which can then override individually here. See
- # compute-profiles.yaml, included in the CSAR, for the bundled values.
- dpdk:
- value: { get_input: dpdk }
- sse:
- value: version 2.0
- optional: true
- - dependency: pong_vdu
-
- pong_vdu:
- type: tosca.nodes.nfv.VDU
- artifacts:
- image:
- type: tosca.artifacts.Deployment.Image.VM
- file: images/pong_vdu.qcow2 # included in the CSAR
- interfaces:
- Standard:
- configure: scripts/vdu/pong_configure.sh # included in the CSAR
- requirements:
- - dependency:
- node: pong_host
- relationship:
- type: vnfsdk.VirtualHostedOn
- properties:
- compute_dependencies:
- cpu_affinity:
- value: 'true'
- container:
- value: 'false'
-
- ping_host:
- type: tosca.nodes.Compute
-
- pong_host:
- type: tosca.nodes.Compute
-
- ingress_vl:
- type: tosca.nodes.nfv.VL.ELine
- properties:
- cidr: 10.2.10.0/24
- gateway_ip: 10.2.10.1
- network_type: vlan
- physical_network: phynet2
- segmentation_id: '1001'
- vendor: TheCarrier
-
- ingress_route:
- type: tosca.nodes.nfv.CP
- description: >-
- Ingress connection point bound to the router VL and linked to the router VDU.
- properties:
- type: vPort
- requirements:
- - binding: ingress_vl
- - link: ping_vdu
- - virtual_binding: ingress_vl
- - virtual_link: ping_vdu
-
- policies:
- allocation:
- type: vnfsdk.Allocation
- targets:
- - ping_vdu
- - pong_vdu
-
- placement:
- type: vnfsdk.Placement
- targets:
- - ping_host
- - pong_host
-
-vrouter.yaml
-------------
-::
-
- # Copyright (c) 2016 GigaSpaces Technologies Ltd. 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.
-
- tosca_definitions_version: tosca_simple_profile_for_nfv_1_0
-
- description: >-
- vRouter VNF example (draft 3).
-
- For the purposes of example, this VNF is composed of two VDU templates, one for routing that can
- scale, and a central VDU for storing the state that cannot scale. So, for example, in some
- configurations the VNF might have 3 routing VDU instances and a single data VDU instance (4 VDU
- instances total).
-
- imports:
- - vnfsdk-profile-1.0.yaml # the types for our suggested extensions to the NFV profile
-
- topology_template:
-
- substitution_mappings:
- # In a separate service chain blueprint, our entire blueprint here can be substituted as a
- # single complete VNF.
- node_type: tosca.nodes.nfv.VNF
- requirements:
- virtual_link: [ ingress_route, virtual_link ]
-
- node_templates:
-
- router_vdu:
- type: tosca.nodes.nfv.VDU
- description: >-
- In charge of handling the routing. Each instance of this VDU template can handle only a
- limited amount of bandwidth depending on host capabilities, but it can be scaled out within
- the VNF.
- artifacts:
- image:
- type: tosca.artifacts.Deployment.Image.VM
- file: images/router_vdu.qcow2 # included in the CSAR
- interfaces:
- Standard:
- configure: scripts/vdu/router_configure.sh # included in the CSAR
- requirements:
- - dependency:
- node: router_host
- relationship:
- type: vnfsdk.VirtualHostedOn
- properties:
- indicators:
- hits:
- type: int
- implementation: scripts/vdu/router_get_hits.sh # included in the CSAR
- connectivity:
- type: string
- implementation: scripts/vdu/router_get_connectivity.sh # included in the CSAR
- compute_dependencies:
- dpdk:
- value: 'true'
- priority: 0.8 # a strong preference
- sse:
- value: version 2.0
- priority: 0.2 # nice to have
- container:
- value: 'false'
- # the default priority is 1.0, meaning an absolute requirement
- - dependency: data_vdu
- capabilities:
- monitoring_parameter: # note that this capability has an "ip_address" attribute
- properties:
- protocol: http
- port: 8081
- url_path: /data/telemetry
-
- data_vdu:
- type: tosca.nodes.nfv.VDU
- description: >-
- All the router VDUs connect to the same data VDU which stores the configuration and state of
- the VNF. We are assuming that this VNF product does not support scaling of the data VDU.
- artifacts:
- image:
- type: tosca.artifacts.Deployment.Image.VM
- file: images/data_vdu.qcow2 # included in the CSAR
- interfaces:
- Standard:
- configure: scripts/vdu/data_configure.sh # included in the CSAR
- requirements:
- - dependency:
- node: data_host
- relationship:
- type: vnfsdk.VirtualHostedOn
- properties:
- compute_dependencies:
- cpu_affinity:
- value: 'true'
- container:
- value: 'false'
- priority: 1.0 # hints that it's absolutely required
- capabilities:
- nfv_compute:
- # This is the "standard" way to define performance optimization in the NFV profile
- properties:
- mem_page_size: large
- cpu_allocation:
- core_count: 4
- numa_node_count: 2
- numa_nodes:
- primary:
- id: 0
- mem_size: 16 GB
- vcpus:
- a: 2
- b: 3
- secondary:
- id: 1
- mem_size: 2 GB
-
- router_host:
- type: tosca.nodes.Compute
- capabilities:
- scalable:
- properties:
- max_instances: 4
-
- data_host:
- type: tosca.nodes.Compute
- requirements:
- - local_storage:
- node: database_storage
- relationship:
- properties:
- location: /mnt/database
-
- database_storage:
- type: tosca.nodes.BlockStorage
- properties:
- size: 5 GB
-
- ingress_vl:
- type: tosca.nodes.nfv.VL.ELine
- properties:
- cidr: 10.2.10.0/24
- gateway_ip: 10.2.10.1
- network_type: vlan
- physical_network: phynet2
- segmentation_id: '1001'
- vendor: TheCarrier
-
- ingress_route:
- type: tosca.nodes.nfv.CP
- description: >-
- Ingress connection point bound to the router VL and linked to the router VDU.
- properties:
- type: vPort
- requirements:
- - binding: ingress_vl
- - link: router_vdu
- - virtual_binding: ingress_vl
- - virtual_link: router_vdu
-
- policies:
- allocation:
- type: vnfsdk.Allocation
- properties:
- prioritize: cost
- targets:
- - router_vdu
- - data_vdu
-
- placement:
- type: vnfsdk.Placement
- properties:
- prioritize: performance
- targets:
- - router_host
- - data_host
- - database_storage
-
- scaling:
- type: vnfsdk.Scaling
- properties:
- bandwidth_threshold: 1.5 GB
- targets:
- - router_vdu
-
- performance:
- type: vnfsdk.Assurance
- properties:
- responsivness: 0.1 Hz
- targets:
- - ingress_vl
-
-vnfsdk-profile-1.0.yaml
------------------------
-::
-
- # Copyright (c) 2016 GigaSpaces Technologies Ltd. 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.
-
- # vnfsdk-profile-1.0 (draft 3)
-
- # Required extensions to the TOSCA Simple Profile for Network Functions Virtualization (NFV)
- # Version 1.0.
-
- relationship_types:
-
- vnfsdk.VirtualHostedOn:
- description: >-
- The standard VDU type in the simple NFV is completely separate from the "compute" world. The
- only relatiionship we have available to connect them is DependsOn. Thus, we must extend it in
- order to implement the connection.
- derived_from: tosca.relationships.DependsOn
- valid_target_types:
- - tosca.capabilities.Node
- properties:
- indicators:
- description: >-
- Performance, availability, and other indicators.
- type: map
- entry_schema: vnfsdk.Indicator
- required: false
- compute_dependencies:
- description: >-
- These dependencies will be used by a resource orchestrator/allocator to assign the best
- possible performance profile.
- type: map
- entry_schema: vnfsdk.ComputeDependency
- required: false
-
- policy_types:
-
- vnfsdk.Allocation:
- description: >-
- The orchestrator will apply an algorithm to make sure that VDUs will be allocated the best
- possible hosts according
- derived_from: tosca.policies.Root
- targets:
- - tosca.nodes.nfv.VDU
- properties:
- prioritize:
- description: >-
- Hint to allocation algorithm.
- type: vnfsdk.PolicyPriority
- default: balance
-
- vnfsdk.Placement:
- description: >-
- The orchestrator will apply an algorithm to make sure that our VIM resources will be allocated
- and placed near each other in the data center to guarantee best internal connectivity. This is
- necessary for the VNF to function as an efficient whole, despite being composed of many VIM
- resources.
- derived_from: tosca.policies.Placement
- targets:
- - tosca.nodes.Compute
- - tosca.nodes.BlockStorage
- properties:
- prioritize:
- description: >-
- Hint to placement algorithm.
- type: vnfsdk.PolicyPriority
-
- description: >-
- The orchestrator will monitor bandwidth and auto-scale (up and down) according to an algorithm
- configured by our defined parameters here.
- derived_from: tosca.policies.Scaling
- properties:
- bandwidth_threshold:
- description: >-
- Over this bandwidth the algorithm should start scaling up, and under it, it should scale
- down.
- type: scalar-unit.size
- polling_interval:
- description: >-
- How often to check bandwidth.
- type: scalar-unit.time
- default: 10 s
- targets:
- - tosca.nodes.nfv.VDU
-
- vnfsdk.Assurance:
- description: >-
- The orchestrator (SDN-O?) will make sure the virtual link is configured to perform within our
- defined performance envelope here.
- derived_from: tosca.policies.Performance
- properties:
- responsivness:
- description: >-
- How often assurance should be checked.
- type: scalar-unit.frequency
- targets:
- - tosca.nodes.nfv.VL.ELine
-
- data_types:
-
- vnfsdk.ComputeDependency:
- derived_from: tosca.datatypes.Root
- properties:
- value:
- description: >-
- The dependency value.
- type: string
- optional:
- description: >-
- Whether the dependency is optional. When set to true implies priority 0.5.
- type: boolean
- default: false
- priority:
- description: >-
- Allows fine-tuning of the dependency's priority.
- type: float
- constraints:
- - in_range: [ 0.0, 1.0 ]
- default: 1.0
-
- vnfsdk.Indicator:
- derived_from: tosca.datatypes.Root
- properties:
- type:
- description: >-
- The type of the indicator.
- type: string
- implementation:
- description: >-
- The indicator's implementation.
- type: string
-
- vnfsdk.PolicyPriority:
- derived_from: string
- constraints:
- - valid_values: [ performance, cost, balance ]
-
-
-compute-profiles.yaml
----------------------
-::
-
- # Copyright (c) 2016 GigaSpaces Technologies Ltd. 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.
-
- performance_profiles:
-
- tosca.nodes.nfv.VDU:
-
- high_availability:
- cpu_allocation:
- cpu_affinity: dedicated
- thread_allocation: isolate
- socket_count: 2
- core_count: 2
- thread_count: 4
- dpdk: true
- cpu_affinity:
- default: false
- value: { get_input: cpu_affinity }
-
- low_availability:
- cpu_allocation:
- thread_allocation: isolate
- socket_count: 1
- core_count: 1
- thread_count:
- default: 4
- value: { get_input: thread_count }
- 0000c0onstraint: { in_range: [ 1, 4 ] }
- dpdk: false
- cpu_affinity: true
-
-Code for this document is available under the Apache License, Version 2.0