Commit 48fd1d37 authored by Michele Carignani's avatar Michele Carignani
Browse files

Merge branch 'merge-v2.8.1-and-v3.3.1' into 'master'

Merge v2.8.1 and v3.3.1

See merge request !80
parents 3587cb0e cd8c03e1
Pipeline #5796 passed with stage
in 0 seconds
Note: At this time this document is in draft state, and subject to change till the final approval. As such, files accessed/used from this repository are subject to change. Do not use as reference material.
When approved, this README will be updated to reflect the status of the document.
\ No newline at end of file
...@@ -80,8 +80,12 @@ ...@@ -80,8 +80,12 @@
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-desc> <virtual-storage-desc>
<id>root</id> <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> <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> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>CP</id> <id>CP</id>
...@@ -118,12 +122,18 @@ ...@@ -118,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>
...@@ -152,22 +162,27 @@ ...@@ -152,22 +162,27 @@
<id>control-plane-active</id> <id>control-plane-active</id>
<min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances> <max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<id>control-plane</id> <nfvi-maintenance-info>
</affinity-or-anti-affinity-group> <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>
<min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances> <max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<id>control-plane</id> <nfvi-maintenance-info>
</affinity-or-anti-affinity-group> <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>
...@@ -210,6 +225,18 @@ ...@@ -210,6 +225,18 @@
<operate-vnf-op-config> <operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout> <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config> </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> </lcm-operations-configuration>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group>
<id>control-plane</id> <id>control-plane</id>
...@@ -223,22 +250,27 @@ ...@@ -223,22 +250,27 @@
<id>control-plane-active</id> <id>control-plane-active</id>
<min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances> <max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<id>control-plane</id> <nfvi-maintenance-info>
</affinity-or-anti-affinity-group> <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>
<min-number-of-instances>1</min-number-of-instances> <min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances> <max-number-of-instances>1</max-number-of-instances>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group-id>control-plane</affinity-or-anti-affinity-group-id>
<id>control-plane</id> <nfvi-maintenance-info>
</affinity-or-anti-affinity-group> <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>
...@@ -281,6 +313,18 @@ ...@@ -281,6 +313,18 @@
<operate-vnf-op-config> <operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout> <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config> </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> </lcm-operations-configuration>
<affinity-or-anti-affinity-group> <affinity-or-anti-affinity-group>
<id>control-plane</id> <id>control-plane</id>
......
<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> <vnfd>
<id>ASA</id> <id>ASA</id>
<provider>My Company</provider> <provider>My Company</provider>
...@@ -36,8 +37,10 @@ ...@@ -36,8 +37,10 @@
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-desc> <virtual-storage-desc>
<id>asa-vsd</id> <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> <size-of-storage>0</size-of-storage>
</block-storage-data>
</virtual-storage-desc> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>asa-image</id> <id>asa-image</id>
...@@ -49,7 +52,7 @@ ...@@ -49,7 +52,7 @@
</checksum> </checksum>
<container-format>bare</container-format> <container-format>bare</container-format>
<disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format>
<min-disk>20</min-disk> <min-disk>0</min-disk>
<min-ram>2.0</min-ram> <min-ram>2.0</min-ram>
<size>1</size> <size>1</size>
<image>http://www.mycompany.com/asa.qcow2</image> <image>http://www.mycompany.com/asa.qcow2</image>
...@@ -84,6 +87,9 @@ ...@@ -84,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>
...@@ -100,6 +106,20 @@ ...@@ -100,6 +106,20 @@
</vdu-level> </vdu-level>
</instantiation-level> </instantiation-level>
<default-instantiation-level>single</default-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> </df>
</vnfd> </vnfd>
<nsd> <nsd>
...@@ -133,4 +153,4 @@ ...@@ -133,4 +153,4 @@
</ns-instantiation-level> </ns-instantiation-level>
</df> </df>
</nsd> </nsd>
</config> </nfv>
...@@ -35,8 +35,11 @@ ...@@ -35,8 +35,11 @@
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-desc> <virtual-storage-desc>
<id>asa-vsd</id> <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> <size-of-storage>0</size-of-storage>
<int-virtual-link-desc>asa-image</int-virtual-link-desc>
</file-storage-data>
</virtual-storage-desc> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>asa-image</id> <id>asa-image</id>
...@@ -48,7 +51,7 @@ ...@@ -48,7 +51,7 @@
</checksum> </checksum>
<container-format>bare</container-format> <container-format>bare</container-format>
<disk-format>qcow2</disk-format> <disk-format>qcow2</disk-format>
<min-disk>20</min-disk> <min-disk>0</min-disk>
<min-ram>2.0</min-ram> <min-ram>2.0</min-ram>
<size>1</size> <size>1</size>
<image>http://www.mycompany.com/asa.qcow2</image> <image>http://www.mycompany.com/asa.qcow2</image>
...@@ -71,6 +74,9 @@ ...@@ -71,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>
...@@ -87,5 +93,19 @@ ...@@ -87,5 +93,19 @@
</vdu-level> </vdu-level>
</instantiation-level> </instantiation-level>
<default-instantiation-level>single</default-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> </df>
</vnfd> </vnfd>
...@@ -36,8 +36,12 @@ ...@@ -36,8 +36,12 @@
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-desc> <virtual-storage-desc>
<id>asa-vsd</id> <id>asa-vsd</id>
<type-of-storage>root-storage</type-of-storage> <type-of-storage>block</type-of-storage>
<size-of-storage>0</size-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> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>asa-image</id> <id>asa-image</id>
...@@ -67,6 +71,9 @@ ...@@ -67,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>
...@@ -95,6 +102,9 @@ ...@@ -95,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>
...@@ -141,6 +151,18 @@ ...@@ -141,6 +151,18 @@
<operate-vnf-op-config> <operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout> <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config> </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> </lcm-operations-configuration>
</df> </df>
</vnfd> </vnfd>
...@@ -181,8 +203,11 @@ ...@@ -181,8 +203,11 @@
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-desc> <virtual-storage-desc>
<id>csr-vsd</id> <id>csr-vsd</id>
<type-of-storage>root-storage</type-of-storage> <type-of-storage>file</type-of-storage>
<size-of-storage>0</size-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> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>csr-image</id> <id>csr-image</id>
...@@ -229,6 +254,9 @@ ...@@ -229,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>
...@@ -255,6 +283,18 @@ ...@@ -255,6 +283,18 @@
<operate-vnf-op-config> <operate-vnf-op-config>
<min-graceful-stop-timeout>1</min-graceful-stop-timeout> <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
</operate-vnf-op-config> </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> </lcm-operations-configuration>
</df> </df>
</vnfd> </vnfd>
......
...@@ -3,12 +3,37 @@ submodule etsi-nfv-common { ...@@ -3,12 +3,37 @@ 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)";
description description
"Common data types for ETSI data models."; "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 { revision 2019-10-01 {
description description
"Version 2.7.1. "Version 2.7.1.
...@@ -17,6 +42,7 @@ submodule etsi-nfv-common { ...@@ -17,6 +42,7 @@ submodule etsi-nfv-common {
ETSI GS NFV-IFA 014 Ed271v264 ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264"; ETSI GS NFV-IFA 011 Ed271v264";
} }
revision 2019-04-25 { revision 2019-04-25 {
description description
"Initial revision "Initial revision
...@@ -233,22 +259,22 @@ submodule etsi-nfv-common { ...@@ -233,22 +259,22 @@ submodule etsi-nfv-common {
"Base type of storage that identities can derive from."; "Base type of storage that identities can derive from.";
} }
identity root-storage { identity block {
base storage-type; base storage-type;
description description
"Root type of storage."; "Block type of storage.";
} }
identity swap-storage { identity object {
base storage-type; base storage-type;
description description
"Swap type of storage."; "Object type of storage.";
} }
identity ephemeral-storage { identity file {
base storage-type; base storage-type;
description description
"Ephemeral type of storage."; "File type of storage.";
} }
identity forwarding-behaviour { identity forwarding-behaviour {
...@@ -369,6 +395,7 @@ submodule etsi-nfv-common { ...@@ -369,6 +395,7 @@ submodule etsi-nfv-common {
enum "zone-group"; enum "zone-group";
enum "zone"; enum "zone";
enum "nfvi-pop"; enum "nfvi-pop";
enum "network-link-and-node";
} }
} }
...@@ -390,30 +417,142 @@ submodule etsi-nfv-common { ...@@ -390,30 +417,142 @@ submodule etsi-nfv-common {
enum "end-vnf-ext-conn-change"; enum "end-vnf-ext-conn-change";
enum "start-vnfinfo-modification"; enum "start-vnfinfo-modification";
enum "end-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 { typedef external-lifecycle-management-script-event {
list local-affinity-or-anti-affinity-rule { type enumeration {
key "type scope"; enum "instantiation";
leaf type { enum "scaling";
type affinity-type; 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 description
"Specifies whether the rule is an affinity rule or an "The value specifies the minimum notification lead time
anti-affinity rule."; requested for upcoming impact of the virtualised resource
or their group (i.e. between the notification and the