summaryrefslogtreecommitdiffstats
path: root/docs/Chapter5/Tosca.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Chapter5/Tosca.rst')
-rw-r--r--docs/Chapter5/Tosca.rst819
1 files changed, 415 insertions, 404 deletions
diff --git a/docs/Chapter5/Tosca.rst b/docs/Chapter5/Tosca.rst
index 62a3610..51c36bb 100644
--- a/docs/Chapter5/Tosca.rst
+++ b/docs/Chapter5/Tosca.rst
@@ -184,6 +184,7 @@ changes from ETSI SOL001 draft.
+====================================================================+
+--------------------------------------------------------------------+
+
HPA Requirements
^^^^^^^^^^^^^^^^^^
@@ -192,67 +193,68 @@ HPA Requirements
Definitions of SRIOV\_Port are necessary if VDU supports SR-IOV. Here is
an example.
-+------------------------------------------------+
-| node\_templates: |
-| |
-| vdu\_vNat: |
-| |
-| SRIOV\_Port: |
-| |
-| attributes: |
-| |
-| tosca\_name: SRIOV\_Port |
-| |
-| properties: |
-| |
-| virtual\_network\_interface\_requirements: |
-| |
-| - name: sriov |
-| |
-| support\_mandatory: false |
-| |
-| description: sriov |
-| |
-| requirement: |
-| |
-| SRIOV: true |
-| |
-| role: root |
-| |
-| description: sriov port |
-| |
-| layer\_protocol: ipv4 |
-| |
-| requirements: |
-| |
-| - virtual\_binding: |
-| |
-| capability: virtual\_binding |
-| |
-| node: vdu\_vNat |
-| |
-| relationship: |
-| |
-| type: tosca.relationships.nfv.VirtualBindsTo |
-| |
-| - virtual\_link: |
-| |
-| node: tosca.nodes.Root |
-| |
-| type: tosca.nodes.nfv.VduCpd |
-| |
-| substitution\_mappings: |
-| |
-| requirements: |
-| |
-| sriov\_plane: |
-| |
-| - SRIOV\_Port |
-| |
-| - virtual\_link |
-| |
-| node\_type: tosca.nodes.nfv.VNF.vOpenNAT |
-+------------------------------------------------+
+.. code-block:: yaml
+
+ node\_templates:
+
+ vdu\_vNat:
+
+ SRIOV\_Port:
+
+ attributes:
+
+ tosca\_name: SRIOV\_Port
+
+ properties:
+
+ virtual\_network\_interface\_requirements:
+
+ - name: sriov
+
+ support\_mandatory: false
+
+ description: sriov
+
+ requirement:
+
+ SRIOV: true
+
+ role: root
+
+ description: sriov port
+
+ layer\_protocol: ipv4
+
+ requirements:
+
+ - virtual\_binding:
+
+ capability: virtual\_binding
+
+ node: vdu\_vNat
+
+ relationship:
+
+ type: tosca.relationships.nfv.VirtualBindsTo
+
+ - virtual\_link:
+
+ node: tosca.nodes.Root
+
+ type: tosca.nodes.nfv.VduCpd
+
+ substitution\_mappings:
+
+ requirements:
+
+ sriov\_plane:
+
+ - SRIOV\_Port
+
+ - virtual\_link
+
+ node\_type: tosca.nodes.nfv.VNF.vOpenNAT
+
2. Hugepages
@@ -260,22 +262,22 @@ Definitions of mem\_page\_size as one property shall be added to
Properties and set the value to large if one VDU node supports
huagepages. Here is an example.
-+----------------------------------+
-| node\_templates: |
-| |
-| vdu\_vNat: |
-| |
-| Hugepages: |
-| |
-| attributes: |
-| |
-| tosca\_name: Huge\_pages\_demo |
-| |
-| properties: |
-| |
-| mem\_page\_size:large |
-+==================================+
-+----------------------------------+
+.. code-block:: yaml
+
+ node\_templates:
+
+ vdu\_vNat:
+
+ Hugepages:
+
+ attributes:
+
+ tosca\_name: Huge\_pages\_demo
+
+ properties:
+
+ mem\_page\_size:large
+
3. NUMA (CPU/Mem)
@@ -283,45 +285,46 @@ Likewise, we shall add definitions of numa to
requested\_additional\_capabilities if we wand VUD nodes to support
NUMA. Here is an example.
-+-------------------------------------------------+
-| topology\_template: |
-| |
-| node\_templates: |
-| |
-| vdu\_vNat: |
-| |
-| capabilities: |
-| |
-| virtual\_compute: |
-| |
-| properties: |
-| |
-| virtual\_memory: |
-| |
-| numa\_enabled: true |
-| |
-| virtual\_mem\_size: 2 GB |
-| |
-| 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" |
-+-------------------------------------------------+
+.. code-block:: yaml
+
+ topology\_template:
+
+ node\_templates:
+
+ vdu\_vNat:
+
+ capabilities:
+
+ virtual\_compute:
+
+ properties:
+
+ virtual\_memory:
+
+ numa\_enabled: true
+
+ virtual\_mem\_size: 2 GB
+
+ 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"
+
4. Hyper-Theading
@@ -329,43 +332,44 @@ Definitions of Hyper-Theading are necessary as one of
requested\_additional\_capabilities of one VUD node if that node
supports Hyper-Theading. Here is an example.
-+-------------------------------------------------------------+
-| topology\_template: |
-| |
-| node\_templates: |
-| |
-| vdu\_vNat: |
-| |
-| capabilities: |
-| |
-| virtual\_compute: |
-| |
-| properties: |
-| |
-| virtual\_memory: |
-| |
-| numa\_enabled: true |
-| |
-| virtual\_mem\_size: 2 GB |
-| |
-| requested\_additional\_capabilities: |
-| |
-| 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" |
-+-------------------------------------------------------------+
+.. code-block:: yaml
+
+ topology\_template:
+
+ node\_templates:
+
+ vdu\_vNat:
+
+ capabilities:
+
+ virtual\_compute:
+
+ properties:
+
+ virtual\_memory:
+
+ numa\_enabled: true
+
+ virtual\_mem\_size: 2 GB
+
+ requested\_additional\_capabilities:
+
+ 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"
+
5. OVS+DPDK
@@ -373,37 +377,38 @@ Definitions of ovs\_dpdk are necessary as one of
requested\_additional\_capabilities of one VUD node if that node
supports dpdk. Here is an example.
-+------------------------------------------------------+
-| topology\_template: |
-| |
-| node\_templates: |
-| |
-| vdu\_vNat: |
-| |
-| capabilities: |
-| |
-| virtual\_compute: |
-| |
-| properties: |
-| |
-| virtual\_memory: |
-| |
-| numa\_enabled: true |
-| |
-| virtual\_mem\_size: 2 GB |
-| |
-| requested\_additional\_capabilities: |
-| |
-| ovs\_dpdk: |
-| |
-| support\_mandatory: true |
-| |
-| requested\_additional\_capability\_name: ovs\_dpdk |
-| |
-| target\_performance\_parameters: |
-| |
-| sw:ovs\_dpdk: "true" |
-+------------------------------------------------------+
+.. code-block:: yaml
+
+ topology\_template:
+
+ node\_templates:
+
+ vdu\_vNat:
+
+ capabilities:
+
+ virtual\_compute:
+
+ properties:
+
+ virtual\_memory:
+
+ numa\_enabled: true
+
+ virtual\_mem\_size: 2 GB
+
+ requested\_additional\_capabilities:
+
+ ovs\_dpdk:
+
+ support\_mandatory: true
+
+ requested\_additional\_capability\_name: ovs\_dpdk
+
+ target\_performance\_parameters:
+
+ sw:ovs\_dpdk: "true"
+
NFV TOSCA Type Definition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -468,148 +473,151 @@ Capabilities
| | capability type | | |
+------------+--------------------+------------+------------------------------+
+
+
Definition
++++++++++++
-+-----------------------------------------------------------------------------+
-| 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* <#DEFN_TYPE_CAPABILITIES_CONTAINER>`__|
-| |
-| valid\_source\_types: |
-| [`*tosca.nodes.SoftwareComponent* <#DEFN_TYPE_NODES_SOFTWARE_COMPONENT>`__] |
-| |
-| occurrences: [0,UNBOUNDED] |
-| |
-| 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* <#DEFN_TYPE_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 |
-+-----------------------------------------------------------------------------+
+.. code-block:: yaml
+
+ 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]
+
+ 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
+
Artifact
++++++++++
@@ -720,94 +728,97 @@ Properties
| | | | | with this software image|
+-----------------+---------+----------+------------+-------------------------+
+
Definition
+++++++++++
-+-----------------------------------------------------+
-| 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 |
-+-----------------------------------------------------+
+.. code-block:: yaml
+
+ 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
+
.. |image1| image:: ../Image1.png
:width: 5.76806in
:height: 4.67161in
+
.. |image2| image:: ../Image2.png
:width: 5.40486in
:height: 2.46042in