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.
37 1. ETSI GS NFV-SOL001 draft v.0.10.0
38 2. TOSCA SIMPLE Profile in YAML v.1.2
39 3. ETSI GS NFV-SOL004 v.2.5.1
44 This document is intended for developers of VNF TOSCA templates that
45 will be orchestrated by ONAP. The document is also applicable for
46 creating RFP’s with the list of required TOSCA/YAML features
47 supported by VNF provider.
52 ONAP implementations of Network Cloud supports TOSCA Templates, also
53 referred to as TOSCA in this document.
55 ONAP requires the TOSCA Templates to follow a specific format. This
56 document provides the mandatory, recommended, and optional requirements
57 associated with this format.
62 The document includes three charters to help the VNF or PNF providers to
63 use the VNF or PNF model design tools and understand the VNF or PNF package
64 structure and VNF or PNF TOSCA templates.
66 In the ONAP, VNF or PNF Package and VNFD or PNFD template can be designed by
67 manually or via model designer tools. VNF or PNF model designer tools can
68 provide the GUI and CLI tools for the VNF or PNF provider to develop the
69 VNF or PNF Package and VNFD or PNFD template.
71 The VNF or PNF package structure is align to the NFV TOSCA protocol,
74 The VNFD or PNFD and VNF or PNF package are all align to the NFV TOSCA
75 protocol, which supports multiple TOSCA template yaml files, and also
76 supports self-defined node or other extensions.
78 VNF or PNF CSAR Package
79 ^^^^^^^^^^^^^^^^^^^^^^
84 TOSCA YAML CSAR file is an archive file using the ZIP file format whose
85 structure complies with the TOSCA Simple Profile YAML v1.2 Specification.
86 The CSAR file may have one of the two following structures:
88 - CSAR containing a TOSCA-Metadata directory, which includes the TOSCA.meta
89 metadata file providing an entry information for processing a CSAR file.
91 - CSAR containing a single yaml (.yml or .yaml) file at the root of the
92 archive. The yaml file is a TOSCA definition template that contains a
93 metadata section with template_name and template_version metadata. This
94 file is the CSAR Entry-Definitions file.
96 VNF Package Structure and Format
97 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
103 :introduced: casablanca
105 The VNF package **MUST** be arranged as a CSAR archive as specified in
106 TOSCA Simple Profile in YAML 1.2.
113 :introduced: casablanca
115 The VNF package provided by a VNF vendor **MAY** be either with
116 TOSCA-Metadata directory (CSAR Option 1) or without TOSCA-Metadata
117 directory (CSAR Option 2) as specified in ETSI GS NFV-SOL004. On-boarding
118 entity (ONAP SDC) must support both options.
120 **Note:** SDC supports only the CSAR Option 1 in Casablanca. The Option 2
121 will be considered in future ONAP releases,
125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
131 :introduced: casablanca
133 The VNF package **MUST** contain all standard artifacts as specified in
134 ETSI GS NFV-SOL004 including Manifest file, VNFD (or Main TOSCA/YAML
135 based Service Template) and other optional artifacts. CSAR Manifest
136 file as per SOL004 - for example ROOT\\ **MainServiceTemplate.mf**
142 :introduced: casablanca
145 The VNF or PNF package Manifest file **MUST** contain: VNF or PNF package
146 meta-data, a list of all artifacts (both internal and external) entry's
147 including their respected URI's, an algorithm to calculate a digest and
148 a digest result calculated on the content of each artifacts, as specified
149 in ETSI GS NFV-SOL004.
155 :introduced: casablanca
157 The VNF provider **MUST** provide their testing scripts to support
158 testing as specified in ETSI NFV-SOL004 - Testing directory in CSAR
164 :introduced: casablanca
166 The VNF provider **MUST** provide the binaries and images needed to
167 instantiate the VNF (VNF and VNFC images) either as:
169 - Local artifact in CSAR: ROOT\\Artifacts\\ **VNF_Image.bin**
171 - externally referred (by URI) artifact in Manifest file (also may be
172 referred by VNF Descriptor)
174 Note: Currently, ONAP doesn't have the capability of Image management,
175 we upload the image into VIM/VNFM manually.
181 :introduced: casablanca
183 The VNF provider MUST enumerate all of the open source licenses
184 their VNF(s) incorporate. CSAR License directory as per ETSI SOL004.
186 for example ROOT\\Licenses\\ **License_term.txt**
189 VNF Package Authenticity
190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192 Will be added in future releases.
195 VNF Package ONAP Extensions
196 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
198 1. TOACA data type extension tosca.datatypes.nfv.injectFile is used for vCPE
200 2. ONAP extensions for VNF package that is currently proposed for Dublin
201 release is VES extension described below.
206 TOSCA defines a Meta model for defining IT services. This Meta model
207 defines both the structure of a service as well as how to manage it. A
208 Topology Template (also referred to as the topology model of a service)
209 defines the structure of a service. Plans define the process models that
210 are used to create and terminate a service as well as to manage a
211 service during its whole lifetime.
213 A Topology Template consists of a set of Node Templates and Relationship
214 Templates that together define the topology model of a service as a (not
215 necessarily connected) directed graph. A node in this graph is
216 represented by a *Node Template*. A Node Template specifies the
217 occurrence of a Node Type as a component of a service. A *Node Type*
218 defines the properties of such a component (via *Node Type Properties*)
219 and the operations (via *Interfaces*) available to manipulate the
220 component. Node Types are defined separately for reuse purposes and a
221 Node Template references a Node Type and adds usage constraints, such as
222 how many times the component can occur.
226 Figure 1: Structural Elements of Service Template and their Relations
228 TOSCA Modeling Principles & Data Model
229 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
231 This section describing TOSCA modeling principles and data model for
232 NFV, which shall be based on [TOSCA-1.0] and [TOSCA-Simple-Profile-YAML
233 V1.0], or new type based on ETSI NFV requirements, etc.
236 ^^^^^^^^^^^^^^^^^^^^^^^^^
245 :introduced: casablanca
247 The VNF Descriptor (VNFD) provided by VNF vendor **MUST** comply with
248 TOSCA/YAML based Service template for VNF descriptor specified in
251 **Note**: As the ETSI NFV-SOL001 is work in progress the below tables
252 summarizes the TOSCA definitions agreed to be part of current version
253 of NFV profile and that VNFD MUST comply with in ONAP Release 2+
261 :introduced: casablanca
263 The VNFD **MUST** comply with ETSI GS NFV-SOL001 document endorsing
264 the above mentioned NFV Profile and maintaining the gaps with the
265 requirements specified in ETSI GS NFV-IFA011 standard.
272 :introduced: casablanca
274 The VNFD **MAY** include TOSCA/YAML definitions that are not part of
275 NFV Profile. If provided, these definitions MUST comply with TOSCA
276 Simple Profile in YAML v.1.2.
282 :introduced: casablanca
284 A VNFD is a deployment template which describes a VNF in terms of
285 deployment and operational behavior requirements. It contains
286 virtualized resources (nodes) requirements as well as connectivity
287 and interfaces requirements and **MUST** comply with info elements
288 specified in ETSI GS NFV-IFA 011. The main parts of the VNFD are
291 - VNF topology: it is modeled in a cloud agnostic way using virtualized
292 containers and their connectivity. Virtual Deployment Units (VDU)
293 describe the capabilities of the virtualized containers, such as
294 virtual CPU, RAM, disks; their connectivity is modeled with VDU
295 Connection Point Descriptors (VduCpd), Virtual Link Descriptors
296 (VnfVld) and VNF External Connection Point Descriptors
299 - VNF deployment aspects: they are described in one or more
300 deployment flavours, including configurable parameters, instantiation
301 levels, placement constraints (affinity / antiaffinity), minimum and
302 maximum VDU instance numbers. Horizontal scaling is modeled with
303 scaling aspects and the respective scaling levels in the deployment
306 **Note**: The deployment aspects (deployment flavour etc.) are postponed
307 for future ONAP releases.
309 - VNF lifecycle management (LCM) operations: describes the LCM operations
310 supported per deployment flavour, and their input parameters;
311 Note, thatthe actual LCM implementation resides in a different layer,
312 namely referring to additional template artifacts.
318 :introduced: casablanca
320 The following table defines the major TOSCA Types specified in
321 ETSI NFV-SOL001 standard draft. The VNFD provided by a VNF vendor
322 **MUST** comply with the below definitions:
325 .. csv-table:: **TOSCA Definition**
326 :file: TOSCA_descriptor.csv
338 :introduced: casablanca
340 The below table includes the data types used by NFV node and is based
341 on TOSCA/YAML constructs specified in draft GS NFV-SOL 001. The node
342 data definitions/attributes used in VNFD **MUST** comply with the below
345 .. csv-table:: **NFV Data Types**
346 :file: NFV_data_type.csv
355 :introduced: casablanca
357 The below table describes the data types used for LCM configuration
358 and is based on TOSCA constructs specified in draft GS NFV-SOL 001.
359 The LCM configuration data elements used in VNFD **MUST** comply
360 with the below table.
362 .. csv-table:: **LCM Configuration**
363 :file: LCM_config.csv
369 ~~~~~~~~~~~~~~~~~~~~~~~~
371 No artifact type is currently supported in ONAP.
374 ~~~~~~~~~~~~~~~~~~~~~~~~
380 :introduced: casablanca
382 The VNFD provided by VNF vendor may use the below described TOSCA
383 capabilities. An on-boarding entity (ONAP SDC) **MUST** support them.
385 **tosca.capabilities.nfv.VirtualBindable**
387 A node type that includes the VirtualBindable capability indicates
388 that it can be pointed by **tosca.relationships.nfv.VirtualBindsTo**
391 **tosca.capabilities.nfv.VirtualLinkable**
393 A node type that includes the VirtualLinkable capability indicates
394 that it can be pointed by **tosca.relationships.nfv.VirtualLinksTo**
397 **tosca.capabilities.nfv.ExtVirtualLinkable**
399 A node type that includes the ExtVirtualLinkable capability
400 indicates that it can be pointed by
401 **tosca.relationships.nfv.VirtualLinksTo** relationship.
403 **Note**: This capability type is used in Casablanca how it does
404 not exist in the last SOL001 draft
406 **tosca.capabilities.nfv.VirtualCompute** and
407 **tosca.capabilities.nfv.VirtualStorage** includes flavours of VDU
411 ~~~~~~~~~~~~~~~~~~~~~~~~
417 :introduced: casablanca
419 The VNFD provided by VNF vendor may use the below described TOSCA
420 relationships. An on-boarding entity (ONAP SDC) **MUST** support them.
422 **tosca.relationships.nfv.VirtualBindsTo**
424 This relationship type represents an association relationship between
425 VDU and CP node types.
427 **tosca.relationships.nfv.VirtualLinksTo**
429 This relationship type represents an association relationship between
430 the VduCpd's and VirtualLinkDesc node types.
434 ~~~~~~~~~~~~~~~~~~~~~~~~
440 :introduced: casablanca
442 The VNFD provided by VNF vendor may use the below described TOSCA
443 interface types. An on-boarding entity (ONAP SDC) **MUST** support them.
445 **tosca.interfaces.nfv.vnf.lifecycle.Nfv** supports LCM operations
449 ^^^^^^^^^^^^^^^^^^^^^^^^^
461 ~~~~~~~~~~~~~~~~~~~~~~~~
465 ~~~~~~~~~~~~~~~~~~~~~~~~
469 ~~~~~~~~~~~~~~~~~~~~~~~~
473 ~~~~~~~~~~~~~~~~~~~~~~~~
477 ~~~~~~~~~~~~~~~~~~~~~~~~
493 +--------------------------------------------------------------------+
494 | +--------------------------------------------------------------+ |
495 | | tosca\_definitions\_version: tosca\_simple\_yaml\_1\_0 | |
497 | | description: VNFD TOSCA file demo | |
501 | | - TOSCA\_definition\_nfv\_1\_0.yaml | |
503 | | - TOSCA\_definition\_nfv\_ext\_1\_0.yaml | |
505 | | | **node\_types: | |
506 | | tosca.nodes.nfv.VNF.vOpenNAT: | |
507 | | derived\_from:** tosca.nodes.nfv.VNF | |
508 | | | **requirements: | |
509 | | **- **sriov\_plane: | |
510 | | capability:** tosca.capabilities.nfv.VirtualLinkable | |
511 | | | **node:** tosca.nodes.nfv.VnfVirtualLinkDesc | |
512 | | | **relationship:** tosca.relationships.nfv.VirtualLinksTo | |
513 | +--------------------------------------------------------------+ |
514 +====================================================================+
515 +--------------------------------------------------------------------+
521 1. SR-IOV Passthrought
523 Definitions of SRIOV\_Port are necessary if VDU supports SR-IOV. Here is
536 tosca\_name: SRIOV\_Port
540 virtual\_network\_interface\_requirements:
544 support\_mandatory: false
554 description: sriov port
556 layer\_protocol: ipv4
562 capability: virtual\_binding
568 type: tosca.relationships.nfv.VirtualBindsTo
572 node: tosca.nodes.Root
574 type: tosca.nodes.nfv.VduCpd
576 substitution\_mappings:
586 node\_type: tosca.nodes.nfv.VNF.vOpenNAT
591 Definitions of mem\_page\_size as one property shall be added to
592 Properties and set the value to large if one VDU node supports
593 huagepages. Here is an example.
605 tosca\_name: Huge\_pages\_demo
609 mem\_page\_size:large
614 Likewise, we shall add definitions of numa to
615 requested\_additional\_capabilities if we wand VUD nodes to support
616 NUMA. Here is an example.
636 virtual\_mem\_size: 2 GB
638 requested\_additional\_capabilities:
642 support\_mandatory: true
644 requested\_additional\_capability\_name: numa
646 target\_performance\_parameters:
650 hw:numa\_cpus.0: "0,1"
652 hw:numa\_mem.0: "1024"
654 hw:numa\_cpus.1: "2,3,4,5"
656 hw:numa\_mem.1: "1024"
661 Definitions of Hyper-Theading are necessary as one of
662 requested\_additional\_capabilities of one VUD node if that node
663 supports Hyper-Theading. Here is an example.
683 virtual\_mem\_size: 2 GB
685 requested\_additional\_capabilities:
689 support\_mandatory: true
691 requested\_additional\_capability\_name: hyper\_threading
693 target\_performance\_parameters:
695 hw:cpu\_sockets : "2"
697 hw:cpu\_threads : "2"
701 hw:cpu\_threads\_policy: "isolate"
706 Definitions of ovs\_dpdk are necessary as one of
707 requested\_additional\_capabilities of one VUD node if that node
708 supports dpdk. Here is an example.
728 virtual\_mem\_size: 2 GB
730 requested\_additional\_capabilities:
734 support\_mandatory: true
736 requested\_additional\_capability\_name: ovs\_dpdk
738 target\_performance\_parameters:
744 ^^^^^^^^^^^^^^^^^^^^^^^^^
746 **Note: ONAP proprietary extensions in ETSI SOL004 standards for VES support
747 in CSAR package need to be manually loaded in R3 (Casablanca) for VNF and
748 PNFs. Platform support will be developed for this in upcoming releases.**
751 NFV TOSCA Type Definition
752 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
754 tosca.capabilites.nfv.VirtualCompute
755 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
757 This capability is used with the properties specified in ETSI SOL001 draft.
759 tosca.nodes.nfv.VDU.Compute
760 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
762 The NFV Virtualization Deployment Unit (VDU) compute node type
763 represents a VDU entity which it describes the deployment and
764 operational behavior of a VNF component (VNFC), as defined by **[ETSI
767 +-----------------------+-------------------------------+
768 | Shorthand Name | VDU.Compute |
769 +=======================+===============================+
770 | Type Qualified Name | tosca:VDU.Compute |
771 +-----------------------+-------------------------------+
772 | Type URI | tosca.nodes.nfv.VDU.Compute |
773 +-----------------------+-------------------------------+
774 | derived\_from | tosca.nodes.Compute |
775 +-----------------------+-------------------------------+
788 +------------+--------------------+------------+------------------------------+
789 | Name | Type | Constraints| Description |
790 +============+====================+============+==============================+
791 | virtual\ | tosca.\ | | Describes virtual compute |
792 | _compute | capabilities.nfv.\ | | resources capabilities. |
793 | | VirtualCompute | | |
794 +------------+--------------------+------------+------------------------------+
795 | monitoring\| tosca.\ | None | Monitoring parameter, which |
796 | _parameter | capabilities.nfv.\ | | can be tracked for a VNFC |
797 | | Metric | | based on this VDU |
799 | | | | Examples include: |
800 | | | | memory-consumption, |
801 | | | | CPU-utilisation, |
802 | | | | bandwidth-consumption, VNFC |
803 | | | | downtime, etc. |
804 +------------+--------------------+------------+------------------------------+
805 | Virtual\ | tosca.\ | | Defines ability of |
806 | _binding | capabilities.nfv.\ | | VirtualBindable |
807 | | VirtualBindable | | |
809 | | editor note: need | | |
810 | | to create a | | |
811 | | capability type | | |
812 +------------+--------------------+------------+------------------------------+
821 tosca.nodes.nfv.VDU.Compute:
823 derived\_from: tosca.nodes.Compute
841 type: list # explicit index (boot index) not necessary, contrary to IFA011
859 configurable\_properties:
865 type: tosca.datatypes.nfv.VnfcConfigurableProperties
891 type: tosca.capabilities.nfv.VirtualCompute
895 type: tosca.capabilities.nfv.VirtualBindable
897 #monitoring\_parameter:
899 # modeled as ad hoc (named) capabilities in VDU node template
905 # cpu\_load: tosca.capabilities.nfv.Metric
907 # memory\_usage: tosca.capabilities.nfv.Metric
909 host: #Editor note: FFS. How this capabilities should be used in NFV Profile|
911 type: *tosca.capabilities.Container*
913 valid\_source\_types:
914 [*tosca.nodes.SoftwareComponent*]
916 occurrences: [0,UNBOUNDED]
927 #Editor note: FFS. How this capabilities should be used in NFV Profile
929 type: *tosca.capabilities.Scalable*
933 occurrences: [0,UNBOUND]
939 capability: tosca.capabilities.nfv.VirtualStorage
941 relationship: tosca.relationships.nfv.VDU.AttachedTo
943 node: tosca.nodes.nfv.VDU.VirtualStorage
945 occurences: [ 0, UNBOUNDED ]
947 - local\_storage: #For NFV Profile, this requirement is deprecated.
957 type: tosca.artifacts.nfv.SwImage
963 Note: currently not supported.
965 +--------+---------+----------------+------------+------------------------+
966 | Name | Required| Type | Constraints| Description |
967 +========+=========+================+============+========================+
968 | SwImage| Yes | tosca.\ | | Describes the software |
969 | | | artifacts.nfv.\| | image which is directly|
970 | | | SwImage | | realizing this virtual |
972 +--------+---------+----------------+------------+------------------------+
979 tosca.nodes.nfv.VDU.VirtualStorage
980 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
982 The NFV VirtualStorage node type represents a virtual storage entity
983 which it describes the deployment and operational behavior of a virtual
984 storage resources, as defined by **[ETSI NFV IFA011].**
986 **[editor note]** open issue: should NFV profile use the current storage
987 model as described in YAML 1.1. Pending on Shitao proposal (see
988 NFVIFA(17)000110 discussion paper)
990 **[editor note]** new relationship type as suggested in Matt
991 presentation. Slide 8. With specific rules of "valid\_target\_type"
993 +---------------------------+--------------------------------------+
994 | **Shorthand Name** | VirtualStorage |
995 +===========================+======================================+
996 | **Type Qualified Name** | tosca: VirtualStorage |
997 +---------------------------+--------------------------------------+
998 | **Type URI** | tosca.nodes.nfv.VDU.VirtualStorage |
999 +---------------------------+--------------------------------------+
1000 | **derived\_from** | tosca.nodes.Root |
1001 +---------------------------+--------------------------------------+
1003 tosca.artifacts.nfv.SwImage
1004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1006 +---------------------------+------------------------------------+
1007 | **Shorthand Name** | SwImage |
1008 +===========================+====================================+
1009 | **Type Qualified Name** | tosca:SwImage |
1010 +---------------------------+------------------------------------+
1011 | **Type URI** | tosca.artifacts.nfv.SwImage |
1012 +---------------------------+------------------------------------+
1013 | **derived\_from** | tosca.artifacts.Deployment.Image |
1014 +---------------------------+------------------------------------+
1019 +-----------------+---------+----------+------------+-------------------------+
1020 | Name | Required| Type | Constraints| Description |
1021 +=================+=========+==========+============+=========================+
1022 | name | yes | string | | Name of this software |
1024 +-----------------+---------+----------+------------+-------------------------+
1025 | version | yes | string | | Version of this software|
1027 +-----------------+---------+----------+------------+-------------------------+
1028 | checksum | yes | string | | Checksum of the software|
1029 | | | | | image file |
1030 +-----------------+---------+----------+------------+-------------------------+
1031 | container\ | yes | string | | The container format |
1032 | _format | | | | describes the container |
1033 | | | | | file format in which |
1034 | | | | | software image is |
1035 | | | | | provided. |
1036 +-----------------+---------+----------+------------+-------------------------+
1037 | disk\_format | yes | string | | The disk format of a |
1038 | | | | | software image is the |
1039 | | | | | format of the underlying|
1040 | | | | | disk image |
1041 +-----------------+---------+----------+------------+-------------------------+
1042 | min\_disk | yes | scalar-\ | | The minimal disk size |
1043 | | | unit.size| | requirement for this |
1044 | | | | | software image. |
1045 +-----------------+---------+----------+------------+-------------------------+
1046 | min\_ram | no | scalar-\ | | The minimal RAM |
1047 | | | unit.size| | requirement for this |
1048 | | | | | software image. |
1049 +-----------------+---------+----------+------------+-------------------------+
1050 | Size | yes | scalar-\ | | The size of this |
1051 | | | unit.size| | software image |
1052 +-----------------+---------+----------+------------+-------------------------+
1053 | sw\_image | yes | string | | A reference to the |
1054 | | | | | actual software image |
1055 | | | | | within VNF Package, or |
1057 +-----------------+---------+----------+------------+-------------------------+
1058 | operating\ | no | string | | Identifies the operating|
1059 | _system | | | | system used in the |
1060 | | | | | software image. |
1061 +-----------------+---------+----------+------------+-------------------------+
1062 | supported\ | no | list | | Identifies the |
1063 | _virtualization\| | | | virtualization |
1064 | _enviroment | | | | environments (e.g. |
1065 | | | | | hypervisor) compatible |
1066 | | | | | with this software image|
1067 +-----------------+---------+----------+------------+-------------------------+
1073 .. code-block:: yaml
1075 tosca.artifacts.nfv.SwImage:
1077 derived\_from: tosca.artifacts.Deployment.Image
1079 properties or metadata:
1117 type: scalar-unit.size # Number
1123 type: scalar-unit.size # Number
1129 type: scalar-unit.size # Number
1145 supported\_virtualisation\_environments:
1156 .. |image1| image:: ../Image1.png
1160 .. |image2| image:: ../Image2.png