Loading example-data/complex-vnfd.xml 0 → 100644 +260 −0 Original line number Original line Diff line number Diff line <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 +4 −4 Original line number Original line Diff line number Diff line Loading @@ -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-descriptor> <virtual-compute-desc> <id>asa-vcd</id> <id>asa-vcd</id> <virtual-memory> <virtual-memory> <size>4.0</size> <size>4.0</size> Loading @@ -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-descriptor> </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> Loading Loading @@ -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-descriptor> <virtual-compute-desc> <id>csr-vcd</id> <id>csr-vcd</id> <virtual-memory> <virtual-memory> <size>4.0</size> <size>4.0</size> Loading @@ -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-descriptor> </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> Loading run-test.sh +3 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Data" echo "Loading data 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" Loading src/yang/etsi-nfv-vnf.yang +4 −4 Original line number Original line Diff line number Diff line Loading @@ -82,7 +82,7 @@ submodule etsi-nfv-vnf { } } leaf nicio-requirements { leaf nicio-requirements { type leafref { type leafref { path "/nfv/vnfd/virtual-compute-descriptor/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 Loading Loading @@ -295,10 +295,10 @@ submodule etsi-nfv-vnf { } } leaf virtual-compute-desc { leaf virtual-compute-desc { type leafref { type leafref { path "../../nfv:virtual-compute-descriptor/" + path "../../nfv:virtual-compute-desc/" + "nfv:id"; "nfv:id"; } } must "../../nfv:virtual-compute-descriptor[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" { Loading Loading @@ -419,7 +419,7 @@ submodule etsi-nfv-vnf { } } } } list virtual-compute-descriptor { 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 Loading Loading
example-data/complex-vnfd.xml 0 → 100644 +260 −0 Original line number Original line Diff line number Diff line <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 +4 −4 Original line number Original line Diff line number Diff line Loading @@ -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-descriptor> <virtual-compute-desc> <id>asa-vcd</id> <id>asa-vcd</id> <virtual-memory> <virtual-memory> <size>4.0</size> <size>4.0</size> Loading @@ -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-descriptor> </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> Loading Loading @@ -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-descriptor> <virtual-compute-desc> <id>csr-vcd</id> <id>csr-vcd</id> <virtual-memory> <virtual-memory> <size>4.0</size> <size>4.0</size> Loading @@ -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-descriptor> </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> Loading
run-test.sh +3 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Data" echo "Loading data 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" Loading
src/yang/etsi-nfv-vnf.yang +4 −4 Original line number Original line Diff line number Diff line Loading @@ -82,7 +82,7 @@ submodule etsi-nfv-vnf { } } leaf nicio-requirements { leaf nicio-requirements { type leafref { type leafref { path "/nfv/vnfd/virtual-compute-descriptor/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 Loading Loading @@ -295,10 +295,10 @@ submodule etsi-nfv-vnf { } } leaf virtual-compute-desc { leaf virtual-compute-desc { type leafref { type leafref { path "../../nfv:virtual-compute-descriptor/" + path "../../nfv:virtual-compute-desc/" + "nfv:id"; "nfv:id"; } } must "../../nfv:virtual-compute-descriptor[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" { Loading Loading @@ -419,7 +419,7 @@ submodule etsi-nfv-vnf { } } } } list virtual-compute-descriptor { 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 Loading