Commit f4462982 authored by jethanandani's avatar jethanandani

Merge branch 'master' into 'bug#97'

# Conflicts:
#   src/yang/etsi-nfv-ns.yang
parents c04eafec b178fa91
Pipeline #362 passed with stage
in 0 seconds
......@@ -4,7 +4,7 @@
<provider>My Company</provider>
<product-name>My Company ASAv</product-name>
<software-version>9.8</software-version>
<version>9.8 </version>
<version>9.8</version>
<vnfm-info>My Company Vnfm</vnfm-info>
<vdu>
<id>firewall</id>
......@@ -206,7 +206,7 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -241,7 +241,6 @@
</sapd>
<virtual-link-desc>
<id>fw2dpi</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol>
<protocol>Ethernet</protocol>
......@@ -257,7 +256,6 @@
</virtual-link-desc>
<virtual-link-desc>
<id>mgmt</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol>
<protocol>IPv4</protocol>
......@@ -273,7 +271,6 @@
</virtual-link-desc>
<virtual-link-desc>
<id>r2fw</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol>
<protocol>Ethernet</protocol>
......@@ -292,39 +289,51 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>management</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>outside</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>router</constituent-base-element-id>
<constituent-cpd-id>management</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>router</constituent-base-element-id>
<constituent-cpd-id>right</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
......@@ -335,7 +344,7 @@
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>10000000</root>
</max-bitrate-requirements>
......@@ -361,37 +370,52 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>fw2dpi</virtual-link-profile-id>
<cpd-id>inside</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>inside</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>management</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>outside</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>router</constituent-base-element-id>
<constituent-cpd-id>management</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>router</constituent-base-element-id>
<constituent-cpd-id>right</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<pnf-profile>
......@@ -399,13 +423,16 @@
<pnfd-id>physical-dpi</pnfd-id>
<virtual-link-connectivity>
<virtual-link-profile-id>fw2dpi</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>physical-dpi</constituent-base-element-id>
<constituent-cpd-id>outside</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</pnf-profile>
<virtual-link-profile>
<id>fw2dpi</id>
<virtual-link-desc-id>fw2dpi</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
......@@ -416,7 +443,7 @@
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
......@@ -427,7 +454,7 @@
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
......@@ -469,7 +496,6 @@
</sapd>
<virtual-link-desc>
<id>r2fw</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol>
<protocol>IPv4</protocol>
......@@ -488,19 +514,22 @@
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>router</constituent-base-element-id>
<constituent-cpd-id>right</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>r2fw</flavor-id>
<flavour-id>r2fw</flavour-id>
<max-bitrate-requirements>
<root>500</root>
</max-bitrate-requirements>
......@@ -528,7 +557,10 @@
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
<constituent-cpd-id>
<constituent-base-element-id>firewall</constituent-base-element-id>
<constituent-cpd-id>outside</constituent-cpd-id>
</constituent-cpd-id>
</virtual-link-connectivity>
</ns-profile>
</df>
......
......@@ -215,8 +215,8 @@ submodule etsi-nfv-common {
enum "end-healing";
enum "start-termination";
enum "end-termination";
enum "start-vnf-flavor-change";
enum "end-vnf-flavor-change";
enum "start-vnf-flavour-change";
enum "end-vnf-flavour-change";
enum "start-vnf-operation-change";
enum "end-vnf-operation-change";
enum "start-vnf-ext-conn-change";
......@@ -571,5 +571,115 @@ submodule etsi-nfv-common {
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
leaf security-group-rule-id {
type leafref {
path "/nfv/vnfd/security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
grouping security-group-rule {
list security-group-rule {
key "id";
leaf id {
type string;
description
"Identifier of this SecurityGroupRule information
element.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf description {
type string;
description
"Human readable description of the security group rule.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf direction {
type enumeration {
enum ingress;
enum egress;
}
default "ingress";
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf ether-type {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf protocol {
type enumeration {
enum tcp;
enum udp;
enum icmp;
}
default "tcp";
description
"Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults
to TCP.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-min {
must ". <= ../port-range-max";
type uint16;
default "0";
description
"Indicates minimum port number in the range that is
matched by the security group rule. Defaults to 0.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-max {
must ". >= ../port-range-min";
type uint16;
default "65535";
description
"Indicates maximum port number in the range that is
matched by the security group rule. Defaults to 65535.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
description
"Defines security group rules to be used by the VNF.";
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
}
}
}
......@@ -226,25 +226,6 @@ submodule etsi-nfv-ns {
information element";
}
leaf provider {
type string;
description
"Defines the organization generating the VLD.";
reference
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element";
}
leaf version {
mandatory true;
type string;
description
"Specifies the version of the VLD.";
reference
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element";
}
uses connectivity-type;
list df {
......@@ -512,7 +493,8 @@ submodule etsi-nfv-ns {
}
container ns {
leaf nsd-id {
must ". = deref(../../nested-ns-profile-id)/../nsd-id" {
must ". = deref(../../nested-ns-profile-id)/" +
"../nsd-id" {
}
type leafref {
......@@ -693,7 +675,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.3.2.2 NsDf information element";
}
leaf flavor-key {
leaf flavour-key {
type leafref {
path "../monitored-info/id";
}
......@@ -744,7 +726,7 @@ submodule etsi-nfv-ns {
element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../df/id";
......@@ -759,7 +741,7 @@ submodule etsi-nfv-ns {
leaf instantiation-level {
mandatory true;
type leafref {
path "deref(../flavor-id)/../instantiation-level/id";
path "deref(../flavour-id)/../instantiation-level/id";
}
description
"Identifier of the instantiation level of the VNF DF
......@@ -834,18 +816,41 @@ submodule etsi-nfv-ns {
information element.";
}
leaf-list cpd-id {
type leafref {
path "deref(../../vnfd-id)/../ext-cpd/id";
}
list constituent-cpd-id {
key "constituent-base-element-id";
description
"References the descriptor of a connection point on a
VNF/PNF or a SAP which connects to virtual links
instantiated from the profile identified in the
virtualLinkProfileId attribute.";
"Describes a connection point on a VNF/PNF or a SAP
which connects to virtual links instantiated from
the profile identified in the virtualLinkProfileId
attribute.";
reference
"GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity
information element.";
"GS NFV IFA014: Section 6.3.7
NsVirtualLinkConnectivity information element";
leaf constituent-base-element-id {
type leafref {
path "../../../id";
}
description
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.8
CpdInConstituentElement information element";
}
leaf constituent-cpd-id {
type leafref {
path "deref(../../../vnfd-id)/../nfv:ext-cpd/nfv:id";
}
description
"A reference to the descriptor of a connection point
attached to one of the constituent VNFs and PNFs or to
the descriptor of a NS SAP.";
reference
"GS NFV IFA014: Section 6.4.4.2 CpdPool information
element";
}
}
}
}
......@@ -901,18 +906,41 @@ submodule etsi-nfv-ns {
information element.";
}
leaf-list cpd-id {
type leafref {
path "deref(../../pnfd-id)/../ext-cpd/id";
}
list constituent-cpd-id {
key "constituent-base-element-id";
description
"References the descriptor of a connection point on a
VNF/PNF or a SAP which connects to virtual links
instantiated from the profile identified in the
virtualLinkProfileId attribute.";
"Describes a connection point on a VNF/PNF or a SAP
which connects to virtual links instantiated from
the profile identified in the virtualLinkProfileId
attribute.";
reference
"GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity
information element.";
"GS NFV IFA014: Section 6.3.7
NsVirtualLinkConnectivity information element";
leaf constituent-base-element-id {
type leafref {
path "../../../id";
}
description
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.8
CpdInConstituentElement information element";
}
leaf constituent-cpd-id {
type leafref {
path "deref(../../../pnfd-id)/../nfv:ext-cpd/nfv:id";
}
description
"A reference to the descriptor of a connection point
attached to one of the constituent VNFs and PNFs or to
the descriptor of a NS SAP.";
reference
"GS NFV IFA014: Section 6.4.4.2 CpdPool information
element";
}
}
}
}
......@@ -947,7 +975,7 @@ submodule etsi-nfv-ns {
information element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../virtual-link-desc-id)/../df/id";
......@@ -1367,28 +1395,45 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity
information element.";
}
leaf-list cpd-id {
type leafref {
path "deref(../../nsd-id)/../sapd/id";
}
description
"References the descriptor of a connection point on a
VNF/PNF or a SAP which connects to virtual links
instantiated from the profile identified in the
virtualLinkProfileId attribute.";
list constituent-cpd-id {
key "constituent-base-element-id";
description
"Describes a connection point on a VNF/PNF or a SAP
which connects to virtual links instantiated from
the profile identified in the virtualLinkProfileId
attribute.";
reference
"GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity
information element.";
}
description
"Defines the connection information of the NS, it
contains connection relationship between an NS SAP and
a NS virtual Link of the composite NS.";
reference
"GS NFV IFA014: Section 6.3.11.2 NsProfile information
element";
}
}
"GS NFV IFA014: Section 6.3.7
NsVirtualLinkConnectivity information element";
leaf constituent-base-element-id {
type leafref {
path "../../../id";
}
description
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.8
CpdInConstituentElement information element";
}
leaf constituent-cpd-id {
type leafref {
path "deref(../../../nsd-id)/../nfv:sapd/nfv:id";
}
description
"A reference to the descriptor of a connection point
attached to one of the constituent VNFs and PNFs or to
the descriptor of a NS SAP.";
reference
"GS NFV IFA014: Section 6.4.4.2 CpdPool information
element";
}
}
}
}
list dependencies {
key "id";
......@@ -1512,8 +1557,8 @@ submodule etsi-nfv-ns {
leaf collection-period {
type string;
description
"An attribute that describes the periodicity at which
to collect the performance information.";
"An attribute that describes the periodicity at
which to collect the performance information.";
reference
"GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
information element";
......
......@@ -111,6 +111,7 @@ submodule etsi-nfv-pnf {
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
uses security-group-rule;
}
}
}
......@@ -45,6 +45,7 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf description {
type string;
description
......@@ -53,6 +54,7 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf support-mandatory {
default "false";
type boolean;
......@@ -64,8 +66,11 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
list network-interface-requirements {
key "key";
min-elements "1";
leaf key {
type string;
}
......@@ -80,7 +85,8 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf niclo-requirements {
leaf nicio-requirements {
type leafref {
path "/nfv/vnfd/virtual-compute-descriptor/id";
}
......@@ -280,18 +286,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element.";
}
uses cpd;
leaf security-group-rule-id {
type leafref {
path "../../../security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
leaf virtual-compute-desc {
type leafref {
......@@ -555,10 +550,10 @@ submodule etsi-nfv-vnf {
fraction-digits 1;
range "0..max";
}
units "Gb";
units "GB";
default 1;
description
"Amount of virtual memory in MB.";
"Amount of virtual memory in GB.";
reference
"GS NFV IFA011: Section 7.1.9.3, Information elements
related to Virtual Memory.";
......@@ -672,29 +667,51 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.9.3.2, VirtualCpuData
information element.";
}
container virtual-cpu-pinning {
container pinning {
presence "Set to specify CPU pinning.";
leaf cpu-pinning-policy {
leaf policy {
default "dynamic";
type enumeration {
enum "static";
enum "dynamic";
}
description
"Indicates the policy for CPU pinning. The policy can
take values of 'static' or 'dynamic'. The cardinality
can be 0 during the allocation request, if no
particular value is requested.";
"The policy can take values of 'static' or 'dynamic'.
In case of 'static' the virtual CPU cores are
requested to be allocated to logical CPU cores
according to the rules defined in
virtualCpuPinningRules. In case of 'dynamic' the
allocation of virtual CPU cores to logical CPU cores
is decided by the VIM. (e.g. SMT (Simultaneous
MultiThreading) requirements).";
reference
"GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element.";
}
container cpu-pinning-map {
when "../nfv:cpu-pinning-policy = 'static'";
list rule {
when "../nfv:policy = 'static'";
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"A list of rules that should be considered during the
allocation of the virtual CPUs to logical CPUs in case
of 'static' virtualCpuPinningPolicy.";
reference
"GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element.";
}
description
"If cpuPinningPolicy is defined as 'static', the
cpuPinningMap provides the map of pinning virtual
CPU cores to physical CPU cores/threads. Cardinality
is 0 if cpuPinningPolicy has a different value than
'static'.";
"The virtual CPU pinning configuration for the
virtualised compute resource.";
reference
"GS NFV IFA011: Section 7.1.9.2.3,
VirtualCpuData information element.";
}
}
}
......@@ -731,11 +748,11 @@ submodule etsi-nfv-vnf {
}
leaf size-of-storage {
type uint64;
units "Gb";
units "GB";
default 0;
description
"Size of virtualised storage resource (e.g. size of
volume, in Gb)";
volume, in GB)";
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements