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
094395a0
Commit
094395a0
authored
Feb 08, 2019
by
Mahesh Jethanandani
Browse files
Fix for bug#170
parent
e092d97f
Pipeline
#257
passed with stage
in 0 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
example-data/complex-vnfd.xml
0 → 100644
View file @
094395a0
<config
xmlns=
"http://tail-f.com/ns/config/1.0"
>
<nfv
xmlns=
"urn:etsi:params:xml:ns:yang:etsi-nfv"
>
<vnfd>
<id>
complex-vnf
</id>
<provider>
ACME
</provider>
<product-name>
complex-vnf
</product-name>
<software-version>
1.0
</software-version>
<version>
1.0
</version>
<vnfm-info>
netconf
</vnfm-info>
<vdu>
<id>
control-plane-active
</id>
<name>
control-plane-active
</name>
<int-cpd>
<id>
internal
</id>
<int-virtual-link-desc>
internal-vl
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
mgmt
</id>
<int-virtual-link-desc>
mgmt
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
CP
</virtual-compute-desc>
<virtual-storage-desc>
root
</virtual-storage-desc>
<sw-image-desc>
CP
</sw-image-desc>
</vdu>
<vdu>
<id>
control-plane-standby
</id>
<name>
control-plane-standby
</name>
<int-cpd>
<id>
internal
</id>
<int-virtual-link-desc>
internal-vl
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
mgmt
</id>
<int-virtual-link-desc>
mgmt
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
CP
</virtual-compute-desc>
<virtual-storage-desc>
root
</virtual-storage-desc>
<sw-image-desc>
CP
</sw-image-desc>
</vdu>
<vdu>
<id>
data-plane
</id>
<name>
data-plane
</name>
<int-cpd>
<id>
in
</id>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
internal
</id>
<int-virtual-link-desc>
internal-vl
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<int-cpd>
<id>
out
</id>
<layer-protocol>
IPv4
</layer-protocol>
</int-cpd>
<virtual-compute-desc>
DP
</virtual-compute-desc>
<virtual-storage-desc>
root
</virtual-storage-desc>
<sw-image-desc>
DP
</sw-image-desc>
</vdu>
<virtual-compute-desc>
<id>
CP
</id>
<virtual-memory>
<size>
16.0
</size>
</virtual-memory>
<virtual-cpu>
<num-virtual-cpu>
8
</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-desc>
<virtual-compute-desc>
<id>
DP
</id>
<virtual-memory>
<size>
32.0
</size>
</virtual-memory>
<virtual-cpu>
<num-virtual-cpu>
16
</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-desc>
<virtual-storage-descriptor>
<id>
root
</id>
<type-of-storage>
root
</type-of-storage>
<size-of-storage>
10
</size-of-storage>
</virtual-storage-descriptor>
<sw-image-desc>
<id>
CP
</id>
<name>
CP
</name>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<image>
http://acme.images.com/control-plane.qcow2
</image>
</sw-image-desc>
<sw-image-desc>
<id>
DP
</id>
<name>
DP
</name>
<container-format>
bare
</container-format>
<disk-format>
qcow2
</disk-format>
<image>
http://acme.images.com/data-plane.qcow2
</image>
</sw-image-desc>
<int-virtual-link-desc>
<id>
internal-vl
</id>
<connectivity-type>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<int-virtual-link-desc>
<id>
mgmt
</id>
<connectivity-type>
<layer-protocol>
<protocol>
IPv4
</protocol>
</layer-protocol>
</connectivity-type>
</int-virtual-link-desc>
<ext-cpd>
<id>
in
</id>
<int-cpd>
<vdu-id>
data-plane
</vdu-id>
<cpd>
in
</cpd>
</int-cpd>
<layer-protocol>
IPv4
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
mgmt
</id>
<int-virtual-link-desc>
mgmt
</int-virtual-link-desc>
<layer-protocol>
IPv4
</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>
out
</id>
<int-cpd>
<vdu-id>
data-plane
</vdu-id>
<cpd>
out
</cpd>
</int-cpd>
<layer-protocol>
IPv4
</layer-protocol>
</ext-cpd>
<df>
<id>
gold
</id>
<vdu-profile>
<id>
control-plane-active
</id>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
</affinity-or-anti-affinity-group>
</vdu-profile>
<vdu-profile>
<id>
control-plane-standby
</id>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
</affinity-or-anti-affinity-group>
</vdu-profile>
<vdu-profile>
<id>
data-plane
</id>
<min-number-of-instances>
2
</min-number-of-instances>
<max-number-of-instances>
8
</max-number-of-instances>
</vdu-profile>
<instantiation-level>
<id>
il-1
</id>
<vdu-level>
<id>
control-plane-active
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
control-plane-standby
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
data-plane
</id>
<number-of-instances>
2
</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>
il-2
</id>
<vdu-level>
<id>
control-plane-active
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
control-plane-standby
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
data-plane
</id>
<number-of-instances>
4
</number-of-instances>
</vdu-level>
</instantiation-level>
<default-instantiation-level>
il-1
</default-instantiation-level>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
<type>
anti-affinity
</type>
<scope>
nfvi-node
</scope>
</affinity-or-anti-affinity-group>
</df>
<df>
<id>
silver
</id>
<vdu-profile>
<id>
control-plane-active
</id>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
</affinity-or-anti-affinity-group>
</vdu-profile>
<vdu-profile>
<id>
control-plane-standby
</id>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
1
</max-number-of-instances>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
</affinity-or-anti-affinity-group>
</vdu-profile>
<vdu-profile>
<id>
data-plane
</id>
<min-number-of-instances>
1
</min-number-of-instances>
<max-number-of-instances>
4
</max-number-of-instances>
</vdu-profile>
<instantiation-level>
<id>
il-1
</id>
<vdu-level>
<id>
control-plane-active
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
control-plane-standby
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
data-plane
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>
il-2
</id>
<vdu-level>
<id>
control-plane-active
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
control-plane-standby
</id>
<number-of-instances>
1
</number-of-instances>
</vdu-level>
<vdu-level>
<id>
data-plane
</id>
<number-of-instances>
2
</number-of-instances>
</vdu-level>
</instantiation-level>
<default-instantiation-level>
il-1
</default-instantiation-level>
<affinity-or-anti-affinity-group>
<id>
control-plane
</id>
<type>
anti-affinity
</type>
<scope>
nfvi-node
</scope>
</affinity-or-anti-affinity-group>
</df>
</vnfd>
</nfv>
</config>
example-data/nfv.xml
View file @
094395a0
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<virtual-storage-desc>
asa-vsd
</virtual-storage-desc>
<virtual-storage-desc>
asa-vsd
</virtual-storage-desc>
<sw-image-desc>
asa-image
</sw-image-desc>
<sw-image-desc>
asa-image
</sw-image-desc>
</vdu>
</vdu>
<virtual-compute-desc
riptor
>
<virtual-compute-desc>
<id>
asa-vcd
</id>
<id>
asa-vcd
</id>
<virtual-memory>
<virtual-memory>
<size>
4.0
</size>
<size>
4.0
</size>
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<virtual-cpu>
<virtual-cpu>
<num-virtual-cpu>
2
</num-virtual-cpu>
<num-virtual-cpu>
2
</num-virtual-cpu>
</virtual-cpu>
</virtual-cpu>
</virtual-compute-desc
riptor
>
</virtual-compute-desc>
<virtual-storage-descriptor>
<virtual-storage-descriptor>
<id>
asa-vsd
</id>
<id>
asa-vsd
</id>
<type-of-storage>
root
</type-of-storage>
<type-of-storage>
root
</type-of-storage>
...
@@ -120,7 +120,7 @@
...
@@ -120,7 +120,7 @@
<virtual-storage-desc>
csr-vsd
</virtual-storage-desc>
<virtual-storage-desc>
csr-vsd
</virtual-storage-desc>
<sw-image-desc>
csr-image
</sw-image-desc>
<sw-image-desc>
csr-image
</sw-image-desc>
</vdu>
</vdu>
<virtual-compute-desc
riptor
>
<virtual-compute-desc>
<id>
csr-vcd
</id>
<id>
csr-vcd
</id>
<virtual-memory>
<virtual-memory>
<size>
4.0
</size>
<size>
4.0
</size>
...
@@ -128,7 +128,7 @@
...
@@ -128,7 +128,7 @@
<virtual-cpu>
<virtual-cpu>
<num-virtual-cpu>
2
</num-virtual-cpu>
<num-virtual-cpu>
2
</num-virtual-cpu>
</virtual-cpu>
</virtual-cpu>
</virtual-compute-desc
riptor
>
</virtual-compute-desc>
<virtual-storage-descriptor>
<virtual-storage-descriptor>
<id>
csr-vsd
</id>
<id>
csr-vsd
</id>
<type-of-storage>
root
</type-of-storage>
<type-of-storage>
root
</type-of-storage>
...
...
run-test.sh
View file @
094395a0
...
@@ -15,8 +15,10 @@ confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv.fxs etsi-nfv.yang
...
@@ -15,8 +15,10 @@ confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv.fxs etsi-nfv.yang
echo
"Starting ConfD"
echo
"Starting ConfD"
confd
confd
echo
"Loading
D
ata"
echo
"Loading
d
ata
for the simple example
"
confd_load
-l
-m
nfv.xml
confd_load
-l
-m
nfv.xml
echo
"Loading data for the complex Vnfd example"
confd_load
-l
-m
complex-vnfd.xml
# Don't do this in the actual test, just waste of cycles
# Don't do this in the actual test, just waste of cycles
# echo "Stopping ConfD"
# echo "Stopping ConfD"
...
...
src/yang/etsi-nfv-vnf.yang
View file @
094395a0
...
@@ -82,7 +82,7 @@ submodule etsi-nfv-vnf {
...
@@ -82,7 +82,7 @@ submodule etsi-nfv-vnf {
}
}
leaf
nicio-requirements
{
leaf
nicio-requirements
{
type
leafref
{
type
leafref
{
path
"/nfv/vnfd/virtual-compute-desc
riptor
/id"
;
path
"/nfv/vnfd/virtual-compute-desc/id"
;
}
}
description
description
"This references (couples) the CPD with any logical node I/O
"This references (couples) the CPD with any logical node I/O
...
@@ -295,10 +295,10 @@ submodule etsi-nfv-vnf {
...
@@ -295,10 +295,10 @@ submodule etsi-nfv-vnf {
}
}
leaf
virtual-compute-desc
{
leaf
virtual-compute-desc
{
type
leafref
{
type
leafref
{
path
"../../nfv:virtual-compute-desc
riptor
/"
+
path
"../../nfv:virtual-compute-desc/"
+
"nfv:id"
;
"nfv:id"
;
}
}
must
"../../nfv:virtual-compute-desc
riptor
[id=current()]/"
+
must
"../../nfv:virtual-compute-desc[id=current()]/"
+
"nfv:virtual-memory/size >="
+
"nfv:virtual-memory/size >="
+
"../../nfv:sw-image-desc[id=current()/"
+
"../../nfv:sw-image-desc[id=current()/"
+
"../sw-image-desc]/min-ram"
{
"../sw-image-desc]/min-ram"
{
...
@@ -419,7 +419,7 @@ submodule etsi-nfv-vnf {
...
@@ -419,7 +419,7 @@ submodule etsi-nfv-vnf {
}
}
}
}
list
virtual-compute-desc
riptor
{
list
virtual-compute-desc
{
key
"id"
;
key
"id"
;
description
description
"Defines descriptors of virtual compute resources to be
"Defines descriptors of virtual compute resources to be
...
...
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