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
d96b4247
Commit
d96b4247
authored
Jan 02, 2019
by
Mahesh Jethanandani
Browse files
Addressing bug#91
parent
40c65745
Pipeline
#184
passed with stage
in 0 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/nfv.xml
View file @
d96b4247
...
...
@@ -11,17 +11,14 @@
<name>
Firewall VDU
</name>
<int-cpd>
<id>
inside
</id>
<ext-cpd>
inside
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
management
</id>
<ext-cpd>
management
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
outside
</id>
<ext-cpd>
outside
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
asa-vcd
</virtual-compute-desc>
...
...
@@ -51,14 +48,26 @@
</sw-image-desc>
<ext-cpd>
<id>
inside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
inside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
management
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
outside
</id>
<int-cpd>
<vdu-id>
firewall
</vdu-id>
<cpd>
outside
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<df>
...
...
@@ -97,17 +106,14 @@
<name>
Router VDU
</name>
<int-cpd>
<id>
left
</id>
<ext-cpd>
left
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
management
</id>
<ext-cpd>
management
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
right
</id>
<ext-cpd>
right
</ext-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
csr-vcd
</virtual-compute-desc>
...
...
@@ -137,14 +143,26 @@
</sw-image-desc>
<ext-cpd>
<id>
left
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
left
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
management
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
management
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
right
</id>
<int-cpd>
<vdu-id>
router
</vdu-id>
<cpd>
right
</cpd>
</int-cpd>
<layer-protocol>
Ethernet
</layer-protocol>
</ext-cpd>
<df>
...
...
src/yang/etsi-nfv-ns.yang
View file @
d96b4247
...
...
@@ -4,10 +4,7 @@ submodule etsi-nfv-ns {
prefix
nfv
;
}
import
etsi-nfv-common
{
prefix
common
;
}
include
etsi-nfv-common
;
include
etsi-nfv-vnf
;
include
etsi-nfv-pnf
;
...
...
@@ -248,7 +245,7 @@ submodule etsi-nfv-ns {
information element"
;
}
uses
common
:
connectivity-type
;
uses
connectivity-type
;
list
df
{
key
"id"
;
...
...
@@ -364,7 +361,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.5.2.2 NsVirtualLinkDesc
information element"
;
}
uses
common
:
security-parameters
;
uses
security-parameters
;
}
list
vnffgd
{
...
...
@@ -485,7 +482,7 @@ submodule etsi-nfv-ns {
}
container
ns
{
leaf
nsd-id
{
must
". = deref(../../ns-profile-id)/../nsd-id"
{
must
". = deref(../../
nested-
ns-profile-id)/../nsd-id"
{
}
type
leafref
{
...
...
@@ -745,7 +742,7 @@ submodule etsi-nfv-ns {
}
leaf
min-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
description
"Minimum number of instances of the VNF based on this
...
...
@@ -756,7 +753,7 @@ submodule etsi-nfv-ns {
}
leaf
max-number-of-instances
{
mandatory
true
;
default
1
;
type
uint16
;
description
"Maximum number of instances of the VNF based on this
...
...
@@ -766,7 +763,7 @@ submodule etsi-nfv-ns {
element"
;
}
uses
common
:
local-affinity-or-anti-affinity-rule
;
uses
local-affinity-or-anti-affinity-rule
;
list
affinity-or-anti-affinity-group
{
key
"id"
;
...
...
@@ -932,7 +929,7 @@ submodule etsi-nfv-ns {
information element"
;
}
uses
common
:
local-affinity-or-anti-affinity-rule
;
uses
local-affinity-or-anti-affinity-rule
;
list
affinity-or-anti-affinity-group
{
key
"id"
;
...
...
@@ -959,7 +956,7 @@ submodule etsi-nfv-ns {
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element"
;
uses
common
:
link-bitrate-requirements
;
uses
link-bitrate-requirements
;
}
container
min-bitrate-requirements
{
description
...
...
@@ -968,7 +965,7 @@ submodule etsi-nfv-ns {
reference
"GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
information element"
;
uses
common
:
link-bitrate-requirements
;
uses
link-bitrate-requirements
;
}
}
...
...
@@ -1048,7 +1045,7 @@ submodule etsi-nfv-ns {
leaf
affinity-type
{
mandatory
true
;
type
common
:
affinity-type
;
type
affinity-type
;
description
"Specifies the type of relationship that the members of
the group have: 'affinity' or 'anti-affinity.'"
;
...
...
@@ -1059,7 +1056,7 @@ submodule etsi-nfv-ns {
leaf
affinity-scope
{
mandatory
true
;
type
common
:
affinity-scope
;
type
affinity-scope
;
description
"Specifies the scope of the affinity or anti-affinity
relationship e.g. a NFVI node, an NFVI PoP, etc."
;
...
...
@@ -1123,7 +1120,7 @@ submodule etsi-nfv-ns {
}
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
description
"Specifies the number of VNF instances required for
...
...
@@ -1156,7 +1153,7 @@ submodule etsi-nfv-ns {
VirtualLinkToLevelMapping information element"
;
}
uses
common
:
link-bitrate-requirements
;
uses
link-bitrate-requirements
;
}
list
ns-to-level-mapping
{
...
...
@@ -1183,7 +1180,7 @@ submodule etsi-nfv-ns {
}
leaf
number-of-instances
{
mandatory
true
;
default
1
;
type
uint32
;
description
"Specifies the number of nested NS instances required
...
...
@@ -1289,7 +1286,7 @@ submodule etsi-nfv-ns {
}
leaf
min-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Minimum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
...
...
@@ -1300,7 +1297,7 @@ submodule etsi-nfv-ns {
}
leaf
max-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Maximum number of nested NS instances based on the
referenced NSD that is permitted to exist for this
...
...
@@ -1484,7 +1481,7 @@ submodule etsi-nfv-ns {
}
}
}
uses
common
:
security-parameters
;
uses
security-parameters
;
}
}
}
src/yang/etsi-nfv-vnf.yang
View file @
d96b4247
...
...
@@ -54,7 +54,7 @@ submodule etsi-nfv-vnf {
VirtualNetworkInterfaceRequirements information element"
;
}
leaf
support-mandatory
{
mandatory
true
;
default
"false"
;
type
boolean
;
description
"Indicates whether fulfilling the constraint is
...
...
@@ -117,7 +117,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.3, Cpd information element."
;
}
leaf
layer-protocol
{
mandatory
true
;
default
Ethernet
;
type
identityref
{
base
layer-protocol
;
}
...
...
@@ -700,8 +700,8 @@ submodule etsi-nfv-vnf {
fraction-digits
1
;
range
"0..max"
;
}
units
"
Gb
"
;
mandatory
true
;
units
"
MBytes
"
;
default
1
;
description
"Amount of virtual memory in MB."
;
reference
...
...
@@ -773,7 +773,7 @@ submodule etsi-nfv-vnf {
type
uint16
{
range
"1..max"
;
}
mandatory
true
;
default
1
;
description
"Number of virtual CPUs."
;
reference
...
...
@@ -820,7 +820,7 @@ submodule etsi-nfv-vnf {
container
virtual-cpu-pinning
{
presence
"Set to specify CPU pinning."
;
leaf
cpu-pinning-policy
{
mandatory
true
;
default
"dynamic"
;
type
enumeration
{
enum
"static"
;
enum
"dynamic"
;
...
...
@@ -866,7 +866,7 @@ submodule etsi-nfv-vnf {
enum
"swap"
;
enum
"ephemeral"
;
}
mandatory
true
;
default
"root"
;
description
"Type of virtualised storage resource (e.g. volume,
object)."
;
...
...
@@ -877,7 +877,7 @@ submodule etsi-nfv-vnf {
leaf
size-of-storage
{
type
uint64
;
units
"Gb"
;
mandatory
true
;
default
1
;
description
"Size of virtualised storage resource (e.g. size of
volume, in Gb)"
;
...
...
@@ -964,7 +964,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
container-format
{
mandatory
true
;
default
"bare"
;
type
enumeration
{
enum
"aki"
{
description
...
...
@@ -1004,7 +1004,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
disk-format
{
mandatory
true
;
default
"qcow2"
;
type
enumeration
{
enum
"aki"
{
description
...
...
@@ -1102,7 +1102,7 @@ submodule etsi-nfv-vnf {
information element."
;
}
leaf
image
{
mandatory
true
;
default
"."
;
type
inet
:
uri
;
description
"This is a reference to the actual software image.
...
...
@@ -1274,7 +1274,9 @@ submodule etsi-nfv-vnf {
}
}
leaf
cpd
{
path
"deref(../vdu-id)/../int-cpd/id"
;
type
leafref
{
path
"deref(../vdu-id)/../int-cpd/id"
;
}
}
}
}
...
...
@@ -1327,7 +1329,7 @@ submodule etsi-nfv-vnf {
}
leaf
min-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
description
"Minimum number of instances of the VNFC based on this
VDU that is permitted to exist for this flavour."
;
...
...
@@ -1337,7 +1339,7 @@ submodule etsi-nfv-vnf {
}
leaf
max-number-of-instances
{
type
uint16
;
mandatory
true
;
default
1
;
must
". >= ../nfv:min-number-of-instances"
;
reference
"GS NFV IFA011: Section 7.1.8.3, VduProfile information
...
...
@@ -1498,7 +1500,7 @@ submodule etsi-nfv-vnf {
must
". >= ../../../../nfv:df/"
+
"nfv:vdu-profile[id=current()/../nfv:id]/"
+
"nfv:min-number-of-instances"
;
mandatory
true
;
default
1
;
description
"Number of instances of VNFC based on this VDU to
deploy for this level."
;
...
...
@@ -1795,6 +1797,118 @@ submodule etsi-nfv-vnf {
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
{
key
"id"
;
...
...
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