Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
SOL006
Commits
130ab486
Commit
130ab486
authored
Feb 23, 2019
by
Mahesh Jethanandani
Browse files
Merge branch 'master' into 'bug#93'
# Conflicts: # src/yang/etsi-nfv-vnf.yang
parents
ae2cff8f
7a962aa2
Pipeline
#329
passed with stage
in 0 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
153 additions
and
16 deletions
+153
-16
example-data/nfv.xml
example-data/nfv.xml
+24
-0
src/yang/etsi-nfv-ns.yang
src/yang/etsi-nfv-ns.yang
+8
-7
src/yang/etsi-nfv-vnf.yang
src/yang/etsi-nfv-vnf.yang
+121
-9
No files found.
example-data/nfv.xml
View file @
130ab486
...
@@ -48,14 +48,26 @@
...
@@ -48,14 +48,26 @@
</sw-image-desc>
</sw-image-desc>
<ext-cpd>
<ext-cpd>
<id>
inside
</id>
<id>
inside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
inside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
management
</id>
<id>
management
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
outside
</id>
<id>
outside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
outside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<df>
<df>
...
@@ -131,14 +143,26 @@
...
@@ -131,14 +143,26 @@
</sw-image-desc>
</sw-image-desc>
<ext-cpd>
<ext-cpd>
<id>
left
</id>
<id>
left
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
left
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
management
</id>
<id>
management
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<ext-cpd>
<ext-cpd>
<id>
right
</id>
<id>
right
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
right
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
</ext-cpd>
<df>
<df>
...
...
src/yang/etsi-nfv-ns.yang
View file @
130ab486
...
@@ -492,7 +492,8 @@ submodule etsi-nfv-ns {
...
@@ -492,7 +492,8 @@ submodule etsi-nfv-ns {
}
}
container
ns
{
container
ns
{
leaf
nsd-id
{
leaf
nsd-id
{
must
". = deref(../../ns-profile-id)/../nsd-id"
{
must
". = deref(../../nested-ns-profile-id)/"
+
"../nsd-id"
{
}
}
type
leafref
{
type
leafref
{
...
@@ -752,7 +753,7 @@ submodule etsi-nfv-ns {
...
@@ -752,7 +753,7 @@ submodule etsi-nfv-ns {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
type
uint16
;
description
description
"Minimum number of instances of the VNF based on this
"Minimum number of instances of the VNF based on this
...
@@ -763,7 +764,7 @@ submodule etsi-nfv-ns {
...
@@ -763,7 +764,7 @@ submodule etsi-nfv-ns {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
type
uint16
;
description
description
"Maximum number of instances of the VNF based on this
"Maximum number of instances of the VNF based on this
...
@@ -1176,7 +1177,7 @@ submodule etsi-nfv-ns {
...
@@ -1176,7 +1177,7 @@ submodule etsi-nfv-ns {
}
}
leaf
number-of-instances
{
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
type
uint32
;
description
description
"Specifies the number of VNF instances required for
"Specifies the number of VNF instances required for
...
@@ -1236,7 +1237,7 @@ submodule etsi-nfv-ns {
...
@@ -1236,7 +1237,7 @@ submodule etsi-nfv-ns {
}
}
leaf
number-of-instances
{
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
type
uint32
;
description
description
"Specifies the number of nested NS instances required
"Specifies the number of nested NS instances required
...
@@ -1342,7 +1343,7 @@ submodule etsi-nfv-ns {
...
@@ -1342,7 +1343,7 @@ submodule etsi-nfv-ns {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Minimum number of nested NS instances based on the
"Minimum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
referenced NSD that is permitted to exist for this
...
@@ -1353,7 +1354,7 @@ submodule etsi-nfv-ns {
...
@@ -1353,7 +1354,7 @@ submodule etsi-nfv-ns {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Maximum number of nested NS instances based on the
"Maximum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
referenced NSD that is permitted to exist for this
...
...
src/yang/etsi-nfv-vnf.yang
View file @
130ab486
...
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
...
@@ -56,7 +56,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
support-mandatory
{
leaf
support-mandatory
{
mandatory
true
;
default
"false"
;
type
boolean
;
type
boolean
;
description
description
"Indicates whether fulfilling the constraint is
"Indicates whether fulfilling the constraint is
...
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
...
@@ -623,7 +623,7 @@ submodule etsi-nfv-vnf {
type
uint16
{
type
uint16
{
range
"1..max"
;
range
"1..max"
;
}
}
mandatory
true
;
default
1
;
description
description
"Number of virtual CPUs."
;
"Number of virtual CPUs."
;
reference
reference
...
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
...
@@ -738,7 +738,7 @@ submodule etsi-nfv-vnf {
enum
"swap"
;
enum
"swap"
;
enum
"ephemeral"
;
enum
"ephemeral"
;
}
}
mandatory
true
;
default
"root"
;
description
description
"Type of virtualised storage resource (e.g. volume,
"Type of virtualised storage resource (e.g. volume,
object)."
;
object)."
;
...
@@ -836,7 +836,7 @@ submodule etsi-nfv-vnf {
...
@@ -836,7 +836,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
container-format
{
leaf
container-format
{
mandatory
true
;
default
"bare"
;
type
enumeration
{
type
enumeration
{
enum
"aki"
{
enum
"aki"
{
description
description
...
@@ -876,7 +876,7 @@ submodule etsi-nfv-vnf {
...
@@ -876,7 +876,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
disk-format
{
leaf
disk-format
{
mandatory
true
;
default
"qcow2"
;
type
enumeration
{
type
enumeration
{
enum
"aki"
{
enum
"aki"
{
description
description
...
@@ -974,7 +974,7 @@ submodule etsi-nfv-vnf {
...
@@ -974,7 +974,7 @@ submodule etsi-nfv-vnf {
information element."
;
information element."
;
}
}
leaf
image
{
leaf
image
{
mandatory
true
;
default
"."
;
type
inet
:
uri
;
type
inet
:
uri
;
description
description
"This is a reference to the actual software image.
"This is a reference to the actual software image.
...
@@ -1203,7 +1203,7 @@ submodule etsi-nfv-vnf {
...
@@ -1203,7 +1203,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
min-number-of-instances
{
leaf
min-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
description
description
"Minimum number of instances of the VNFC based on this
"Minimum number of instances of the VNFC based on this
VDU that is permitted to exist for this flavour."
;
VDU that is permitted to exist for this flavour."
;
...
@@ -1213,7 +1213,7 @@ submodule etsi-nfv-vnf {
...
@@ -1213,7 +1213,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
max-number-of-instances
{
leaf
max-number-of-instances
{
type
uint16
;
type
uint16
;
mandatory
true
;
default
1
;
must
". >= ../nfv:min-number-of-instances"
;
must
". >= ../nfv:min-number-of-instances"
;
reference
reference
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
...
@@ -1617,7 +1617,7 @@ submodule etsi-nfv-vnf {
...
@@ -1617,7 +1617,7 @@ submodule etsi-nfv-vnf {
must
". >= ../../../../nfv:df/"
+
must
". >= ../../../../nfv:df/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:min-number-of-instances"
;
"nfv:min-number-of-instances"
;
mandatory
true
;
default
1
;
description
description
"Number of instances of VNFC based on this VDU to
"Number of instances of VNFC based on this VDU to
deploy for this level."
;
deploy for this level."
;
...
@@ -2036,6 +2036,118 @@ submodule etsi-nfv-vnf {
...
@@ -2036,6 +2036,118 @@ submodule etsi-nfv-vnf {
AffinityOrAntiAffinityGroup information element"
;
AffinityOrAntiAffinityGroup information element"
;
}
}
}
}
list
indicator
{
key
"id"
;
leaf
id
{
type
string
;
description
"Unique identifier."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
name
{
type
string
;
description
"The human readable name of the VnfIndicator."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
indicator-value
{
type
string
;
description
"Defines the allowed values or value ranges of this
indicator."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
leaf
source
{
type
enumeration
{
enum
vnf
;
enum
em
;
enum
both
;
}
description
"Describe the source of the indicator. The possible
values are:
• VNF.
• EM.
• Both.
This tells the consumer where to send the subscription
request."
;
reference
"GS NFV IFA011: Section 7.1.11.2 VnfIndicator
information element"
;
}
description
"Declares the VNF indicators that are supported by this
VNF (specific to this DF)."
;
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"
;
}
list
supported-vnf-interfaces
{
key
"name"
;
leaf
name
{
type
enumeration
{
enum
vnf-configuration
;
enum
vnf-indicator
;
}
description
"Identifies an interface produced by the VNF. Valid
values:
- VNF_CONFIGURATION
- VNF_INDICATOR"
;
reference
"GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
information element"
;
}
leaf-list
cpd-id
{
type
leafref
{
path
"../../../ext-cpd/id"
;
}
description
"References one or more CPDs from which to instantiate
external CPs through which interface endpoints on the
VNF side can be reached by the VNFM."
;
reference
"GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
information element"
;
}
list
interface-details
{
key
"key"
;
leaf
key
{
type
string
;
}
leaf
value
{
type
string
;
}
}
description
"Indicates which interfaces the VNF produces and provides
additional details on how to access the interface
endpoints."
;
reference
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element"
;
}
list
monitoring-parameter
{
list
monitoring-parameter
{
key
"id"
;
key
"id"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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