summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/files/VNF SDK blueprints.rst1033
-rw-r--r--docs/files/mktplace-install.rst6
-rw-r--r--docs/files/vnfsdk-apis.rst27
3 files changed, 532 insertions, 534 deletions
diff --git a/docs/files/VNF SDK blueprints.rst b/docs/files/VNF SDK blueprints.rst
index a7c15a2..50a58ed 100644
--- a/docs/files/VNF SDK blueprints.rst
+++ b/docs/files/VNF SDK blueprints.rst
@@ -1,561 +1,556 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. 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
+ # 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).
-# 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
+ 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).
-description: >-
- vRouter VNF example (draft 3).
+ imports:
+ - vnfsdk-profile-1.0.yaml # the types for our suggested extensions to the NFV profile
- 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).
+ topology_template:
-imports:
- - vnfsdk-profile-1.0.yaml # the types for our suggested extensions to the NFV profile
+ 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 ]
-topology_template:
+ node_templates:
- 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 ]
+ 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
- node_templates:
+vnfsdk-profile-1.0.yaml
+-----------------------
+::
- 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
+ # 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: >-
- 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
+ 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:
- size: 5 GB
+ prioritize:
+ description: >-
+ Hint to allocation algorithm.
+ type: vnfsdk.PolicyPriority
+ default: balance
- 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
+ vnfsdk.Placement:
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
+ 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:
- - router_vdu
- - data_vdu
-
- placement:
- type: vnfsdk.Placement
+ - tosca.nodes.Compute
+ - tosca.nodes.BlockStorage
properties:
- prioritize: performance
- targets:
- - router_host
- - data_host
- - database_storage
+ prioritize:
+ description: >-
+ Hint to placement algorithm.
+ type: vnfsdk.PolicyPriority
- scaling:
- type: vnfsdk.Scaling
+ 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: 1.5 GB
+ 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:
- - router_vdu
+ - tosca.nodes.nfv.VDU
- performance:
- type: vnfsdk.Assurance
+ 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: 0.1 Hz
+ responsivness:
+ description: >-
+ How often assurance should be checked.
+ type: scalar-unit.frequency
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
+ - tosca.nodes.nfv.VL.ELine
- 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:
-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.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 ]
- 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 }
- constraint: { in_range: [ 1, 4 ] }
- dpdk: false
- cpu_affinity: true
-
-
-
-
-This document is provided under the Creative Commons Attribution 4.0 International License (available at http://creativecommons.org/licenses/by/4.0/). Code for this document is available under the Apache License, Version 2.0
-
+ # 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
diff --git a/docs/files/mktplace-install.rst b/docs/files/mktplace-install.rst
index 5f1e0df..58e65a8 100644
--- a/docs/files/mktplace-install.rst
+++ b/docs/files/mktplace-install.rst
@@ -3,11 +3,13 @@ VNF SDK Marketplace Installation Instructions
1. Download vnfsdk/refrepo from Gerrit
::
- git clone http://gerrit.onap.org/r/vnfsdk/refrepo
+
+ git clone http://gerrit.onap.org/r/vnfsdk/refrepo
2. Goto vnfmarket-be/deployment/install,
::
- Enter command "docker-compose up -d"
+
+ Enter command "docker-compose up -d"
This will start two Docker containers:
diff --git a/docs/files/vnfsdk-apis.rst b/docs/files/vnfsdk-apis.rst
index 5ed02e6..3dec23b 100644
--- a/docs/files/vnfsdk-apis.rst
+++ b/docs/files/vnfsdk-apis.rst
@@ -17,7 +17,7 @@ Upload/Re-upload VNF Package
+--------------------+-----------------------------+
|Operation Type |POST |
+--------------------+-----------------------------+
-|Content-Type |multipart/form-data |
+|Content-Type |multipart/form-data |
+--------------------+-----------------------------+
Request Parameters:
@@ -83,7 +83,7 @@ Response:
HTTP Success or Error Code
-Download VNF package files 
+Download VNF package files�
++++++++++++++++++++++++++
+--------------------+--------------------------------------------+
@@ -161,17 +161,18 @@ PackageMetaData
Sample:
::
- {
- "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
- "name":"NanocellGateway",
- "provider":"XYZ",
- "version":"V1.0",
- "createTime":"2016-06-29 03:33:15",
- "modifyTime":"2016-06-29 09:33:15",
- "size":"0.93M",
- "downloadUri":"http://msb_ip:msb_port/files/marketplace/CSAR/XYZ/NanocellGW/v1.0/NanocellGateway.csar",
- "type":"CSAR"
- }
+
+ {
+ "csarId":"78ede6f3-66cc-46ab-b748-38a6c010d272",
+ "name":"NanocellGateway",
+ "provider":"XYZ",
+ "version":"V1.0",
+ "createTime":"2016-06-29 03:33:15",
+ "modifyTime":"2016-06-29 09:33:15",
+ "size":"0.93M",
+ "downloadUri":"http://msb_ip:msb_port/files/marketplace/CSAR/XYZ/NanocellGW/v1.0/NanocellGateway.csar",
+ "type":"CSAR"
+ }
Query list of VNF package information by conditions
+++++++++++++++++++++++++++++++++++++++++++++++++++