Loading example-data/complex-vnfd.xml +57 −13 Viewed Changes for example-data/complex-vnfd.xml: 57 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -80,8 +80,12 @@ </virtual-compute-desc> <virtual-storage-desc> <id>root</id> <type-of-storage>root-storage</type-of-storage> <type-of-storage>block</type-of-storage> <block-storage-data> <size-of-storage>10</size-of-storage> <rdma-enabled>true</rdma-enabled> <sw-image-desc>CP</sw-image-desc> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>CP</id> Loading Loading @@ -118,12 +122,18 @@ <connectivity-type> <layer-protocol>ipv4</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <connectivity-type> <layer-protocol>ipv4</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <ext-cpd> <id>in</id> Loading Loading @@ -152,22 +162,27 @@ <id>control-plane-active</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>control-plane-standby</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>data-plane</id> <min-number-of-instances>2</min-number-of-instances> <max-number-of-instances>8</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>il-1</id> Loading Loading @@ -210,6 +225,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> <affinity-or-anti-affinity-group> <id>control-plane</id> Loading @@ -223,22 +250,27 @@ <id>control-plane-active</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>control-plane-standby</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>data-plane</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>4</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>il-1</id> Loading Loading @@ -281,6 +313,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> <affinity-or-anti-affinity-group> <id>control-plane</id> Loading example-data/nfv-nsd.xml +24 −4 Viewed Changes for example-data/nfv-nsd.xml: 24 added lines, 4 removed lines. Original line number Diff line number Diff line <nsd xmlns="urn:etsi:nfv:yang:etsi-nfv-nsd"> <?xml version="1.0" encoding="UTF-8"?> <nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors"> <vnfd> <id>ASA</id> <provider>My Company</provider> Loading Loading @@ -36,8 +37,10 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:block</type-of-storage> <block-storage-data> <size-of-storage>0</size-of-storage> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading @@ -49,7 +52,7 @@ </checksum> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <min-disk>20</min-disk> <min-disk>0</min-disk> <min-ram>2.0</min-ram> <size>1</size> <image>http://www.mycompany.com/asa.qcow2</image> Loading Loading @@ -84,6 +87,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -100,6 +106,20 @@ </vdu-level> </instantiation-level> <default-instantiation-level>single</default-instantiation-level> <lcm-operations-configuration> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> <nsd> Loading Loading @@ -133,4 +153,4 @@ </ns-instantiation-level> </df> </nsd> </config> </nfv> example-data/nfv-vnfd.xml +22 −2 Viewed Changes for example-data/nfv-vnfd.xml: 22 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -35,8 +35,11 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:file</type-of-storage> <file-storage-data> <size-of-storage>0</size-of-storage> <int-virtual-link-desc>asa-image</int-virtual-link-desc> </file-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading @@ -48,7 +51,7 @@ </checksum> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <min-disk>20</min-disk> <min-disk>0</min-disk> <min-ram>2.0</min-ram> <size>1</size> <image>http://www.mycompany.com/asa.qcow2</image> Loading @@ -71,6 +74,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -87,5 +93,19 @@ </vdu-level> </instantiation-level> <default-instantiation-level>single</default-instantiation-level> <lcm-operations-configuration> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> example-data/nfv.xml +44 −4 Viewed Changes for example-data/nfv.xml: 44 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -36,8 +36,12 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage>root-storage</type-of-storage> <size-of-storage>0</size-of-storage> <type-of-storage>block</type-of-storage> <block-storage-data> <size-of-storage>1</size-of-storage> <rdma-enabled>true</rdma-enabled> <sw-image-desc>asa-image</sw-image-desc> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading Loading @@ -67,6 +71,9 @@ <connectivity-type> <layer-protocol>ethernet</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <ext-cpd> <id>inside</id> Loading Loading @@ -95,6 +102,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <virtual-link-profile> <id>inside-vl</id> Loading Loading @@ -141,6 +151,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> Loading Loading @@ -181,8 +203,11 @@ </virtual-compute-desc> <virtual-storage-desc> <id>csr-vsd</id> <type-of-storage>root-storage</type-of-storage> <size-of-storage>0</size-of-storage> <type-of-storage>file</type-of-storage> <file-storage-data> <size-of-storage>1</size-of-storage> <int-virtual-link-desc>csr-image</int-virtual-link-desc> </file-storage-data> </virtual-storage-desc> <sw-image-desc> <id>csr-image</id> Loading Loading @@ -229,6 +254,9 @@ <id>router</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -255,6 +283,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> Loading src/yang/etsi-nfv-common.yang +161 −21 Viewed Changes for src/yang/etsi-nfv-common.yang: 161 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -3,12 +3,37 @@ submodule etsi-nfv-common { belongs-to etsi-nfv-descriptors { prefix nfv; } import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types."; } organization "European Telecommunications Standards Institute (ETSI)"; description "Common data types for ETSI data models."; revision 2020-06-10 { description "Version 3.3.1. Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 Release 3 ETSI GS NFV-IFA 011 Release 3."; } revision 2020-06-01 { description "Version 2.8.1. Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 271 ETSI GS NFV-IFA 011 271."; } revision 2019-10-01 { description "Version 2.7.1. Loading @@ -17,6 +42,7 @@ submodule etsi-nfv-common { ETSI GS NFV-IFA 014 Ed271v264 ETSI GS NFV-IFA 011 Ed271v264"; } revision 2019-04-25 { description "Initial revision Loading Loading @@ -233,22 +259,22 @@ submodule etsi-nfv-common { "Base type of storage that identities can derive from."; } identity root-storage { identity block { base storage-type; description "Root type of storage."; "Block type of storage."; } identity swap-storage { identity object { base storage-type; description "Swap type of storage."; "Object type of storage."; } identity ephemeral-storage { identity file { base storage-type; description "Ephemeral type of storage."; "File type of storage."; } identity forwarding-behaviour { Loading Loading @@ -369,6 +395,7 @@ submodule etsi-nfv-common { enum "zone-group"; enum "zone"; enum "nfvi-pop"; enum "network-link-and-node"; } } Loading @@ -390,30 +417,142 @@ submodule etsi-nfv-common { enum "end-vnf-ext-conn-change"; enum "start-vnfinfo-modification"; enum "end-vnfinfo-modification"; enum "start-vnf-snapshot-creation"; enum "end-vnf-snapshot-creation"; enum "start-vnf-snapshot-reverting-to"; enum "end-vnf-snapshot-reverting-to"; enum "start-change-current-vnf-package"; enum "end-change-current-vnf-package"; } } grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; leaf type { type affinity-type; typedef external-lifecycle-management-script-event { type enumeration { enum "instantiation"; enum "scaling"; enum "healing"; enum "termination"; enum "vnf-flavour-change"; enum "vnf-operation-change"; enum "vnf-ext-conn-change"; enum "vnfinfo-modification"; enum "vnf-snapshot-creation"; enum "vnf-snapshot-reverting-to"; enum "change-current-vnf-package"; } } grouping nfvi-maintenance-info { container nfvi-maintenance-info { leaf impact-notification-lead-time { type yang:timeticks; mandatory true; description "Specifies whether the rule is an affinity rule or an anti-affinity rule."; "The value specifies the minimum notification lead time requested for upcoming impact of the virtualised resource or their group (i.e. between the notification and the action causing the impact)."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf scope { type affinity-scope; leaf is-impact-mitigation-requested { type boolean; description "Specifies the scope of the rule, possible values are 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; "When set to True, it is requested that at the time of the notification of an upcoming change that is expected to have an impact on the VNF, virtualised resource(s) of the same characteristics as the impacted ones is/are provided to compensate for the impact. Cardinality 0 corresponds to the value False."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf-list supported-migration-type { type enumeration { enum "no-migration"; enum "offline-migration"; enum "live-migration"; } description "Applicable to VirtualComputeDesc and VirtualStorageDesc. When present, specifies the allowed migration types in the order of preference in case of an impact starting with the most preferred type. Possible values: NO_MIGRATION, OFFLINE_MIGRATION, LIVE_MIGRATION."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf max-undetectable-interruption-time { type yang:timeticks; description "Applicable to VirtualComputeDesc and VirtualStorageDesc. When present, it specifies the maximum interruption time that can go undetected at the VNF level and therefore which will not trigger VNFinternal recovery during live migration."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf min-recovery-time-between-impacts { type yang:timeticks; description "When present, it specifies the time required by the group to recover from an impact, thus, the minimum time requested between consecutive impacts of the group."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } list max-number-of-impacted-instances { key "group-size"; ordered-by user; must "./max-number-of-impacted-instances <= ./group-size"; leaf group-size { type uint32; description "When present, it determines the size of the group for which the maxNumberOfImpactedInstances is specified. Otherwise the size is not limited. Each groupSize value specified for a group of virtual resources shall be unique, and it shall be possible to form an ascending ordered list of groupSizes. The number of instances in the group for which the maxNumberOfImpactedInstances is specified may be equal to groupSize or less. When the number of instances is less than the groupSize, it shall be at least 1 if this is the first groupSize in the ordered list of groupSizes, or it shall be greater by at least 1 than the previous groupSize in the ordered list of groupSizes."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf max-number-of-impacted-instances { type uint32 { range "1 .. max"; } description "The maximum number of instances that can be impacted simultaneously within the group of the specified size."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } } } } Loading @@ -424,6 +563,7 @@ submodule etsi-nfv-common { type identityref { base layer-protocol; } min-elements 1; description "Identifies the protocols that the VL uses (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer Loading Loading
example-data/complex-vnfd.xml +57 −13 Viewed Changes for example-data/complex-vnfd.xml: 57 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -80,8 +80,12 @@ </virtual-compute-desc> <virtual-storage-desc> <id>root</id> <type-of-storage>root-storage</type-of-storage> <type-of-storage>block</type-of-storage> <block-storage-data> <size-of-storage>10</size-of-storage> <rdma-enabled>true</rdma-enabled> <sw-image-desc>CP</sw-image-desc> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>CP</id> Loading Loading @@ -118,12 +122,18 @@ <connectivity-type> <layer-protocol>ipv4</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <connectivity-type> <layer-protocol>ipv4</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <ext-cpd> <id>in</id> Loading Loading @@ -152,22 +162,27 @@ <id>control-plane-active</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>control-plane-standby</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>data-plane</id> <min-number-of-instances>2</min-number-of-instances> <max-number-of-instances>8</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>il-1</id> Loading Loading @@ -210,6 +225,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> <affinity-or-anti-affinity-group> <id>control-plane</id> Loading @@ -223,22 +250,27 @@ <id>control-plane-active</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>control-plane-standby</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>1</max-number-of-instances> <affinity-or-anti-affinity-group> <id>control-plane</id> </affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <vdu-profile> <id>data-plane</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>4</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>il-1</id> Loading Loading @@ -281,6 +313,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> <affinity-or-anti-affinity-group> <id>control-plane</id> Loading
example-data/nfv-nsd.xml +24 −4 Viewed Changes for example-data/nfv-nsd.xml: 24 added lines, 4 removed lines. Original line number Diff line number Diff line <nsd xmlns="urn:etsi:nfv:yang:etsi-nfv-nsd"> <?xml version="1.0" encoding="UTF-8"?> <nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors"> <vnfd> <id>ASA</id> <provider>My Company</provider> Loading Loading @@ -36,8 +37,10 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:block</type-of-storage> <block-storage-data> <size-of-storage>0</size-of-storage> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading @@ -49,7 +52,7 @@ </checksum> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <min-disk>20</min-disk> <min-disk>0</min-disk> <min-ram>2.0</min-ram> <size>1</size> <image>http://www.mycompany.com/asa.qcow2</image> Loading Loading @@ -84,6 +87,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -100,6 +106,20 @@ </vdu-level> </instantiation-level> <default-instantiation-level>single</default-instantiation-level> <lcm-operations-configuration> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> <nsd> Loading Loading @@ -133,4 +153,4 @@ </ns-instantiation-level> </df> </nsd> </config> </nfv>
example-data/nfv-vnfd.xml +22 −2 Viewed Changes for example-data/nfv-vnfd.xml: 22 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -35,8 +35,11 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:root-storage</type-of-storage> <type-of-storage xmlns:nfv="urn:etsi:nfv:yang:etsi-nfv-descriptors">nfv:file</type-of-storage> <file-storage-data> <size-of-storage>0</size-of-storage> <int-virtual-link-desc>asa-image</int-virtual-link-desc> </file-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading @@ -48,7 +51,7 @@ </checksum> <container-format>bare</container-format> <disk-format>qcow2</disk-format> <min-disk>20</min-disk> <min-disk>0</min-disk> <min-ram>2.0</min-ram> <size>1</size> <image>http://www.mycompany.com/asa.qcow2</image> Loading @@ -71,6 +74,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -87,5 +93,19 @@ </vdu-level> </instantiation-level> <default-instantiation-level>single</default-instantiation-level> <lcm-operations-configuration> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd>
example-data/nfv.xml +44 −4 Viewed Changes for example-data/nfv.xml: 44 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -36,8 +36,12 @@ </virtual-compute-desc> <virtual-storage-desc> <id>asa-vsd</id> <type-of-storage>root-storage</type-of-storage> <size-of-storage>0</size-of-storage> <type-of-storage>block</type-of-storage> <block-storage-data> <size-of-storage>1</size-of-storage> <rdma-enabled>true</rdma-enabled> <sw-image-desc>asa-image</sw-image-desc> </block-storage-data> </virtual-storage-desc> <sw-image-desc> <id>asa-image</id> Loading Loading @@ -67,6 +71,9 @@ <connectivity-type> <layer-protocol>ethernet</layer-protocol> </connectivity-type> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </int-virtual-link-desc> <ext-cpd> <id>inside</id> Loading Loading @@ -95,6 +102,9 @@ <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <virtual-link-profile> <id>inside-vl</id> Loading Loading @@ -141,6 +151,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> Loading Loading @@ -181,8 +203,11 @@ </virtual-compute-desc> <virtual-storage-desc> <id>csr-vsd</id> <type-of-storage>root-storage</type-of-storage> <size-of-storage>0</size-of-storage> <type-of-storage>file</type-of-storage> <file-storage-data> <size-of-storage>1</size-of-storage> <int-virtual-link-desc>csr-image</int-virtual-link-desc> </file-storage-data> </virtual-storage-desc> <sw-image-desc> <id>csr-image</id> Loading Loading @@ -229,6 +254,9 @@ <id>router</id> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-number-of-instances> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> <instantiation-level> <id>double</id> Loading @@ -255,6 +283,18 @@ <operate-vnf-op-config> <min-graceful-stop-timeout>1</min-graceful-stop-timeout> </operate-vnf-op-config> <create-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </create-snapshot-vnf-op-config> <revert-to-snapshot-vnf-op-config> <parameter> <key>1</key> <value>1</value> </parameter> </revert-to-snapshot-vnf-op-config> </lcm-operations-configuration> </df> </vnfd> Loading
src/yang/etsi-nfv-common.yang +161 −21 Viewed Changes for src/yang/etsi-nfv-common.yang: 161 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -3,12 +3,37 @@ submodule etsi-nfv-common { belongs-to etsi-nfv-descriptors { prefix nfv; } import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types."; } organization "European Telecommunications Standards Institute (ETSI)"; description "Common data types for ETSI data models."; revision 2020-06-10 { description "Version 3.3.1. Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 Release 3 ETSI GS NFV-IFA 011 Release 3."; } revision 2020-06-01 { description "Version 2.8.1. Common data structures to support VNFD and NSD according to: ETSI GS NFV-IFA 014 271 ETSI GS NFV-IFA 011 271."; } revision 2019-10-01 { description "Version 2.7.1. Loading @@ -17,6 +42,7 @@ submodule etsi-nfv-common { ETSI GS NFV-IFA 014 Ed271v264 ETSI GS NFV-IFA 011 Ed271v264"; } revision 2019-04-25 { description "Initial revision Loading Loading @@ -233,22 +259,22 @@ submodule etsi-nfv-common { "Base type of storage that identities can derive from."; } identity root-storage { identity block { base storage-type; description "Root type of storage."; "Block type of storage."; } identity swap-storage { identity object { base storage-type; description "Swap type of storage."; "Object type of storage."; } identity ephemeral-storage { identity file { base storage-type; description "Ephemeral type of storage."; "File type of storage."; } identity forwarding-behaviour { Loading Loading @@ -369,6 +395,7 @@ submodule etsi-nfv-common { enum "zone-group"; enum "zone"; enum "nfvi-pop"; enum "network-link-and-node"; } } Loading @@ -390,30 +417,142 @@ submodule etsi-nfv-common { enum "end-vnf-ext-conn-change"; enum "start-vnfinfo-modification"; enum "end-vnfinfo-modification"; enum "start-vnf-snapshot-creation"; enum "end-vnf-snapshot-creation"; enum "start-vnf-snapshot-reverting-to"; enum "end-vnf-snapshot-reverting-to"; enum "start-change-current-vnf-package"; enum "end-change-current-vnf-package"; } } grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; leaf type { type affinity-type; typedef external-lifecycle-management-script-event { type enumeration { enum "instantiation"; enum "scaling"; enum "healing"; enum "termination"; enum "vnf-flavour-change"; enum "vnf-operation-change"; enum "vnf-ext-conn-change"; enum "vnfinfo-modification"; enum "vnf-snapshot-creation"; enum "vnf-snapshot-reverting-to"; enum "change-current-vnf-package"; } } grouping nfvi-maintenance-info { container nfvi-maintenance-info { leaf impact-notification-lead-time { type yang:timeticks; mandatory true; description "Specifies whether the rule is an affinity rule or an anti-affinity rule."; "The value specifies the minimum notification lead time requested for upcoming impact of the virtualised resource or their group (i.e. between the notification and the action causing the impact)."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf scope { type affinity-scope; leaf is-impact-mitigation-requested { type boolean; description "Specifies the scope of the rule, possible values are 'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'."; "When set to True, it is requested that at the time of the notification of an upcoming change that is expected to have an impact on the VNF, virtualised resource(s) of the same characteristics as the impacted ones is/are provided to compensate for the impact. Cardinality 0 corresponds to the value False."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf-list supported-migration-type { type enumeration { enum "no-migration"; enum "offline-migration"; enum "live-migration"; } description "Applicable to VirtualComputeDesc and VirtualStorageDesc. When present, specifies the allowed migration types in the order of preference in case of an impact starting with the most preferred type. Possible values: NO_MIGRATION, OFFLINE_MIGRATION, LIVE_MIGRATION."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf max-undetectable-interruption-time { type yang:timeticks; description "Applicable to VirtualComputeDesc and VirtualStorageDesc. When present, it specifies the maximum interruption time that can go undetected at the VNF level and therefore which will not trigger VNFinternal recovery during live migration."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf min-recovery-time-between-impacts { type yang:timeticks; description "When present, it specifies the time required by the group to recover from an impact, thus, the minimum time requested between consecutive impacts of the group."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } list max-number-of-impacted-instances { key "group-size"; ordered-by user; must "./max-number-of-impacted-instances <= ./group-size"; leaf group-size { type uint32; description "When present, it determines the size of the group for which the maxNumberOfImpactedInstances is specified. Otherwise the size is not limited. Each groupSize value specified for a group of virtual resources shall be unique, and it shall be possible to form an ascending ordered list of groupSizes. The number of instances in the group for which the maxNumberOfImpactedInstances is specified may be equal to groupSize or less. When the number of instances is less than the groupSize, it shall be at least 1 if this is the first groupSize in the ordered list of groupSizes, or it shall be greater by at least 1 than the previous groupSize in the ordered list of groupSizes."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } leaf max-number-of-impacted-instances { type uint32 { range "1 .. max"; } description "The maximum number of instances that can be impacted simultaneously within the group of the specified size."; reference "GS NFV-IFA011: Section 7.1.8.17, NfviMaintenanceInfo information element"; } } } } Loading @@ -424,6 +563,7 @@ submodule etsi-nfv-common { type identityref { base layer-protocol; } min-elements 1; description "Identifies the protocols that the VL uses (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). The top layer Loading