Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
SOL006
Commits
27a33fd7
Commit
27a33fd7
authored
Jan 13, 2020
by
jethanandani
Browse files
Merge branch 'dev-v2.8.1' into 'issue#14'
# Conflicts: # example-data/nfv-nsd.xml
parents
4444296c
cf804034
Pipeline
#2251
passed with stage
in 0 seconds
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/complex-vnfd.xml
View file @
27a33fd7
...
...
@@ -80,8 +80,12 @@
</virtual-compute-desc>
<virtual-storage-desc>
<id>
root
</id>
<type-of-storage>
root-storage
</type-of-storage>
<size-of-storage>
10
</size-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>
...
...
example-data/nfv-nsd.xml
View file @
27a33fd7
<?xml version="1.0" encoding="UTF-8"?>
<nfv
xmlns=
"urn:etsi:nfv:yang:etsi-nfv-descriptors"
>
<vnfd>
<id>
ASA
</id>
...
...
@@ -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>
<size-of-storage>
0
</size-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>
2
0
</min-disk>
<min-disk>
0
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.mycompany.com/asa.qcow2
</image>
...
...
example-data/nfv-vnfd.xml
View file @
27a33fd7
...
...
@@ -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>
<size-of-storage>
0
</size-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>
2
0
</min-disk>
<min-disk>
0
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.mycompany.com/asa.qcow2
</image>
...
...
example-data/nfv.xml
View file @
27a33fd7
...
...
@@ -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>
...
...
@@ -181,8 +185,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>
...
...
src/yang/etsi-nfv-common.yang
View file @
27a33fd7
...
...
@@ -233,22 +233,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-storag
e
{
identity
fil
e
{
base
storage-type
;
description
"
Ephemeral
type of storage."
;
"
File
type of storage."
;
}
identity
forwarding-behaviour
{
...
...
@@ -393,6 +393,19 @@ submodule etsi-nfv-common {
}
}
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"
;
}
}
grouping
local-affinity-or-anti-affinity-rule
{
list
local-affinity-or-anti-affinity-rule
{
key
"type scope"
;
...
...
@@ -424,6 +437,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
...
...
src/yang/etsi-nfv-nsd.yang
View file @
27a33fd7
...
...
@@ -30,8 +30,10 @@ module etsi-nfv-nsd {
container
nsd
{
list
nsd
{
key
"id"
;
max-elements
1
;
uses
nfv
:
nsd
;
description
"The NSD information element is a deployment template whose
instances are used by the NFVO for the lifecycle management
...
...
src/yang/etsi-nfv-vnf.yang
View file @
27a33fd7
...
...
@@ -95,6 +95,79 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element"
;
}
leaf
nic-io-requirements
{
type
leafref
{
path
"/nfv:nfv/nfv:vnfd/nfv:virtual-compute-desc/"
+
"nfv:logical-node/nfv:id"
;
}
description
"This references (couples) the CPD with any logical node
I/O requirements (for network devices) that may have been
created. Linking these attributes is necessary so that I/O
requirements that need to be articulated at the logical
node level can be associated with the network interface
requirements associated with the CPD."
;
reference
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element"
;
}
}
}
grouping
block-storage-data
{
leaf
size-of-storage
{
type
uint64
;
units
"GB"
;
default
0
;
description
"Size of virtualized storage resource in GB."
;
reference
"GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData
Information element."
;
}
list
vdu-storage-requirements
{
key
"key"
;
leaf
key
{
type
string
;
}
leaf
value
{
type
string
;
}
description
"An array of key-value pairs that articulate
the storage deployment requirements."
;
reference
"GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData
Information element."
;
}
leaf
rdma-enabled
{
type
boolean
;
description
"Indicate if the storage support RDMA."
;
reference
"GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData
Information element."
;
}
leaf
sw-image-desc
{
type
leafref
{
path
"../../../sw-image-desc/id"
;
}
must
"../size-of-storage >="
+
"../../../sw-image-desc[id=current()]/min-disk"
{
}
description
"Software image to be loaded on the VirtualStorage
resource created based on this VirtualStorageDesc.
Shall be absent when used for virtual disks."
;
reference
"GS NFV IFA011: Section 7.1.9.4.3, BlockStorageData
Information element."
;
}
}
...
...
@@ -491,6 +564,7 @@ submodule etsi-nfv-vnf {
list
requirement-detail
{
key
"key"
;
min-elements
1
;
leaf
key
{
type
string
;
...
...
@@ -778,6 +852,24 @@ submodule etsi-nfv-vnf {
VirtualCpuData information element."
;
}
}
list
virtual-disk
{
key
"id"
;
description
"The local or ephemeral disk(s) of the virtualised compute."
;
reference
"GS NFV IFA011: Section 7.1.9.2.2, VirtualComputeDesc
Information element."
;
leaf
id
{
type
string
;
description
"Unique identifier for the list of virtual disks."
;
}
uses
block-storage-data
;
}
}
list
virtual-storage-desc
{
...
...
@@ -797,70 +889,99 @@ submodule etsi-nfv-vnf {
leaf
type-of-storage
{
// Needed to be able to onboard images
default
root-storage
;
type
identityref
{
base
storage-type
;
}
default
"nfv:block"
;
description
"Type of virtualised storage resource (e.g. volume,
object)."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
}
leaf
size-of-storage
{
type
uint64
;
units
"GB"
;
default
0
;
description
"Size of virtualised storage resource (e.g. size of
volume, in GB)"
;
"Type of virtualised storage resource (BLOCK, OBJECT,
FILE)."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
}
list
vdu-storage-requirements
{
key
"key"
;
leaf
key
{
type
string
;
}
choice
storage
{
container
block-storage-data
{
when
'../type-of-storage = "nfv:block"'
;
description
"Specifies the details of block storage. It shall
be present when the 'typeOfStorage' attribute is set to
'BLOCK'. It shall be absent otherwise."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
uses
block-storage-data
;
}
container
object-storage-data
{
when
'../type-of-storage = "nfv:object"'
;
description
"Specifies the details of object storage. It shall be
present when the 'typeOfStorage' attribute is set to
'OBJECT'. It shall be absent otherwise."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
leaf
max-size-of-storage
{
type
uint64
;
units
"GB"
;
default
0
;
description
"Max size of virtualised storage resource in GB."
;
reference
"GS NFV IFA011: Section 7.1.9.4.4, ObjectStorage Information
element."
;
}
}
leaf
value
{
type
string
;
}
description
"Array of key-value pairs that articulate the storage
deployment requirements."
;
reference
"GS NFV IFA011: Section 7.1.9.4.2, VirtualStorageDesc
information element."
;
}
container
file-storage-data
{
when
'../type-of-storage = "nfv:file"'
;
description
"Specifies the details of file storage. It shall be present
when the 'typeOfStorage' attribute is set to 'FILE'. It
shall be absent otherwise."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
leaf
size-of-storage
{
type
uint64
;
units
"GB"
;
default
0
;
description
"Size of virtualised storage resource in GB."
;
reference
"GS NFV IFA011: Section 7.1.9.4.5, FileStorageData
Information element."
;
}
leaf
rdma-enabled
{
type
boolean
;
description
"Indicate if the storage support RDMA."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
}
leaf
file-system-protocol
{
type
string
;
default
"cifs"
;
description
"The shared file system protocol (e.g. NFS, CIFS)."
;
reference
"GS NFV IFA011: Section 7.1.9.4.5, FileStorageData
Information element."
;
}
leaf
sw-image-desc
{
type
leafref
{
path
"../../sw-image-desc/id"
;
}
must
"../size-of-storage >="
+
"../../sw-image-desc[id=current()]/min-disk"
{
}
description
"Software image to be loaded on the VirtualStorage
resource created based on this VirtualStorageDesc."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
leaf
int-virtual-link-desc
{
type
leafref
{
path
"../../../sw-image-desc/id"
;
}
mandatory
true
;
description
"Reference of the internal VLD which this file storage
connects to. The attached VDUs shall connect to the
same internal VLD."
;
reference
"GS NFV IFA011: Section 7.1.9.4.5, FileStorageData
Information element."
;
}
}
}
}
...
...
@@ -2856,10 +2977,25 @@ submodule etsi-nfv-vnf {
}
leaf-list
event
{
type
internal-lifecycle-management-script-event
;
type
union
{
type
internal-lifecycle-management-script-event
;
type
external-lifecycle-management-script-event
;
}
description
"Describes VNF lifecycle event(s) or an external stimulus
detected on a VNFM reference point."
;
detected on a VNFM reference point.
If the event is of type
internal-lifecycle-management-script-event, then depending
on whether the event is of type start-* or end-*, the
script associated with the VNF LCM operation needs to be
executed before the event, or after the event,
respectively.
On the other hand, if the event is of type
external-lifecycle-management-script-event, then the
script associated with the event needs to be executed
for the given VNF LCM operation."
;
reference
"GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
information element"
;
...
...
@@ -2931,10 +3067,15 @@ submodule etsi-nfv-vnf {
}
list
element-group
{
status
deprecated
;
key
"id"
;
description
"Describes the associated elements of a VNFD for a certain
purpose during VNF lifecycle management."
;
purpose during VNF lifecycle management.
Reason for deprecating this node - Information about which
VDU and VLD are involved in scaling is better defined by
ScalingDelta."
;
reference
"GS NFV IFA011: Section 7.1.2 VNFD information element"
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment