Merge v2.8.1 and v3.3.1

Merge request reports

Loading
+57 −13
Changes for example-data/complex-vnfd.xml: 57 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
+24 −4
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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -133,4 +153,4 @@
      </ns-instantiation-level>
    </df>
  </nsd>
</config>
</nfv>
+22 −2
Changes for example-data/nfv-vnfd.xml: 22 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -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>
@@ -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>
@@ -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>
@@ -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>
+44 −4
Changes for example-data/nfv.xml: 44 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
+161 −21
Changes for src/yang/etsi-nfv-common.yang: 161 added lines, 21 removed lines.
Original line number Diff line number Diff line
@@ -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.
@@ -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
@@ -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 {
@@ -369,6 +395,7 @@ submodule etsi-nfv-common {
      enum "zone-group";
      enum "zone";
      enum "nfvi-pop";
      enum "network-link-and-node";
    }
  }

@@ -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";
        }
      }
    }
  }
@@ -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