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
104 The VNF package **MUST** be arranged as a CSAR archive as specified in
105 TOSCA Simple Profile in YAML 1.2.
112 :introduced: casablanca
114 The VNF package provided by a VNF vendor **MAY** be either with
115 TOSCA-Metadata directory (CSAR Option 1) or without TOSCA-Metadata
116 directory (CSAR Option 2) as specified in ETSI GS NFV-SOL004. On-boarding
117 entity (ONAP SDC) must support both options.
119 **Note:** SDC supports only the CSAR Option 1 in Casablanca. The Option 2
120 will be considered in future ONAP releases,
124 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130 :introduced: casablanca
132 The VNF package **MUST** contain all standard artifacts as specified in
133 ETSI GS NFV-SOL004 including Manifest file, VNFD (or Main TOSCA/YAML
134 based Service Template) and other optional artifacts. CSAR Manifest
135 file as per SOL004 - for example ROOT\\ **MainServiceTemplate.mf**
141 :introduced: casablanca
144 The VNF or PNF package Manifest file **MUST** contain: VNF or PNF package
145 meta-data, a list of all artifacts (both internal and external) entry's
146 including their respected URI's, an algorithm to calculate a digest and
147 a digest result calculated on the content of each artifacts, as specified
148 in ETSI GS NFV-SOL004.
154 :introduced: casablanca
156 The VNF provider **MUST** provide their testing scripts to support
157 testing as specified in ETSI NFV-SOL004 - Testing directory in CSAR
163 :introduced: casablanca
165 The VNF provider **MUST** provide the binaries and images needed to
166 instantiate the VNF (VNF and VNFC images) either as:
168 - Local artifact in CSAR: ROOT\\Artifacts\\ **VNF_Image.bin**
170 - externally referred (by URI) artifact in Manifest file (also may be
171 referred by VNF Descriptor)
173 Note: Currently, ONAP doesn't have the capability of Image management,
174 we upload the image into VIM/VNFM manually.
180 :introduced: casablanca
182 The VNF provider MUST enumerate all of the open source licenses
183 their VNF(s) incorporate. CSAR License directory as per ETSI SOL004.
185 for example ROOT\\Licenses\\ **License_term.txt**
193 The VNF or PNF package Manifest file **MUST** contain: non-mano artifact
194 set with following ONAP public tag:
204 VNF or PNF Package Authenticity
205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
207 VNF or PNF package shall support a method for authenticity and integrity
208 assurance. Note, Option 2 specified in SOL004 is supported in Dublin release.
216 The complete CSAR file **MUST** be digitally signed with the VNF or PNF
217 provider private key. The VNF or PNF provider delivers one zip file
218 consisting of the CSAR file, a signature file and a certificate file that
219 includes the VNF or PNF provider public key. The certificate may also be
220 included in the signaturecontainer, if the signature format allows that.
222 VNF Package ONAP Extensions
223 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225 1. TOACA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
227 2. ONAP extensions for VNF package that is currently proposed for Dublin
228 release is VES extension described below.
233 TOSCA defines a Meta model for defining IT services. This Meta model
234 defines both the structure of a service as well as how to manage it. A
235 Topology Template (also referred to as the topology model of a service)
236 defines the structure of a service. Plans define the process models that
237 are used to create and terminate a service as well as to manage a
238 service during its whole lifetime.
240 A Topology Template consists of a set of Node Templates and Relationship
241 Templates that together define the topology model of a service as a (not
242 necessarily connected) directed graph. A node in this graph is
243 represented by a *Node Template*. A Node Template specifies the
244 occurrence of a Node Type as a component of a service. A *Node Type*
245 defines the properties of such a component (via *Node Type Properties*)
246 and the operations (via *Interfaces*) available to manipulate the
247 component. Node Types are defined separately for reuse purposes and a
248 Node Template references a Node Type and adds usage constraints, such as
249 how many times the component can occur.
253 Figure 1: Structural Elements of Service Template and their Relations
255 TOSCA Modeling Principles & Data Model
256 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
258 This section describing TOSCA modeling principles and data model for
259 NFV, which shall be based on [TOSCA-1.0] and [TOSCA-Simple-Profile-YAML
260 V1.0], or new type based on ETSI NFV requirements, etc.
263 ^^^^^^^^^^^^^^^^^^^^^^^^^
272 :introduced: casablanca
274 The VNF Descriptor (VNFD) provided by VNF vendor **MUST** comply with
275 TOSCA/YAML based Service template for VNF descriptor specified in
278 **Note**: As the ETSI NFV-SOL001 is work in progress the below tables
279 summarizes the TOSCA definitions agreed to be part of current version
280 of NFV profile and that VNFD MUST comply with in ONAP Release 2+
288 :introduced: casablanca
290 The VNFD **MUST** comply with ETSI GS NFV-SOL001 document endorsing
291 the above mentioned NFV Profile and maintaining the gaps with the
292 requirements specified in ETSI GS NFV-IFA011 standard.
299 :introduced: casablanca
301 The VNFD **MAY** include TOSCA/YAML definitions that are not part of
302 NFV Profile. If provided, these definitions MUST comply with TOSCA
303 Simple Profile in YAML v.1.2.
309 :introduced: casablanca
311 A VNFD is a deployment template which describes a VNF in terms of
312 deployment and operational behavior requirements. It contains
313 virtualized resources (nodes) requirements as well as connectivity
314 and interfaces requirements and **MUST** comply with info elements
315 specified in ETSI GS NFV-IFA 011. The main parts of the VNFD are
318 - VNF topology: it is modeled in a cloud agnostic way using virtualized
319 containers and their connectivity. Virtual Deployment Units (VDU)
320 describe the capabilities of the virtualized containers, such as
321 virtual CPU, RAM, disks; their connectivity is modeled with VDU
322 Connection Point Descriptors (VduCpd), Virtual Link Descriptors
323 (VnfVld) and VNF External Connection Point Descriptors
326 - VNF deployment aspects: they are described in one or more
327 deployment flavours, including configurable parameters, instantiation
328 levels, placement constraints (affinity / antiaffinity), minimum and
329 maximum VDU instance numbers. Horizontal scaling is modeled with
330 scaling aspects and the respective scaling levels in the deployment
333 **Note**: The deployment aspects (deployment flavour etc.) are postponed
334 for future ONAP releases.
336 - VNF lifecycle management (LCM) operations: describes the LCM operations
337 supported per deployment flavour, and their input parameters;
338 Note, thatthe actual LCM implementation resides in a different layer,
339 namely referring to additional template artifacts.
345 :introduced: casablanca
347 The following table defines the major TOSCA Types specified in
348 ETSI NFV-SOL001 standard draft. The VNFD provided by a VNF vendor
349 **MUST** comply with the below definitions:
352 .. csv-table:: **TOSCA Definition**
353 :file: TOSCA_descriptor.csv
365 :introduced: casablanca
367 The below table includes the data types used by NFV node and is based
368 on TOSCA/YAML constructs specified in draft GS NFV-SOL 001. The node
369 data definitions/attributes used in VNFD **MUST** comply with the below
372 .. csv-table:: **NFV Data Types**
373 :file: NFV_data_type.csv
382 :introduced: casablanca
384 The below table describes the data types used for LCM configuration
385 and is based on TOSCA constructs specified in draft GS NFV-SOL 001.
386 The LCM configuration data elements used in VNFD **MUST** comply
387 with the below table.
389 .. csv-table:: **LCM Configuration**
390 :file: LCM_config.csv
396 ~~~~~~~~~~~~~~~~~~~~~~~~
398 No artifact type is currently supported in ONAP.
401 ~~~~~~~~~~~~~~~~~~~~~~~~
407 :introduced: casablanca
409 The VNFD provided by VNF vendor may use the below described TOSCA
410 capabilities. An on-boarding entity (ONAP SDC) **MUST** support them.
412 **tosca.capabilities.nfv.VirtualBindable**
414 A node type that includes the VirtualBindable capability indicates
415 that it can be pointed by **tosca.relationships.nfv.VirtualBindsTo**
418 **tosca.capabilities.nfv.VirtualLinkable**
420 A node type that includes the VirtualLinkable capability indicates
421 that it can be pointed by **tosca.relationships.nfv.VirtualLinksTo**
424 **tosca.capabilities.nfv.ExtVirtualLinkable**
426 A node type that includes the ExtVirtualLinkable capability
427 indicates that it can be pointed by
428 **tosca.relationships.nfv.VirtualLinksTo** relationship.
430 **Note**: This capability type is used in Casablanca how it does
431 not exist in the last SOL001 draft
433 **tosca.capabilities.nfv.VirtualCompute** and
434 **tosca.capabilities.nfv.VirtualStorage** includes flavours of VDU
438 ~~~~~~~~~~~~~~~~~~~~~~~~
444 :introduced: casablanca
446 The VNFD provided by VNF vendor may use the below described TOSCA
447 relationships. An on-boarding entity (ONAP SDC) **MUST** support them.
449 **tosca.relationships.nfv.VirtualBindsTo**
451 This relationship type represents an association relationship between
452 VDU and CP node types.
454 **tosca.relationships.nfv.VirtualLinksTo**
456 This relationship type represents an association relationship between
457 the VduCpd's and VirtualLinkDesc node types.
461 ~~~~~~~~~~~~~~~~~~~~~~~~
467 :introduced: casablanca
469 The VNFD provided by VNF vendor may use the below described TOSCA
470 interface types. An on-boarding entity (ONAP SDC) **MUST** support them.
472 **tosca.interfaces.nfv.vnf.lifecycle.Nfv** supports LCM operations
476 ^^^^^^^^^^^^^^^^^^^^^^^^^
488 The PNF Descriptor (PNFD) provided by PNF vendor **MUST** comply with
489 TOSCA/YAML based Service template for PNF descriptor specified in ETSI
499 The PNFD provided by a PNF vendor **MUST** comply with the following TOSCA
500 Types as specified in ETSI NFV-SOL001 standard:
502 - tosca.nodes.nfv.PNF
504 - tosca.nodes.nfv.PnfExtCp
516 The PNFD provided by a PNF vendor **MUST** comply with the following Data
517 Types as specified in ETSI NFV-SOL001 standard:
519 - tosca.datatypes.nfv.CpProtocolData
521 - tosca.datatypes.nfv.AddressData
523 - tosca.datatypes.nfv.L2AddressData
525 - tosca.datatypes.nfv.L3AddressData
527 - tosca.datatypes.nfv.LocationInfo
529 - tosca.datatypes.nfv.CivicAddressElement
533 ~~~~~~~~~~~~~~~~~~~~~~~~
535 No artifact type is currently supported in ONAP.
539 ~~~~~~~~~~~~~~~~~~~~~~~~
547 The PNFD provided by a PNF vendor **MUST** comply with the following
548 Capabilities Types as specified in ETSI NFV-SOL001 standard:
550 - tosca.datatypes.nfv.VirtualLinkable
554 ~~~~~~~~~~~~~~~~~~~~~~~~
558 ~~~~~~~~~~~~~~~~~~~~~~~~
560 No requirements type is currently supported in ONAP.
564 ~~~~~~~~~~~~~~~~~~~~~~~~
566 No interface type is currently supported in ONAP.
576 No group type is currently supported in ONAP.
584 +--------------------------------------------------------------------+
585 | +--------------------------------------------------------------+ |
586 | | tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0 | |
588 | | description: VNFD TOSCA file demo | |
592 | | - TOSCA\_definition\_nfv\_1\_0.yaml | |
594 | | - TOSCA\_definition\_nfv\_ext\_1\_0.yaml | |
596 | | | **node\_types: | |
597 | | tosca.nodes.nfv.VNF.vOpenNAT: | |
598 | | derived\_from:** tosca.nodes.nfv.VNF | |
599 | | | **requirements: | |
600 | | **- **sriov\_plane: | |
601 | | capability:** tosca.capabilities.nfv.VirtualLinkable | |
602 | | | **node:** tosca.nodes.nfv.VnfVirtualLinkDesc | |
603 | | | **relationship:** tosca.relationships.nfv.VirtualLinksTo | |
604 | +--------------------------------------------------------------+ |
605 +====================================================================+
606 +--------------------------------------------------------------------+
612 1. SR-IOV Passthrought
614 Definitions of SRIOV\_Port are necessary if VDU supports SR-IOV. Here is
627 tosca\_name: SRIOV\_Port
631 virtual\_network\_interface\_requirements:
635 support\_mandatory: false
645 description: sriov port
647 layer\_protocol: ipv4
653 capability: virtual\_binding
659 type: tosca.relationships.nfv.VirtualBindsTo
663 node: tosca.nodes.Root
665 type: tosca.nodes.nfv.VduCpd
667 substitution\_mappings:
677 node\_type: tosca.nodes.nfv.VNF.vOpenNAT
682 Definitions of mem\_page\_size as one property shall be added to
683 Properties and set the value to large if one VDU node supports
684 huagepages. Here is an example.
696 tosca\_name: Huge\_pages\_demo
700 mem\_page\_size:large
705 Likewise, we shall add definitions of numa to
706 requested\_additional\_capabilities if we wand VUD nodes to support
707 NUMA. Here is an example.
727 virtual\_mem\_size: 2 GB
729 requested\_additional\_capabilities:
733 support\_mandatory: true
735 requested\_additional\_capability\_name: numa
737 target\_performance\_parameters:
741 hw:numa\_cpus.0: "0,1"
743 hw:numa\_mem.0: "1024"
745 hw:numa\_cpus.1: "2,3,4,5"
747 hw:numa\_mem.1: "1024"
752 Definitions of Hyper-Theading are necessary as one of
753 requested\_additional\_capabilities of one VUD node if that node
754 supports Hyper-Theading. Here is an example.
774 virtual\_mem\_size: 2 GB
776 requested\_additional\_capabilities:
780 support\_mandatory: true
782 requested\_additional\_capability\_name: hyper\_threading
784 target\_performance\_parameters:
786 hw:cpu\_sockets : "2"
788 hw:cpu\_threads : "2"
792 hw:cpu\_threads\_policy: "isolate"
797 Definitions of ovs\_dpdk are necessary as one of
798 requested\_additional\_capabilities of one VUD node if that node
799 supports dpdk. Here is an example.
819 virtual\_mem\_size: 2 GB
821 requested\_additional\_capabilities:
825 support\_mandatory: true
827 requested\_additional\_capability\_name: ovs\_dpdk
829 target\_performance\_parameters:
835 ^^^^^^^^^^^^^^^^^^^^^^^^^
837 **Note: ONAP proprietary extensions in ETSI SOL004 standards for VES support
838 in CSAR package need to be manually loaded in R3 (Casablanca) for VNF and
839 PNFs. Platform support will be developed for this in upcoming releases.**
842 NFV TOSCA Type Definition
843 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
845 tosca.capabilites.nfv.VirtualCompute
846 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
848 This capability is used with the properties specified in ETSI SOL001 draft.
850 tosca.nodes.nfv.VDU.Compute
851 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
853 The NFV Virtualization Deployment Unit (VDU) compute node type
854 represents a VDU entity which it describes the deployment and
855 operational behavior of a VNF component (VNFC), as defined by **[ETSI
858 +-----------------------+-------------------------------+
859 | Shorthand Name | VDU.Compute |
860 +=======================+===============================+
861 | Type Qualified Name | tosca:VDU.Compute |
862 +-----------------------+-------------------------------+
863 | Type URI | tosca.nodes.nfv.VDU.Compute |
864 +-----------------------+-------------------------------+
865 | derived\_from | tosca.nodes.Compute |
866 +-----------------------+-------------------------------+
879 +------------+--------------------+------------+------------------------------+
880 | Name | Type | Constraints| Description |
881 +============+====================+============+==============================+
882 | virtual\ | tosca.\ | | Describes virtual compute |
883 | _compute | capabilities.nfv.\ | | resources capabilities. |
884 | | VirtualCompute | | |
885 +------------+--------------------+------------+------------------------------+
886 | monitoring\| tosca.\ | None | Monitoring parameter, which |
887 | _parameter | capabilities.nfv.\ | | can be tracked for a VNFC |
888 | | Metric | | based on this VDU |
890 | | | | Examples include: |
891 | | | | memory-consumption, |
892 | | | | CPU-utilisation, |
893 | | | | bandwidth-consumption, VNFC |
894 | | | | downtime, etc. |
895 +------------+--------------------+------------+------------------------------+
896 | Virtual\ | tosca.\ | | Defines ability of |
897 | _binding | capabilities.nfv.\ | | VirtualBindable |
898 | | VirtualBindable | | |
900 | | editor note: need | | |
901 | | to create a | | |
902 | | capability type | | |
903 +------------+--------------------+------------+------------------------------+
912 tosca.nodes.nfv.VDU.Compute:
914 derived\_from: tosca.nodes.Compute
932 type: list # explicit index (boot index) not necessary, contrary to IFA011
950 configurable\_properties:
956 type: tosca.datatypes.nfv.VnfcConfigurableProperties
982 type: tosca.capabilities.nfv.VirtualCompute
986 type: tosca.capabilities.nfv.VirtualBindable
988 #monitoring\_parameter:
990 # modeled as ad hoc (named) capabilities in VDU node template
996 # cpu\_load: tosca.capabilities.nfv.Metric
998 # memory\_usage: tosca.capabilities.nfv.Metric
1000 host: #Editor note: FFS. How this capabilities should be used in NFV Profile|
1002 type: *tosca.capabilities.Container*
1004 valid\_source\_types:
1005 [*tosca.nodes.SoftwareComponent*]
1007 occurrences: [0,UNBOUNDED]
1018 #Editor note: FFS. How this capabilities should be used in NFV Profile
1020 type: *tosca.capabilities.Scalable*
1024 occurrences: [0,UNBOUND]
1030 capability: tosca.capabilities.nfv.VirtualStorage
1032 relationship: tosca.relationships.nfv.VDU.AttachedTo
1034 node: tosca.nodes.nfv.VDU.VirtualStorage
1036 occurences: [ 0, UNBOUNDED ]
1038 - local\_storage: #For NFV Profile, this requirement is deprecated.
1048 type: tosca.artifacts.nfv.SwImage
1054 Note: currently not supported.
1056 +--------+---------+----------------+------------+------------------------+
1057 | Name | Required| Type | Constraints| Description |
1058 +========+=========+================+============+========================+
1059 | SwImage| Yes | tosca.\ | | Describes the software |
1060 | | | artifacts.nfv.\| | image which is directly|
1061 | | | SwImage | | realizing this virtual |
1063 +--------+---------+----------------+------------+------------------------+
1070 tosca.nodes.nfv.VDU.VirtualStorage
1071 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1073 The NFV VirtualStorage node type represents a virtual storage entity
1074 which it describes the deployment and operational behavior of a virtual
1075 storage resources, as defined by **[ETSI NFV IFA011].**
1077 **[editor note]** open issue: should NFV profile use the current storage
1078 model as described in YAML 1.1. Pending on Shitao proposal (see
1079 NFVIFA(17)000110 discussion paper)
1081 **[editor note]** new relationship type as suggested in Matt
1082 presentation. Slide 8. With specific rules of "valid\_target\_type"
1084 +---------------------------+--------------------------------------+
1085 | **Shorthand Name** | VirtualStorage |
1086 +===========================+======================================+
1087 | **Type Qualified Name** | tosca: VirtualStorage |
1088 +---------------------------+--------------------------------------+
1089 | **Type URI** | tosca.nodes.nfv.VDU.VirtualStorage |
1090 +---------------------------+--------------------------------------+
1091 | **derived\_from** | tosca.nodes.Root |
1092 +---------------------------+--------------------------------------+
1094 tosca.artifacts.nfv.SwImage
1095 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1097 +---------------------------+------------------------------------+
1098 | **Shorthand Name** | SwImage |
1099 +===========================+====================================+
1100 | **Type Qualified Name** | tosca:SwImage |
1101 +---------------------------+------------------------------------+
1102 | **Type URI** | tosca.artifacts.nfv.SwImage |
1103 +---------------------------+------------------------------------+
1104 | **derived\_from** | tosca.artifacts.Deployment.Image |
1105 +---------------------------+------------------------------------+
1110 +-----------------+---------+----------+------------+-------------------------+
1111 | Name | Required| Type | Constraints| Description |
1112 +=================+=========+==========+============+=========================+
1113 | name | yes | string | | Name of this software |
1115 +-----------------+---------+----------+------------+-------------------------+
1116 | version | yes | string | | Version of this software|
1118 +-----------------+---------+----------+------------+-------------------------+
1119 | checksum | yes | string | | Checksum of the software|
1120 | | | | | image file |
1121 +-----------------+---------+----------+------------+-------------------------+
1122 | container\ | yes | string | | The container format |
1123 | _format | | | | describes the container |
1124 | | | | | file format in which |
1125 | | | | | software image is |
1126 | | | | | provided. |
1127 +-----------------+---------+----------+------------+-------------------------+
1128 | disk\_format | yes | string | | The disk format of a |
1129 | | | | | software image is the |
1130 | | | | | format of the underlying|
1131 | | | | | disk image |
1132 +-----------------+---------+----------+------------+-------------------------+
1133 | min\_disk | yes | scalar-\ | | The minimal disk size |
1134 | | | unit.size| | requirement for this |
1135 | | | | | software image. |
1136 +-----------------+---------+----------+------------+-------------------------+
1137 | min\_ram | no | scalar-\ | | The minimal RAM |
1138 | | | unit.size| | requirement for this |
1139 | | | | | software image. |
1140 +-----------------+---------+----------+------------+-------------------------+
1141 | Size | yes | scalar-\ | | The size of this |
1142 | | | unit.size| | software image |
1143 +-----------------+---------+----------+------------+-------------------------+
1144 | sw\_image | yes | string | | A reference to the |
1145 | | | | | actual software image |
1146 | | | | | within VNF Package, or |
1148 +-----------------+---------+----------+------------+-------------------------+
1149 | operating\ | no | string | | Identifies the operating|
1150 | _system | | | | system used in the |
1151 | | | | | software image. |
1152 +-----------------+---------+----------+------------+-------------------------+
1153 | supported\ | no | list | | Identifies the |
1154 | _virtualization\| | | | virtualization |
1155 | _enviroment | | | | environments (e.g. |
1156 | | | | | hypervisor) compatible |
1157 | | | | | with this software image|
1158 +-----------------+---------+----------+------------+-------------------------+
1164 .. code-block:: yaml
1166 tosca.artifacts.nfv.SwImage:
1168 derived\_from: tosca.artifacts.Deployment.Image
1170 properties or metadata:
1208 type: scalar-unit.size # Number
1214 type: scalar-unit.size # Number
1220 type: scalar-unit.size # Number
1236 supported\_virtualisation\_environments:
1247 .. |image1| image:: ../Image1.png
1251 .. |image2| image:: ../Image2.png