Loading example-data/complex-vnfd.xml +24 −0 Original line number Original line Diff line number Diff line Loading @@ -122,12 +122,18 @@ <connectivity-type> <connectivity-type> <layer-protocol>ipv4</layer-protocol> <layer-protocol>ipv4</layer-protocol> </connectivity-type> </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> <int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <id>mgmt</id> <connectivity-type> <connectivity-type> <layer-protocol>ipv4</layer-protocol> <layer-protocol>ipv4</layer-protocol> </connectivity-type> </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> <ext-cpd> <ext-cpd> <id>in</id> <id>in</id> Loading Loading @@ -159,6 +165,9 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>control-plane-standby</id> <id>control-plane-standby</id> Loading @@ -167,11 +176,17 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>data-plane</id> <id>data-plane</id> <min-number-of-instances>2</min-number-of-instances> <min-number-of-instances>2</min-number-of-instances> <max-number-of-instances>8</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>il-1</id> <id>il-1</id> Loading Loading @@ -242,6 +257,9 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>control-plane-standby</id> <id>control-plane-standby</id> Loading @@ -250,11 +268,17 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>data-plane</id> <id>data-plane</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>4</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>il-1</id> <id>il-1</id> Loading example-data/nfv-nsd.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -87,6 +87,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading example-data/nfv-vnfd.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -74,6 +74,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading example-data/nfv.xml +9 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,9 @@ <connectivity-type> <connectivity-type> <layer-protocol>ethernet</layer-protocol> <layer-protocol>ethernet</layer-protocol> </connectivity-type> </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> <ext-cpd> <ext-cpd> <id>inside</id> <id>inside</id> Loading Loading @@ -99,6 +102,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <virtual-link-profile> <virtual-link-profile> <id>inside-vl</id> <id>inside-vl</id> Loading Loading @@ -248,6 +254,9 @@ <id>router</id> <id>router</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading src/yang/etsi-nfv-common.yang +134 −0 Original line number Original line Diff line number Diff line Loading @@ -3,6 +3,13 @@ submodule etsi-nfv-common { belongs-to etsi-nfv-descriptors { belongs-to etsi-nfv-descriptors { prefix nfv; prefix nfv; } } import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types."; } organization organization "European Telecommunications Standards Institute (ETSI)"; "European Telecommunications Standards Institute (ETSI)"; Loading Loading @@ -415,9 +422,125 @@ submodule etsi-nfv-common { } } } } grouping nfvi-maintenance-info { container nfvi-maintenance-info { leaf impact-notification-lead-time { type yang:timeticks; mandatory true; description "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.17, NfviMaintenanceInfo information element"; } leaf is-impact-mitigation-requested { type boolean; description "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.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"; } } } } grouping local-affinity-or-anti-affinity-rule { grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; key "type scope"; leaf type { leaf type { type affinity-type; type affinity-type; description description Loading @@ -437,6 +560,17 @@ submodule etsi-nfv-common { "GS NFV IFA011: Section 7.1.8.11, "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element."; } } uses nfvi-maintenance-info { description "When present, provides information on the impact tolerance and rules to be observed when a group of instances based on the same VDU is impacted during NFVI operation and maintenance (e.g. NFVI resource upgrades)."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; } } } } } Loading Loading
example-data/complex-vnfd.xml +24 −0 Original line number Original line Diff line number Diff line Loading @@ -122,12 +122,18 @@ <connectivity-type> <connectivity-type> <layer-protocol>ipv4</layer-protocol> <layer-protocol>ipv4</layer-protocol> </connectivity-type> </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> <int-virtual-link-desc> <int-virtual-link-desc> <id>mgmt</id> <id>mgmt</id> <connectivity-type> <connectivity-type> <layer-protocol>ipv4</layer-protocol> <layer-protocol>ipv4</layer-protocol> </connectivity-type> </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> <ext-cpd> <ext-cpd> <id>in</id> <id>in</id> Loading Loading @@ -159,6 +165,9 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>control-plane-standby</id> <id>control-plane-standby</id> Loading @@ -167,11 +176,17 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>data-plane</id> <id>data-plane</id> <min-number-of-instances>2</min-number-of-instances> <min-number-of-instances>2</min-number-of-instances> <max-number-of-instances>8</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>il-1</id> <id>il-1</id> Loading Loading @@ -242,6 +257,9 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>control-plane-standby</id> <id>control-plane-standby</id> Loading @@ -250,11 +268,17 @@ <affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group> <id>control-plane</id> <id>control-plane</id> </affinity-or-anti-affinity-group> </affinity-or-anti-affinity-group> <nfvi-maintenance-info> <impact-notification-lead-time>1</impact-notification-lead-time> </nfvi-maintenance-info> </vdu-profile> </vdu-profile> <vdu-profile> <vdu-profile> <id>data-plane</id> <id>data-plane</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>4</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>il-1</id> <id>il-1</id> Loading
example-data/nfv-nsd.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -87,6 +87,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading
example-data/nfv-vnfd.xml +3 −0 Original line number Original line Diff line number Diff line Loading @@ -74,6 +74,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading
example-data/nfv.xml +9 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,9 @@ <connectivity-type> <connectivity-type> <layer-protocol>ethernet</layer-protocol> <layer-protocol>ethernet</layer-protocol> </connectivity-type> </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> <ext-cpd> <ext-cpd> <id>inside</id> <id>inside</id> Loading Loading @@ -99,6 +102,9 @@ <id>firewall</id> <id>firewall</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <virtual-link-profile> <virtual-link-profile> <id>inside-vl</id> <id>inside-vl</id> Loading Loading @@ -248,6 +254,9 @@ <id>router</id> <id>router</id> <min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances> <max-number-of-instances>2</max-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> </vdu-profile> <instantiation-level> <instantiation-level> <id>double</id> <id>double</id> Loading
src/yang/etsi-nfv-common.yang +134 −0 Original line number Original line Diff line number Diff line Loading @@ -3,6 +3,13 @@ submodule etsi-nfv-common { belongs-to etsi-nfv-descriptors { belongs-to etsi-nfv-descriptors { prefix nfv; prefix nfv; } } import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types."; } organization organization "European Telecommunications Standards Institute (ETSI)"; "European Telecommunications Standards Institute (ETSI)"; Loading Loading @@ -415,9 +422,125 @@ submodule etsi-nfv-common { } } } } grouping nfvi-maintenance-info { container nfvi-maintenance-info { leaf impact-notification-lead-time { type yang:timeticks; mandatory true; description "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.17, NfviMaintenanceInfo information element"; } leaf is-impact-mitigation-requested { type boolean; description "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.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"; } } } } grouping local-affinity-or-anti-affinity-rule { grouping local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { list local-affinity-or-anti-affinity-rule { key "type scope"; key "type scope"; leaf type { leaf type { type affinity-type; type affinity-type; description description Loading @@ -437,6 +560,17 @@ submodule etsi-nfv-common { "GS NFV IFA011: Section 7.1.8.11, "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element."; } } uses nfvi-maintenance-info { description "When present, provides information on the impact tolerance and rules to be observed when a group of instances based on the same VDU is impacted during NFVI operation and maintenance (e.g. NFVI resource upgrades)."; reference "GS NFV IFA011: Section 7.1.8.11, LocalAffinityOrAntiAffinityRule information element."; } } } } } Loading