1 .. Modifications Copyright © 2017-2018 AT&T Intellectual Property.
3 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.
4 (the "License"); you may not use this documentation except in compliance
5 with the License. You may obtain a copy of the License at
7 .. https://creativecommons.org/licenses/by/4.0/
9 .. Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
16 ONAP TOSCA VNFD or PNFD Requirements
17 ------------------------------------
23 The following sub-clauses describe the numbered requirements for VNF
24 Descriptor (VNFD) and PNF Descriptor (PNFD) or in other words the VNF/PNF
25 Service Template based on the most updated draft of ETSI NFV-SOL001 standard
26 for VNF/PNF Descriptor. The ETSI standard specifies a NFV specific data
27 model using TOSCA/YAML data model constructs specified in TOSCA Simple
28 Profile in YAML v.1.2.
30 The requirements for TOSCA/CSAR based VNF/PNF package are described as well
31 and they are based on ETSI NFV-SOL004 standard.
36 1. ETSI GS NFV-SOL001 v.2.5.1
37 2. TOSCA SIMPLE Profile in YAML v.1.2
38 3. ETSI GS NFV-SOL004 v.2.6.1 + NFV CR NFVSOL(18)000746r3.
43 This document is intended for developers of VNF TOSCA templates that
44 will be orchestrated by ONAP. The document is also applicable for
45 creating RFP’s with the list of required TOSCA/YAML features
46 supported by VNF provider.
51 ONAP implementations of Network Cloud supports TOSCA Templates, also
52 referred to as TOSCA in this document.
54 ONAP requires the TOSCA Templates to follow a specific format. This
55 document provides the mandatory, recommended, and optional requirements
56 associated with this format.
61 The document includes three charters to help the VNF or PNF providers to
62 use the VNF or PNF model design tools and understand the VNF or PNF package
63 structure and VNF or PNF TOSCA templates.
65 In the ONAP, VNF or PNF Package and VNFD or PNFD template can be designed by
66 manually or via model designer tools. VNF or PNF model designer tools can
67 provide the GUI and CLI tools for the VNF or PNF provider to develop the
68 VNF or PNF Package and VNFD or PNFD template.
70 The VNF or PNF package structure is align to the NFV TOSCA protocol,
73 The VNFD or PNFD and VNF or PNF package are all align to the NFV TOSCA
74 protocol, which supports multiple TOSCA template yaml files, and also
75 supports self-defined node or other extensions.
77 VNF or PNF CSAR Package
78 ^^^^^^^^^^^^^^^^^^^^^^
83 TOSCA YAML CSAR file is an archive file using the ZIP file format whose
84 structure complies with the TOSCA Simple Profile YAML v1.2 Specification.
85 The CSAR file may have one of the two following structures:
87 - CSAR containing a TOSCA-Metadata directory, which includes the TOSCA.meta
88 metadata file providing an entry information for processing a CSAR file.
90 - CSAR containing a single yaml (.yml or .yaml) file at the root of the
91 archive. The yaml file is a TOSCA definition template that contains a
92 metadata section with template_name and template_version metadata. This
93 file is the CSAR Entry-Definitions file.
95 VNF Package Structure and Format
96 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102 :introduced: casablanca
105 The VNF or PNF CSAR package **MUST** be arranged as a CSAR archive as
106 specified in TOSCA Simple Profile in YAML 1.2.
113 :introduced: casablanca
116 The VNF or PNF package provided by a VNF or PNF vendor **MUST** be with
117 TOSCA-Metadata directory (CSAR Option 1) as specified in
120 **Note:** SDC supports only the CSAR Option 1 in Dublin. The Option 2
121 will be considered in future ONAP releases.
125 :target: VNF or PNF CSAR PACKAGE
129 The VNF or PNF TOSCA CSAR file **MUST** be a zip file with .csar extension.
133 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
137 :target: VNF or PNF CSAR PACKAGE
139 :introduced: casablanca
142 The VNF or PNF CSAR package **MUST** include all artifacts required by
143 ETSI GS NFV-SOL004 including Manifest file, VNFD or PNFD (or Main
144 TOSCA/YAML based Service Template) and other optional artifacts. CSAR
145 Manifest file as per SOL004 - for example ROOT\\ **MainServiceTemplate.mf**
151 :introduced: casablanca
154 The VNF or PNF package Manifest file **MUST** contain: VNF or PNF package
155 meta-data, a list of all artifacts (both internal and external) entry's
156 including their respected URI's, an algorithm to calculate a digest and
157 a digest result calculated on the content of each artifacts, as specified
158 in ETSI GS NFV-SOL004.
164 :introduced: casablanca
166 The VNF provider **MUST** provide their testing scripts to support
167 testing as specified in ETSI NFV-SOL004 - Testing directory in CSAR
173 :introduced: casablanca
175 The VNF provider **MUST** provide the binaries and images needed to
176 instantiate the VNF (VNF and VNFC images) either as:
178 - Local artifact in CSAR: ROOT\\Artifacts\\ **VNF_Image.bin**
180 - externally referred (by URI) artifact in Manifest file (also may be
181 referred by VNF Descriptor)
183 Note: Currently, ONAP doesn't have the capability of Image management,
184 we upload the image into VIM/VNFM manually.
190 :introduced: casablanca
192 The VNF provider **MUST** enumerate all of the open source licenses
193 their VNF(s) incorporate. CSAR License directory as per ETSI SOL004.
195 for example ROOT\\Licenses\\ **License_term.txt**
199 :target: VNF or PNF CSAR PACKAGE
203 The VNF or PNF CSAR PACKAGE with TOSCA-Metadata **MUST** include following
204 additional keywords pointing to TOSCA files:
206 - ETSI-Entry-Manifest
208 - ETSI-Entry-Change-Log
210 Note: For a CSAR containing a TOSCA-Metadata directory, which includes
211 the TOSCA.meta metadata file. The TOSCA.meta metadata file includes block_0
212 with the Entry-Definitions keyword pointing to a TOSCA definitions YAML
213 file used as entry for parsing the contents of the overall CSAR archive.
217 :target: VNF or PNF TOSCA PACKAGE
221 The VNF or PNF TOSCA CSAR package Manifest file **MUST** contain: non-mano
222 artifact set with following ONAP public tag
224 - onap_ves_events: contains VES registration files
226 - onap_pm_dictionary: contains the PM dictionary files
228 - onap_yang_modules: contains Yang module files for configurations
230 - onap_ansible_playbooks: contains any ansible_playbooks
232 - onap_others: contains any other non_MANO artifacts, e.g. informational
241 The VNF or PNF package **MUST** contain a a human-readable change log text
242 file. The Change Log file keeps a history describing any changes in the VNF
243 or PNF package. The Change Log file is kept up to date continuously from
244 the creation of the CSAR package.
248 :target: PNF CSAR PACKAGE
252 The PNF TOSCA CSAR PACKAGE Manifest file **MUST** start with the PNF
253 package metadata in the form of a name-value pairs. Each pair shall appear
254 on a different line. The name is specified as following:
260 - pnfd_release_date_time
262 - pnfd_archive_version
266 :target: VNF CSAR PACKAGE
270 The VNF TOSCA CSAR package Manifest file **MUST** start with the VNF
271 package metadata in the form of a name-value pairs. Each pair shall appear
272 on a different line. The name is specified as following:
278 - vnf_release_date_time
280 - vnf_package_version
283 VNF or PNF Package Authenticity and Integrity
284 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
286 VNF or PNF CSAR package shall support a method for authenticity and integrity
287 assurance. According to ETSI SOL004 the onboarding package shall be secured.
288 ETSI SOL004 provides two options:
290 Option 1 - One Digest for each components of the VNF or PNF package. The table
291 of hashes is included in the manifest file, which is signed with the VNF or PNF
292 provider private key. A signing certificate including the provider’s public key
293 shall be included in the package.
295 Option 2 - The complete CSAR file shall be digitally signed with the provider
296 private key. The provider delivers one zip file consisting of the CSAR file, a
297 signature file and a certificate file that includes the VNF provider public
300 *Dublin release note*
302 - VNFSDK pre-onboarding validation procedure:
304 - Option 1: specified in ETSI SOL004 is supported.
306 - Option 2: Will be supported in the future releases.
308 - SDC onboarding procedure:
310 - Option 1: specified in ETSI SOL004 is supported.
312 - Option 2: Will be supported in the future releases.
316 :target: VNF or PNF CSAR PACKAGE
320 If the VNF or PNF CSAR Package utilizes Option 2 for package security, then
321 the complete CSAR file **MUST** be digitally signed with the VNF or PNF
322 provider private key. The VNF or PNF provider delivers one zip file
323 consisting of the CSAR file, a signature file and a certificate file that
324 includes the VNF or PNF provider public key. The certificate may also be
325 included in the signature container, if the signature format allows that.
326 The VNF or PNF provider creates a zip file consisting of the CSAR file with
327 .csar extension, signature and certificate files. The signature and
328 certificate files must be siblings of the CSAR file with extensions .cms
329 and .cert respectively.
334 :target: VNF or PNF CSAR PACKAGE
338 If the VNF or PNF CSAR Package utilizes Option 2 for package security, then
339 the complete CSAR file **MUST** contain a Digest (a.k.a. hash) for each of
340 the components of the VNF or PNF package. The table of hashes is included
341 in the package manifest file, which is signed with the VNF or PNF provider
342 private key. In addition, the VNF or PNF provider MUST include a signing
343 certificate that includes the VNF or PNF provider public key, following a
344 TOSCA pre-defined naming convention and located either at the root of the
345 archive or in a predefined location specified by the TOSCA.meta file with
346 the corresponding entry named "ETSI-Entry-Certificate".
349 VNF Package ONAP Extensions
350 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
352 1. TOACA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
354 2. ONAP extensions for VNF package that is currently proposed for Dublin
355 release is VES extension described below.
360 TOSCA defines a Meta model for defining IT services. This Meta model
361 defines both the structure of a service as well as how to manage it. A
362 Topology Template (also referred to as the topology model of a service)
363 defines the structure of a service. Plans define the process models that
364 are used to create and terminate a service as well as to manage a
365 service during its whole lifetime.
367 A Topology Template consists of a set of Node Templates and Relationship
368 Templates that together define the topology model of a service as a (not
369 necessarily connected) directed graph. A node in this graph is
370 represented by a *Node Template*. A Node Template specifies the
371 occurrence of a Node Type as a component of a service. A *Node Type*
372 defines the properties of such a component (via *Node Type Properties*)
373 and the operations (via *Interfaces*) available to manipulate the
374 component. Node Types are defined separately for reuse purposes and a
375 Node Template references a Node Type and adds usage constraints, such as
376 how many times the component can occur.
380 Figure 1: Structural Elements of Service Template and their Relations
382 TOSCA Modeling Principles & Data Model
383 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
385 This section describing TOSCA modeling principles and data model for
386 NFV, which shall be based on [TOSCA-1.0] and [TOSCA-Simple-Profile-YAML
387 V1.0], or new type based on ETSI NFV requirements, etc.
390 ^^^^^^^^^^^^^^^^^^^^^^^^^
399 :introduced: casablanca
401 The VNF Descriptor (VNFD) provided by VNF vendor **MUST** comply with
402 TOSCA/YAML based Service template for VNF descriptor specified in
405 **Note**: As the ETSI NFV-SOL001 is work in progress the below tables
406 summarizes the TOSCA definitions agreed to be part of current version
407 of NFV profile and that VNFD MUST comply with in ONAP Release 2+
415 :introduced: casablanca
417 The VNFD **MUST** comply with ETSI GS NFV-SOL001 document endorsing
418 the above mentioned NFV Profile and maintaining the gaps with the
419 requirements specified in ETSI GS NFV-IFA011 standard.
426 :introduced: casablanca
428 The VNFD **MAY** include TOSCA/YAML definitions that are not part of
429 NFV Profile. If provided, these definitions MUST comply with TOSCA
430 Simple Profile in YAML v.1.2.
436 :introduced: casablanca
438 A VNFD is a deployment template which describes a VNF in terms of
439 deployment and operational behavior requirements. It contains
440 virtualized resources (nodes) requirements as well as connectivity
441 and interfaces requirements and **MUST** comply with info elements
442 specified in ETSI GS NFV-IFA 011. The main parts of the VNFD are
445 - VNF topology: it is modeled in a cloud agnostic way using virtualized
446 containers and their connectivity. Virtual Deployment Units (VDU)
447 describe the capabilities of the virtualized containers, such as
448 virtual CPU, RAM, disks; their connectivity is modeled with VDU
449 Connection Point Descriptors (VduCpd), Virtual Link Descriptors
450 (VnfVld) and VNF External Connection Point Descriptors
453 - VNF deployment aspects: they are described in one or more
454 deployment flavours, including configurable parameters, instantiation
455 levels, placement constraints (affinity / antiaffinity), minimum and
456 maximum VDU instance numbers. Horizontal scaling is modeled with
457 scaling aspects and the respective scaling levels in the deployment
460 **Note**: The deployment aspects (deployment flavour etc.) are postponed
461 for future ONAP releases.
463 - VNF lifecycle management (LCM) operations: describes the LCM operations
464 supported per deployment flavour, and their input parameters;
465 Note, thatthe actual LCM implementation resides in a different layer,
466 namely referring to additional template artifacts.
472 :introduced: casablanca
474 The following table defines the major TOSCA Types specified in
475 ETSI NFV-SOL001 standard draft. The VNFD provided by a VNF vendor
476 **MUST** comply with the below definitions:
479 .. csv-table:: **TOSCA Definition**
480 :file: TOSCA_descriptor.csv
492 :introduced: casablanca
494 The below table includes the data types used by NFV node and is based
495 on TOSCA/YAML constructs specified in draft GS NFV-SOL 001. The node
496 data definitions/attributes used in VNFD **MUST** comply with the below
499 .. csv-table:: **NFV Data Types**
500 :file: NFV_data_type.csv
509 :introduced: casablanca
511 The below table describes the data types used for LCM configuration
512 and is based on TOSCA constructs specified in draft GS NFV-SOL 001.
513 The LCM configuration data elements used in VNFD **MUST** comply
514 with the below table.
516 .. csv-table:: **LCM Configuration**
517 :file: LCM_config.csv
523 ~~~~~~~~~~~~~~~~~~~~~~~~
525 No artifact type is currently supported in ONAP.
528 ~~~~~~~~~~~~~~~~~~~~~~~~
534 :introduced: casablanca
536 The VNFD provided by VNF vendor may use the below described TOSCA
537 capabilities. An on-boarding entity (ONAP SDC) **MUST** support them.
539 **tosca.capabilities.nfv.VirtualBindable**
541 A node type that includes the VirtualBindable capability indicates
542 that it can be pointed by **tosca.relationships.nfv.VirtualBindsTo**
545 **tosca.capabilities.nfv.VirtualLinkable**
547 A node type that includes the VirtualLinkable capability indicates
548 that it can be pointed by **tosca.relationships.nfv.VirtualLinksTo**
551 **tosca.capabilities.nfv.ExtVirtualLinkable**
553 A node type that includes the ExtVirtualLinkable capability
554 indicates that it can be pointed by
555 **tosca.relationships.nfv.VirtualLinksTo** relationship.
557 **Note**: This capability type is used in Casablanca how it does
558 not exist in the last SOL001 draft
560 **tosca.capabilities.nfv.VirtualCompute** and
561 **tosca.capabilities.nfv.VirtualStorage** includes flavours of VDU
565 ~~~~~~~~~~~~~~~~~~~~~~~~
571 :introduced: casablanca
573 The VNFD provided by VNF vendor may use the below described TOSCA
574 relationships. An on-boarding entity (ONAP SDC) **MUST** support them.
576 **tosca.relationships.nfv.VirtualBindsTo**
578 This relationship type represents an association relationship between
579 VDU and CP node types.
581 **tosca.relationships.nfv.VirtualLinksTo**
583 This relationship type represents an association relationship between
584 the VduCpd's and VirtualLinkDesc node types.
588 ~~~~~~~~~~~~~~~~~~~~~~~~
594 :introduced: casablanca
596 The VNFD provided by VNF vendor may use the below described TOSCA
597 interface types. An on-boarding entity (ONAP SDC) **MUST** support them.
599 **tosca.interfaces.nfv.vnf.lifecycle.Nfv** supports LCM operations
603 ^^^^^^^^^^^^^^^^^^^^^^^^^
615 The PNF Descriptor (PNFD) provided by PNF vendor **MUST** comply with
616 TOSCA/YAML based Service template for PNF descriptor specified in ETSI
626 The PNFD provided by a PNF vendor **MUST** comply with the following TOSCA
627 Types as specified in ETSI NFV-SOL001 standard:
629 - tosca.nodes.nfv.PNF
631 - tosca.nodes.nfv.PnfExtCp
643 The PNFD provided by a PNF vendor **MUST** comply with the following Data
644 Types as specified in ETSI NFV-SOL001 standard:
646 - tosca.datatypes.nfv.CpProtocolData
648 - tosca.datatypes.nfv.AddressData
650 - tosca.datatypes.nfv.L2AddressData
652 - tosca.datatypes.nfv.L3AddressData
654 - tosca.datatypes.nfv.LocationInfo
656 - tosca.datatypes.nfv.CivicAddressElement
660 ~~~~~~~~~~~~~~~~~~~~~~~~
662 No artifact type is currently supported in ONAP.
666 ~~~~~~~~~~~~~~~~~~~~~~~~
674 The PNFD provided by a PNF vendor **MUST** comply with the following
675 Capabilities Types as specified in ETSI NFV-SOL001 standard:
677 - tosca.datatypes.nfv.VirtualLinkable
681 ~~~~~~~~~~~~~~~~~~~~~~~~
685 ~~~~~~~~~~~~~~~~~~~~~~~~
693 The PNFD provided by a PNF vendor **MUST** comply with the following
694 Relationship Types as specified in ETSI NFV-SOL001 standard:
696 - tosca.datatypes.nfv.VirtualLinksTo
700 ~~~~~~~~~~~~~~~~~~~~~~~~
702 No interface type is currently supported in ONAP.
714 The PNFD provided by a PNF vendor **MUST** comply with the following Node
715 Types as specified in ETSI NFV-SOL001 standard:
717 - tosca.nodes.nfv.PNF
719 - tosca.nodes.nfv.PnfExtCp
728 No group type is currently supported in ONAP.
740 The PNFD provided by a PNF vendor **MUST** comply with the following Policy
741 Types as specified in ETSI NFV-SOL001 standard:
743 - tosca.datatypes.nfv.SecurityGroupRule
746 +--------------------------------------------------------------------+
747 | +--------------------------------------------------------------+ |
748 | | tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0 | |
750 | | description: VNFD TOSCA file demo | |
754 | | - TOSCA\_definition\_nfv\_1\_0.yaml | |
756 | | - TOSCA\_definition\_nfv\_ext\_1\_0.yaml | |
758 | | | **node\_types: | |
759 | | tosca.nodes.nfv.VNF.vOpenNAT: | |
760 | | derived\_from:** tosca.nodes.nfv.VNF | |
761 | | | **requirements: | |
762 | | **- **sriov\_plane: | |
763 | | capability:** tosca.capabilities.nfv.VirtualLinkable | |
764 | | | **node:** tosca.nodes.nfv.VnfVirtualLinkDesc | |
765 | | | **relationship:** tosca.relationships.nfv.VirtualLinksTo | |
766 | +--------------------------------------------------------------+ |
767 +====================================================================+
768 +--------------------------------------------------------------------+
774 1. SR-IOV Passthrought
776 Definitions of SRIOV\_Port are necessary if VDU supports SR-IOV. Here is
789 tosca\_name: SRIOV\_Port
793 virtual\_network\_interface\_requirements:
797 support\_mandatory: false
807 description: sriov port
809 layer\_protocol: ipv4
815 capability: virtual\_binding
821 type: tosca.relationships.nfv.VirtualBindsTo
825 node: tosca.nodes.Root
827 type: tosca.nodes.nfv.VduCpd
829 substitution\_mappings:
839 node\_type: tosca.nodes.nfv.VNF.vOpenNAT
844 Definitions of mem\_page\_size as one property shall be added to
845 Properties and set the value to large if one VDU node supports
846 huagepages. Here is an example.
858 tosca\_name: Huge\_pages\_demo
862 mem\_page\_size:large
867 Likewise, we shall add definitions of numa to
868 requested\_additional\_capabilities if we wand VUD nodes to support
869 NUMA. Here is an example.
889 virtual\_mem\_size: 2 GB
891 requested\_additional\_capabilities:
895 support\_mandatory: true
897 requested\_additional\_capability\_name: numa
899 target\_performance\_parameters:
903 hw:numa\_cpus.0: "0,1"
905 hw:numa\_mem.0: "1024"
907 hw:numa\_cpus.1: "2,3,4,5"
909 hw:numa\_mem.1: "1024"
914 Definitions of Hyper-Theading are necessary as one of
915 requested\_additional\_capabilities of one VUD node if that node
916 supports Hyper-Theading. Here is an example.
936 virtual\_mem\_size: 2 GB
938 requested\_additional\_capabilities:
942 support\_mandatory: true
944 requested\_additional\_capability\_name: hyper\_threading
946 target\_performance\_parameters:
948 hw:cpu\_sockets : "2"
950 hw:cpu\_threads : "2"
954 hw:cpu\_threads\_policy: "isolate"
959 Definitions of ovs\_dpdk are necessary as one of
960 requested\_additional\_capabilities of one VUD node if that node
961 supports dpdk. Here is an example.
981 virtual\_mem\_size: 2 GB
983 requested\_additional\_capabilities:
987 support\_mandatory: true
989 requested\_additional\_capability\_name: ovs\_dpdk
991 target\_performance\_parameters:
997 ^^^^^^^^^^^^^^^^^^^^^^^^^
999 **Note: ONAP proprietary extensions in ETSI SOL004 standards for VES support
1000 in CSAR package need to be manually loaded in R3 (Casablanca) for VNF and
1001 PNFs. Platform support will be developed for this in upcoming releases.**
1004 NFV TOSCA Type Definition
1005 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1007 tosca.capabilites.nfv.VirtualCompute
1008 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1010 This capability is used with the properties specified in ETSI SOL001 draft.
1012 tosca.nodes.nfv.VDU.Compute
1013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1015 The NFV Virtualization Deployment Unit (VDU) compute node type
1016 represents a VDU entity which it describes the deployment and
1017 operational behavior of a VNF component (VNFC), as defined by **[ETSI
1020 +-----------------------+-------------------------------+
1021 | Shorthand Name | VDU.Compute |
1022 +=======================+===============================+
1023 | Type Qualified Name | tosca:VDU.Compute |
1024 +-----------------------+-------------------------------+
1025 | Type URI | tosca.nodes.nfv.VDU.Compute |
1026 +-----------------------+-------------------------------+
1027 | derived\_from | tosca.nodes.Compute |
1028 +-----------------------+-------------------------------+
1041 +------------+--------------------+------------+------------------------------+
1042 | Name | Type | Constraints| Description |
1043 +============+====================+============+==============================+
1044 | virtual\ | tosca.\ | | Describes virtual compute |
1045 | _compute | capabilities.nfv.\ | | resources capabilities. |
1046 | | VirtualCompute | | |
1047 +------------+--------------------+------------+------------------------------+
1048 | monitoring\| tosca.\ | None | Monitoring parameter, which |
1049 | _parameter | capabilities.nfv.\ | | can be tracked for a VNFC |
1050 | | Metric | | based on this VDU |
1052 | | | | Examples include: |
1053 | | | | memory-consumption, |
1054 | | | | CPU-utilisation, |
1055 | | | | bandwidth-consumption, VNFC |
1056 | | | | downtime, etc. |
1057 +------------+--------------------+------------+------------------------------+
1058 | Virtual\ | tosca.\ | | Defines ability of |
1059 | _binding | capabilities.nfv.\ | | VirtualBindable |
1060 | | VirtualBindable | | |
1062 | | editor note: need | | |
1063 | | to create a | | |
1064 | | capability type | | |
1065 +------------+--------------------+------------+------------------------------+
1072 .. code-block:: yaml
1074 tosca.nodes.nfv.VDU.Compute:
1076 derived\_from: tosca.nodes.Compute
1094 type: list # explicit index (boot index) not necessary, contrary to IFA011
1112 configurable\_properties:
1118 type: tosca.datatypes.nfv.VnfcConfigurableProperties
1144 type: tosca.capabilities.nfv.VirtualCompute
1148 type: tosca.capabilities.nfv.VirtualBindable
1150 #monitoring\_parameter:
1152 # modeled as ad hoc (named) capabilities in VDU node template
1158 # cpu\_load: tosca.capabilities.nfv.Metric
1160 # memory\_usage: tosca.capabilities.nfv.Metric
1162 host: #Editor note: FFS. How this capabilities should be used in NFV Profile|
1164 type: *tosca.capabilities.Container*
1166 valid\_source\_types:
1167 [*tosca.nodes.SoftwareComponent*]
1169 occurrences: [0,UNBOUNDED]
1180 #Editor note: FFS. How this capabilities should be used in NFV Profile
1182 type: *tosca.capabilities.Scalable*
1186 occurrences: [0,UNBOUND]
1192 capability: tosca.capabilities.nfv.VirtualStorage
1194 relationship: tosca.relationships.nfv.VDU.AttachedTo
1196 node: tosca.nodes.nfv.VDU.VirtualStorage
1198 occurences: [ 0, UNBOUNDED ]
1200 - local\_storage: #For NFV Profile, this requirement is deprecated.
1210 type: tosca.artifacts.nfv.SwImage
1216 Note: currently not supported.
1218 +--------+---------+----------------+------------+------------------------+
1219 | Name | Required| Type | Constraints| Description |
1220 +========+=========+================+============+========================+
1221 | SwImage| Yes | tosca.\ | | Describes the software |
1222 | | | artifacts.nfv.\| | image which is directly|
1223 | | | SwImage | | realizing this virtual |
1225 +--------+---------+----------------+------------+------------------------+
1232 tosca.nodes.nfv.VDU.VirtualStorage
1233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1235 The NFV VirtualStorage node type represents a virtual storage entity
1236 which it describes the deployment and operational behavior of a virtual
1237 storage resources, as defined by **[ETSI NFV IFA011].**
1239 **[editor note]** open issue: should NFV profile use the current storage
1240 model as described in YAML 1.1. Pending on Shitao proposal (see
1241 NFVIFA(17)000110 discussion paper)
1243 **[editor note]** new relationship type as suggested in Matt
1244 presentation. Slide 8. With specific rules of "valid\_target\_type"
1246 +---------------------------+--------------------------------------+
1247 | **Shorthand Name** | VirtualStorage |
1248 +===========================+======================================+
1249 | **Type Qualified Name** | tosca: VirtualStorage |
1250 +---------------------------+--------------------------------------+
1251 | **Type URI** | tosca.nodes.nfv.VDU.VirtualStorage |
1252 +---------------------------+--------------------------------------+
1253 | **derived\_from** | tosca.nodes.Root |
1254 +---------------------------+--------------------------------------+
1256 tosca.artifacts.nfv.SwImage
1257 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1259 +---------------------------+------------------------------------+
1260 | **Shorthand Name** | SwImage |
1261 +===========================+====================================+
1262 | **Type Qualified Name** | tosca:SwImage |
1263 +---------------------------+------------------------------------+
1264 | **Type URI** | tosca.artifacts.nfv.SwImage |
1265 +---------------------------+------------------------------------+
1266 | **derived\_from** | tosca.artifacts.Deployment.Image |
1267 +---------------------------+------------------------------------+
1272 +-----------------+---------+----------+------------+-------------------------+
1273 | Name | Required| Type | Constraints| Description |
1274 +=================+=========+==========+============+=========================+
1275 | name | yes | string | | Name of this software |
1277 +-----------------+---------+----------+------------+-------------------------+
1278 | version | yes | string | | Version of this software|
1280 +-----------------+---------+----------+------------+-------------------------+
1281 | checksum | yes | string | | Checksum of the software|
1282 | | | | | image file |
1283 +-----------------+---------+----------+------------+-------------------------+
1284 | container\ | yes | string | | The container format |
1285 | _format | | | | describes the container |
1286 | | | | | file format in which |
1287 | | | | | software image is |
1288 | | | | | provided. |
1289 +-----------------+---------+----------+------------+-------------------------+
1290 | disk\_format | yes | string | | The disk format of a |
1291 | | | | | software image is the |
1292 | | | | | format of the underlying|
1293 | | | | | disk image |
1294 +-----------------+---------+----------+------------+-------------------------+
1295 | min\_disk | yes | scalar-\ | | The minimal disk size |
1296 | | | unit.size| | requirement for this |
1297 | | | | | software image. |
1298 +-----------------+---------+----------+------------+-------------------------+
1299 | min\_ram | no | scalar-\ | | The minimal RAM |
1300 | | | unit.size| | requirement for this |
1301 | | | | | software image. |
1302 +-----------------+---------+----------+------------+-------------------------+
1303 | Size | yes | scalar-\ | | The size of this |
1304 | | | unit.size| | software image |
1305 +-----------------+---------+----------+------------+-------------------------+
1306 | sw\_image | yes | string | | A reference to the |
1307 | | | | | actual software image |
1308 | | | | | within VNF Package, or |
1310 +-----------------+---------+----------+------------+-------------------------+
1311 | operating\ | no | string | | Identifies the operating|
1312 | _system | | | | system used in the |
1313 | | | | | software image. |
1314 +-----------------+---------+----------+------------+-------------------------+
1315 | supported\ | no | list | | Identifies the |
1316 | _virtualization\| | | | virtualization |
1317 | _enviroment | | | | environments (e.g. |
1318 | | | | | hypervisor) compatible |
1319 | | | | | with this software image|
1320 +-----------------+---------+----------+------------+-------------------------+
1326 .. code-block:: yaml
1328 tosca.artifacts.nfv.SwImage:
1330 derived\_from: tosca.artifacts.Deployment.Image
1332 properties or metadata:
1370 type: scalar-unit.size # Number
1376 type: scalar-unit.size # Number
1382 type: scalar-unit.size # Number
1398 supported\_virtualisation\_environments:
1409 .. |image1| image:: ../Image1.png
1413 .. |image2| image:: ../Image2.png