Commit c1f567b3 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Getting SOL006 ready for 2.7.1

parent fb9620e7
Pipeline #1090 passed with stage
in 0 seconds
...@@ -78,11 +78,11 @@ ...@@ -78,11 +78,11 @@
<num-virtual-cpu>16</num-virtual-cpu> <num-virtual-cpu>16</num-virtual-cpu>
</virtual-cpu> </virtual-cpu>
</virtual-compute-desc> </virtual-compute-desc>
<virtual-storage-descriptor> <virtual-storage-desc>
<id>root</id> <id>root</id>
<type-of-storage>root-storage</type-of-storage> <type-of-storage>root-storage</type-of-storage>
<size-of-storage>10</size-of-storage> <size-of-storage>10</size-of-storage>
</virtual-storage-descriptor> </virtual-storage-desc>
<sw-image-desc> <sw-image-desc>
<id>CP</id> <id>CP</id>
<name>CP</name> <name>CP</name>
...@@ -116,17 +116,13 @@ ...@@ -116,17 +116,13 @@
<int-virtual-link-desc> <int-virtual-link-desc>
<id>internal-vl</id> <id>internal-vl</id>
<connectivity-type> <connectivity-type>
<layer-protocol> <layer-protocol>ipv4</layer-protocol>
<protocol>ipv4</protocol>
</layer-protocol>
</connectivity-type> </connectivity-type>
</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> <layer-protocol>ipv4</layer-protocol>
<protocol>ipv4</protocol>
</layer-protocol>
</connectivity-type> </connectivity-type>
</int-virtual-link-desc> </int-virtual-link-desc>
<ext-cpd> <ext-cpd>
......
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,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>1</min-disk>
<min-ram>2.0</min-ram> <min-ram>2.0</min-ram>
<size>1</size> <size>1</size>
<image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image>
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,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>1</min-disk>
<min-ram>2.0</min-ram> <min-ram>2.0</min-ram>
<size>1</size> <size>1</size>
<image>http://www.cisco.com/asa.qcow2</image> <image>http://www.cisco.com/asa.qcow2</image>
......
...@@ -243,6 +243,43 @@ submodule etsi-nfv-common { ...@@ -243,6 +243,43 @@ 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.";
}
/* /*
* Typedefs * Typedefs
*/ */
......
...@@ -415,121 +415,22 @@ submodule etsi-nfv-ns { ...@@ -415,121 +415,22 @@ submodule etsi-nfv-ns {
element"; element";
} }
list cpd-pool { leaf-list nfp-position-element-id {
key "id"; type leafref {
path "../nfpd/position-desc/element/id";
}
description description
"Describes a pool of descriptors of connection points "References NfpPositionElement associated with one of the
attached to one of the constituent VNFs and PNFs and/or constituent VNF Profile, PNF Profile or NS Profile of a
one of the SAPs of the parent NS or of a nested NS."; nested NS.";
reference reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information "GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element"; element";
leaf id {
type string;
}
choice constituent-base-element-id {
mandatory "true";
container vnf-profile {
leaf vnf-profile-id {
must ". = deref(../../vnfd-profile-id)" {
}
type leafref {
path "../../../../../nsd/df/vnf-profile/id";
}
}
}
container pnf-profile {
leaf pnf-profile-id {
must ". = deref(../../pnfd-profile-id)" {
}
type leafref {
path "../../../../../nsd/df/pnf-profile/id";
}
}
}
container ns-profile {
leaf ns-profile-id {
must ". = deref(../../ns-profile-id)" {
}
type leafref {
path "../../../../../nsd/df/ns-profile/id";
}
}
}
description
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.8 CpdInConstituentElement
information element";
}
choice constituent-cpd-id {
container vnf {
leaf vnfd-id {
must ". = deref(../../vnfd-profile-id)/../vnfd-id" {
}
type leafref {
path "../../../../../vnfd/id";
}
}
leaf cpd-id {
type leafref {
path "deref(../vnfd-id)/../ext-cpd/id";
}
}
}
container pnf {
leaf pnfd-id {
must ". = deref(../../pnfd-profile-id)/../pnfd-id" {
}
type leafref {
path "../../../../../pnfd/id";
}
}
leaf pnf-cpd-id {
type leafref {
path "deref(../pnfd-id)/../ext-cpd/id";
}
}
}
container ns {
leaf nsd-id {
must ". = deref(../../nested-ns-profile-id)/" +
"../nsd-id" {
}
type leafref {
path "../../../../../nsd/id";
}
}
leaf sap-cpd-id {
type leafref {
path "deref(../nsd-id)/../sapd/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 nfpd { list nfpd {
key "id"; key "id";
description
"The network forwarding path associated to the VNFFG.";
reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element";
leaf id { leaf id {
type string; type string;
description description
...@@ -544,33 +445,17 @@ submodule etsi-nfv-ns { ...@@ -544,33 +445,17 @@ submodule etsi-nfv-ns {
type string; type string;
description description
"Provides an NFP classification and selection rule. "Provides an NFP classification and selection rule.
The rule may be expressed as a criteria constructed The rule may be expressed as a criteria constructed out
out of atomic assertions linked by Boolean operators of atomic assertions linked by Boolean operators AND,
AND, OR and NOT."; OR and NOT.";
reference reference
"GS NFV IFA014: Section 6.4.3.2 Nfpd information "GS NFV IFA014: Section 6.4.3.2 Nfpd information
element"; element";
} }
list position-desc-id { list position-desc {
key "id"; key "id";
description
"Describes a position in the NFP in terms of one or
more CP profiles and rules for distributing the
traffic among CP and SAP instances created from the
CPD or SAPD associated to these profiles. This shall
be connection point profile, which is either a CPD
associated with the VnfProfile of a constituent VNF,
or a CPD associated with the PnfProfile of a
constituent PNF, or a SAPD associated with the
NsProfile of a nested NS. The related VnfProfile,
PnfProfile and NsProfile shall be included in the
parent VNFFGD.";
reference
"GS NFV IFA014: Section 6.4.3.2 Nfpd information
element";
leaf id { leaf id {
type string; type string;
description description
...@@ -580,62 +465,172 @@ submodule etsi-nfv-ns { ...@@ -580,62 +465,172 @@ submodule etsi-nfv-ns {
information element"; information element";
} }
list cp-profile-id { list element {
key "id"; key "id";
description
"References the profile of a connection point to be
traversed by the traffic flows matching the criteria.
This shall be a connection point attached to one of
the constituent VNFs and PNFs of the parent VNFFG,
or a SAP of one of the constituent nested NSs of the
parent VNFFG.";
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element";
leaf id { leaf id {
type string; type string;
description description
"Identifier of this CpProfile information element. "Identifier of this NfpPositionElemen information
It uniquely identifies a CpProfile."; element. It uniquely identifies an
NfpPositionElemen.";
reference reference
"GS NFV IFA014: Section 6.4.6.2 CpProfile "GS NFV IFA014: Section 6.4.6.2 NfpPositionElement
information element"; information element";
} }
list constituent-profile-elements { container desc {
key "id"; choice constituent-base-element-id {
mandatory "true";
description container vnf-profile {
"Specifies the constituents of the CpProfile."; leaf vnf-profile-id {
reference must ". = deref(../../vnfd-profile-id)" {
"GS NFV IFA014: Section 6.4.6.2 CpProfile }
information element"; type leafref {
path "../../../../../../../../nsd/df/vnf-profile/id";
leaf id { }
type string; }
}
container pnf-profile {
leaf pnf-profile-id {
must ". = deref(../../pnfd-profile-id)" {
}
type leafref {
path "../../../../../../../../nsd/df/pnf-profile/id";
}
}
}
container ns-profile {
leaf ns-profile-id {
must ". = deref(../../ns-profile-id)" {
}
type leafref {
path "../../../../../../../../nsd/df/ns-profile/id";
}
}
}
description description
"Specifies the constituents of the CpProfile."; "Reference to the profile of an NS constituent.";
reference reference
"GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.8
ConstituentProfileElements information element"; CpdInConstituentElement information element";
} }
leaf cpd-id { choice constituent-cpd-id {
type string; container vnf {
leaf vnfd-id {
must ". = deref(../../vnfd-profile-id)/../vnfd-id" {
}
type leafref {
path "../../../../../../../../vnfd/id";
}
}
leaf cpd-id {
type leafref {
path "deref(../vnfd-id)/../ext-cpd/id";
}
}
}
container pnf {
leaf pnfd-id {
must ". = deref(../../pnfd-profile-id)/../pnfd-id" {
}
type leafref {
path "../../../../../../../../pnfd/id";
}
}
leaf pnf-cpd-id {
type leafref {
path "deref(../pnfd-id)/../ext-cpd/id";
}
}
}
container ns {
leaf nsd-id {
must ". = deref(../../nested-ns-profile-id)/" +
"../nsd-id" {
}
type leafref {
path "../../../../../../../../nsd/id";
}
}
leaf sap-cpd-id {
type leafref {
path "deref(../nsd-id)/../sapd/id";
}
}
}
description description
"References the VNF external CPD for a given "References the VNF external CPD for a given
VnfProfile, or the PNF external CPD for a given VnfProfile, or the PNF external CPD for a given
PnfProfile, or a NS SAPD for a give NsProfile PnfProfile, or a NS SAPD for a given NsProfile
identified by the constituentBasedElementId."; identified by the constituentBaseElementId.";
reference reference
"GS NFV IFA014: Section 6.4.7.2 "GS NFV IFA014: Section 6.4.8.2
ConstituentProfileElements information element"; CpdInConstituentElement information element";
} }
description
"Identifies a CPD or SAPD in the context of a profile
of an NS constituent element.";
reference
"GS NFV IFA014: Section 6.4.6.2 NfpPositionElement
information element";
} }
description
"One or a pair of CPDs or SAPDs. These descriptors
shall be members of the CpdPool associated to the
parent VNFFG.";
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element";
}
leaf forwarding-behaviour {
type identityref {
base forwarding-behaviour;
}
description
"Identifies a rule to apply to forward traffic to CP or
SAP instances corresponding to the referenced CPD(s)
and SAPD(s). The minimum list of rules to be supported
shall include:
• ALL = Traffic flows shall be forwarded simultaneously
to all CP or SAP instances created from the
referenced CP profile(s).
• LB = 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.";
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element";
}
leaf forwarding-behavior-input-parameters {
type string;
description
"Provides input parameters to configure the forwarding
behaviour (e.g. identifies a load balancing
algorithm).";
reference
"GS NFV IFA014: Section 6.4.5.2 NfpPositionDesc
information element";
} }
description
"Describes a position in the NFP in terms of one or more
CPDs and SAPDs and rules for distributing the traffic
among CP and SAP instances created from these CPDs
and SAPDs.";
reference
"GS NFV IFA014: Section 6.4.3.2 Nfpd information
element";
} }
description
"The network forwarding path associated to the VNFFG.";
reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element";
} }
} }
......
...@@ -56,6 +56,7 @@ submodule etsi-nfv-vnf { ...@@ -56,6 +56,7 @@ submodule etsi-nfv-vnf {
} }
leaf support-mandatory { leaf support-mandatory {
status "deprecated";
default "false"; default "false";
type boolean; type boolean;
description description
...@@ -871,6 +872,17 @@ submodule etsi-nfv-vnf { ...@@ -871,6 +872,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 {
...@@ -1270,6 +1282,55 @@ submodule etsi-nfv-vnf { ...@@ -1270,6 +1282,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 {