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
89d67e34
Commit
89d67e34
authored
Nov 25, 2019
by
Mahesh Jethanandani
Browse files
Issue#2
parent
98b67160
Pipeline
#2053
passed with stage
in 0 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/complex-vnfd.xml
View file @
89d67e34
...
...
@@ -78,11 +78,15 @@
<num-virtual-cpu>
16
</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-desc>
<virtual-storage-desc
riptor
>
<virtual-storage-desc>
<id>
root
</id>
<type-of-storage>
root-storage
</type-of-storage>
<size-of-storage>
10
</size-of-storage>
</virtual-storage-descriptor>
<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>
<name>
CP
</name>
...
...
@@ -116,17 +120,13 @@
<int-virtual-link-desc>
<id>
internal-vl
</id>
<connectivity-type>
<layer-protocol>
<protocol>
ipv4
</protocol>
</layer-protocol>
<layer-protocol>
ipv4
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<int-virtual-link-desc>
<id>
mgmt
</id>
<connectivity-type>
<layer-protocol>
<protocol>
ipv4
</protocol>
</layer-protocol>
<layer-protocol>
ipv4
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<ext-cpd>
...
...
example-data/nfv-nsd.xml
View file @
89d67e34
...
...
@@ -36,8 +36,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,6 +51,7 @@
</checksum>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<min-disk>
0
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.cisco.com/asa.qcow2
</image>
...
...
example-data/nfv-vnfd.xml
View file @
89d67e34
...
...
@@ -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,6 +51,7 @@
</checksum>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<min-disk>
0
</min-disk>
<min-ram>
2.0
</min-ram>
<size>
1
</size>
<image>
http://www.cisco.com/asa.qcow2
</image>
...
...
example-data/nfv.xml
View file @
89d67e34
...
...
@@ -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>
...
...
@@ -150,8 +154,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 @
89d67e34
...
...
@@ -225,22 +225,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."
;
}
/*
...
...
src/yang/etsi-nfv-vnf.yang
View file @
89d67e34
...
...
@@ -89,6 +89,62 @@ submodule etsi-nfv-vnf {
}
}
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."
;
}
}
grouping
vnfd
{
leaf
id
{
type
string
;
...
...
@@ -748,6 +804,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
{
...
...
@@ -767,70 +841,105 @@ 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)"
;
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
;
}
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."
;
}
leaf
rdma-enabled
{
type
boolean
;
description
"Indicate if the storage support RDMA."
;
"Type of virtualised storage resource (BLOCK, OBJECT,
FILE)."
;
reference
"GS NFV IFA011: Section 7.1.9.4, Information elements
related to Virtual Storage."
;
}
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."
;
choice
storage
{
container
block-storage-data
{
must
'../type-of-storage = "nfv:block"'
{
error-message
"type-of-storage must be set to '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
{
must
'../type-of-storage = "nfv:object"'
{
error-message
"type-of-storage must be set to '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."
;
}
}
container
file-storage-data
{
must
'../type-of-storage = "nfv:file"'
{
error-message
"type-of-storage must be set to '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
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
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."
;
}
}
}
}
...
...
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