Commit 2ec0a0f9 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani

Merge branch 'v2.7.1' into 'bug#252'

# Conflicts:
#   example-data/nfv-nsd.xml
#   example-data/nfv-vnfd.xml
parents 70442076 a342a58a
Pipeline #1621 passed with stage
in 0 seconds
...@@ -133,4 +133,4 @@ ...@@ -133,4 +133,4 @@
</ns-instantiation-level> </ns-instantiation-level>
</df> </df>
</nsd> </nsd>
</nsd> </config>
...@@ -9,6 +9,14 @@ submodule etsi-nfv-common { ...@@ -9,6 +9,14 @@ submodule etsi-nfv-common {
description description
"Common data types for ETSI data models."; "Common data types for ETSI data models.";
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
}
revision 2019-04-25 { revision 2019-04-25 {
description description
"Initial revision "Initial revision
...@@ -243,6 +251,99 @@ submodule etsi-nfv-common { ...@@ -243,6 +251,99 @@ submodule etsi-nfv-common {
"Ephemeral type of storage."; "Ephemeral type of storage.";
} }
identity forwarding-behaviour {
description
"Base identity for forwarding behaviour.";
}
identity all {
base forwarding-behaviour;
description
"Traffic flows shall be forwarded simultaneously to all CP
or SAP instances created from the referenced CP profile(s).";
}
identity lb {
base forwarding-behaviour;
description
"Traffic flows shall be forwarded to one CP or SAP instance
created from the referenced CP profile(s) selected based on
a load-balancing algorithm.";
}
identity vip-function {
description
"Indicates the function the virtual IP address is used for.";
}
identity high-availability {
base vip-function;
description
"High availability function.";
}
identity load-balancing {
base vip-function;
description
"Load balancing function.";
}
identity vnic-type {
description
"Describes the type of the virtual network interface realizing
the CPs instantiated from this CPD. This is used to determine
which mechanism driver(s) to be used to bind the port. Value:
• NORMAL
• VIRTIO
• DIRECT
• BAREMETAL
• VIRTIO-FORWARDER
• DIRECT-PHYSICAL
• SMART-NIC";
}
identity normal {
base vnic-type;
description
"Normal NIC.";
}
identity virtio {
base vnic-type;
description
"VirtIO NIC.";
}
identity direct {
base vnic-type;
description
"Direct NIC type.";
}
identity bare-metal {
base vnic-type;
description
"Bare metal NIC type.";
}
identity virtio-forwarder {
base vnic-type;
description
"VirtIO Forwarder NIC type.";
}
identity direct-physical {
base vnic-type;
description
"Direct physical NIC type.";
}
identity smart-nic {
base vnic-type;
description
"SmartNIC or Smart NIC type.";
}
/* /*
* Typedefs * Typedefs
*/ */
...@@ -294,8 +395,8 @@ submodule etsi-nfv-common { ...@@ -294,8 +395,8 @@ submodule etsi-nfv-common {
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 "affinity-type affinity-scope"; key "type scope";
leaf affinity-type { leaf type {
type affinity-type; type affinity-type;
description description
"Specifies whether the rule is an affinity rule or an "Specifies whether the rule is an affinity rule or an
...@@ -305,7 +406,7 @@ submodule etsi-nfv-common { ...@@ -305,7 +406,7 @@ submodule etsi-nfv-common {
LocalAffinityOrAntiAffinityRule information element."; LocalAffinityOrAntiAffinityRule information element.";
} }
leaf affinity-scope { leaf scope {
type affinity-scope; type affinity-scope;
description description
"Specifies the scope of the rule, possible values are "Specifies the scope of the rule, possible values are
......
This diff is collapsed.
...@@ -4,7 +4,7 @@ module etsi-nfv-nsd { ...@@ -4,7 +4,7 @@ module etsi-nfv-nsd {
prefix nsd; prefix nsd;
import etsi-nfv-descriptors { import etsi-nfv-descriptors {
prefix vnf; prefix nfv;
} }
organization organization
...@@ -13,6 +13,14 @@ module etsi-nfv-nsd { ...@@ -13,6 +13,14 @@ module etsi-nfv-nsd {
description description
"Network Services Descriptors"; "Network Services Descriptors";
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
}
revision 2019-04-25 { revision 2019-04-25 {
description description
"Initial revision. "Initial revision.
...@@ -20,23 +28,10 @@ module etsi-nfv-nsd { ...@@ -20,23 +28,10 @@ module etsi-nfv-nsd {
} }
container nsd { container nsd {
list vnfd {
key "id";
description
"A VNF Descriptor (VNFD) is a deployment template which
describes a VNF in terms of deployment and operational
behaviour requirements. It also contains connectivity,
interface and virtualised resource requirements";
reference
"GS NFV-IFA011: Section 7.1.2, VNFD information element";
uses vnf:vnfd;
}
list nsd { list nsd {
key "id"; key "id";
max-elements 1; max-elements 1;
uses vnf:nsd; uses nfv:nsd;
description description
"The NSD information element is a deployment template whose "The NSD information element is a deployment template whose
instances are used by the NFVO for the lifecycle management instances are used by the NFVO for the lifecycle management
...@@ -45,18 +40,5 @@ module etsi-nfv-nsd { ...@@ -45,18 +40,5 @@ module etsi-nfv-nsd {
"GS NFV-IFA014: Section 6.2.2, Network Service Descriptor "GS NFV-IFA014: Section 6.2.2, Network Service Descriptor
information element"; information element";
} }
list pnfd {
key "id";
description
"The Pnfd information element is a deployment template
enabling on-boarding PNFs and referencing them from an
NSD. It focuses on connectivity aspects only.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element.";
uses vnf:pnfd;
}
} }
} }
...@@ -12,6 +12,14 @@ submodule etsi-nfv-pnf { ...@@ -12,6 +12,14 @@ submodule etsi-nfv-pnf {
description description
"Models for PNFD according to GS NFV-IFA 014."; "Models for PNFD according to GS NFV-IFA 014.";
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
}
revision 2019-04-25 { revision 2019-04-25 {
description description
"Initial revision. "Initial revision.
...@@ -92,18 +100,6 @@ submodule etsi-nfv-pnf { ...@@ -92,18 +100,6 @@ submodule etsi-nfv-pnf {
"GS NFV-IFA014: Section 6.6.2, Pnfd information element"; "GS NFV-IFA014: Section 6.6.2, Pnfd information element";
} }
list security {
key "signature";
uses security-parameters;
description
"Provides a signature to prevent tampering.
Editor's Note: While IFA014 does specify that the PNFD
includes a security parameter. SOL001 does not have one.
We need to harmonize SOL001 & SOL006 on this point.";
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
leaf geographical-location-info { leaf geographical-location-info {
type string; type string;
description description
......
...@@ -16,6 +16,14 @@ submodule etsi-nfv-vnf { ...@@ -16,6 +16,14 @@ submodule etsi-nfv-vnf {
description description
"Models for VNFD according to GS NFV-IFA 011."; "Models for VNFD according to GS NFV-IFA 011.";
revision 2019-10-01 {
description
"Version 2.7.1.
Common data structures to support VNFD and NSD according to:
ETSI GS NFV-IFA 014 Ed271v264
ETSI GS NFV-IFA 011 Ed271v264";
}
revision 2019-03-18 { revision 2019-03-18 {
description description
"Initial revision. "Initial revision.
...@@ -56,6 +64,7 @@ submodule etsi-nfv-vnf { ...@@ -56,6 +64,7 @@ submodule etsi-nfv-vnf {
} }
leaf support-mandatory { leaf support-mandatory {
status "deprecated";
default "false"; default "false";
type boolean; type boolean;
description description
...@@ -236,7 +245,7 @@ submodule etsi-nfv-vnf { ...@@ -236,7 +245,7 @@ submodule etsi-nfv-vnf {
leaf int-virtual-link-desc { leaf int-virtual-link-desc {
type leafref { type leafref {
path "../../../int-virtual-link-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:int-virtual-link-desc/nfv:id";
} }
description description
"Reference of the internal VLD which this internal CPD "Reference of the internal VLD which this internal CPD
...@@ -259,7 +268,7 @@ submodule etsi-nfv-vnf { ...@@ -259,7 +268,7 @@ submodule etsi-nfv-vnf {
leaf nicio-requirements { leaf nicio-requirements {
type leafref { type leafref {
path "../../../virtual-compute-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:virtual-compute-desc/nfv:id";
} }
description description
"This references (couples) the CPD with any logical node I/O "This references (couples) the CPD with any logical node I/O
...@@ -273,7 +282,7 @@ submodule etsi-nfv-vnf { ...@@ -273,7 +282,7 @@ submodule etsi-nfv-vnf {
VirtualNetworkInterfaceRequirements information element"; VirtualNetworkInterfaceRequirements information element";
} }
leaf-list order { leaf order {
type uint32; type uint32;
description description
"The order of the NIC to be assigned on the compute "The order of the NIC to be assigned on the compute
...@@ -292,6 +301,27 @@ submodule etsi-nfv-vnf { ...@@ -292,6 +301,27 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.4, VduCpd information "GS NFV IFA011: Section 7.1.6.4, VduCpd information
element."; element.";
} }
leaf vnic-type {
type identityref {
base vnic-type;
}
description
"Describes the type of the virtual network interface
realizing the CPs instantiated from this CPD. This is
used to determine which mechanism driver(s) to be used
to bind the port. Value:
• NORMAL
• VIRTIO
• DIRECT
• BAREMETAL
• VIRTIO-FORWARDER
• DIRECT-PHYSICAL
• SMART-NIC";
reference
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element.";
}
uses cpd; uses cpd;
leaf security-group-rule-id { leaf security-group-rule-id {
...@@ -871,6 +901,17 @@ submodule etsi-nfv-vnf { ...@@ -871,6 +901,17 @@ submodule etsi-nfv-vnf {
information element."; information element.";
} }
leaf provider {
type string;
description
"The provider of this software image. If not present the
provider of the software image is assumed to be same as
the VNF provider.";
reference
"GS NFV IFA011: Section 7.1.6.5 SwImageDesc
information element.";
}
container checksum { container checksum {
leaf algorithm { leaf algorithm {
...@@ -1221,7 +1262,7 @@ submodule etsi-nfv-vnf { ...@@ -1221,7 +1262,7 @@ submodule etsi-nfv-vnf {
Descriptor (CPD) connect. Either intVirtualLinkDesc or Descriptor (CPD) connect. Either intVirtualLinkDesc or
intCpd shall be present."; intCpd shall be present.";
type leafref { type leafref {
path "../../int-virtual-link-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:int-virtual-link-desc/nfv:id";
} }
} }
...@@ -1238,12 +1279,28 @@ submodule etsi-nfv-vnf { ...@@ -1238,12 +1279,28 @@ submodule etsi-nfv-vnf {
} }
} }
} }
leaf vip-cpd {
type leafref {
path "../../vip-cpd/id";
}
description
"Reference to the VIP CPD which is used to instantiate CPs
to hold virtual IP addresses. These CPs are, in turn,
exposed as external CPs defined by this external CPD.
One and only one of the following attributes shall be
present: intVirtualLinkDesc or intCpd or vipCpd .";
reference
"GS NFV-IFA011: Section 7.1.3.2, VnfExtCpd information
element";
}
} }
uses virtual-network-interface-requirements; uses virtual-network-interface-requirements;
leaf nicio-requirements { leaf nicio-requirements {
type leafref { type leafref {
path "../../virtual-compute-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:virtual-compute-desc/nfv:id";
} }
description description
"This references (couples) the CPD with any logical node I/O "This references (couples) the CPD with any logical node I/O
...@@ -1270,6 +1327,55 @@ submodule etsi-nfv-vnf { ...@@ -1270,6 +1327,55 @@ submodule etsi-nfv-vnf {
} }
} }
list vip-cpd {
key "id";
leaf-list int-cpd {
type leafref {
path "../../vdu/int-cpd/int-virtual-link-desc";
}
description
"Reference to the internal VDU CPD which is used to
instantiate internal CPs. These internal CPs share the
virtual IP addresses allocated when a VipCp instance
is created from the VipCpd.";
reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element.";
}
leaf-list vnf-ext-cpd {
type leafref {
path "../../ext-cpd/id";
}
description
"Reference to the VNF external CPD which is used to
instantiate external CPs. These external CPs share the
virtual IP addresses allocated when a VipCp instance is
created from the VipCpd.";
reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element.";
}
leaf vip-function {
type identityref {
base vip-function;
}
description
"It indicates the function the virtual IP address is used
for. Permitted values: high availability, load balancing.";
reference
"GS NFV IFA011: Section 7.1.x, VipCpd information element.";
}
uses cpd;
description
"Describes virtual IP addresses to be shared among instances
of connection points. See clause 7.1.x.";
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
}
list df { list df {
must "default-instantiation-level or " + must "default-instantiation-level or " +
"count(instantiation-level) = 1"; "count(instantiation-level) = 1";
...@@ -1374,7 +1480,7 @@ submodule etsi-nfv-vnf { ...@@ -1374,7 +1480,7 @@ submodule etsi-nfv-vnf {
leaf id { leaf id {
type leafref { type leafref {
path "../../../int-virtual-link-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:int-virtual-link-desc/nfv:id";
} }
description description
"Uniquely identifies a Vnf VLD."; "Uniquely identifies a Vnf VLD.";
...@@ -1386,7 +1492,7 @@ submodule etsi-nfv-vnf { ...@@ -1386,7 +1492,7 @@ submodule etsi-nfv-vnf {
leaf flavour { leaf flavour {
type leafref { type leafref {
path "deref(../../../ext-cpd/int-virtual-link-desc)" + path "deref(../../../ext-cpd/int-virtual-link-desc)" +
"/../flavour/id"; "/../nfv:flavour/nfv:id";
} }
description description
"Identifies a flavour within the VnfVirtualLinkDesc."; "Identifies a flavour within the VnfVirtualLinkDesc.";
...@@ -1535,6 +1641,19 @@ submodule etsi-nfv-vnf { ...@@ -1535,6 +1641,19 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.8.14, "GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element."; L2ProtocolData information element.";
} }
leaf segmentation-id {
type string;
description
"If present, specifies a specific virtualised network
segment, which depends on the network type. For e.g.,
VLAN ID for VLAN network type and tunnel ID for
GRE/VXLAN network types.";
reference
"GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element.";
}
description description
"Specifies the L2 protocol data for this virtual link. "Specifies the L2 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol Shall be present when the associatedLayerProtocol
...@@ -2713,7 +2832,7 @@ submodule etsi-nfv-vnf { ...@@ -2713,7 +2832,7 @@ submodule etsi-nfv-vnf {
leaf-list virtual-link-desc { leaf-list virtual-link-desc {
type leafref { type leafref {
path "../../int-virtual-link-desc/id"; path "/nfv:nfv/nfv:vnfd/nfv:int-virtual-link-desc/nfv:id";
} }
description description
"References to VnfVirtualLinkDesc that are part of this "References to VnfVirtualLinkDesc that are part of this
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment