Commit 094395a0 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Fix for bug#170

parent e092d97f
Loading
Loading
Loading
Loading
+260 −0
Original line number 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>
+4 −4
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@
      <virtual-storage-desc>asa-vsd</virtual-storage-desc>
      <sw-image-desc>asa-image</sw-image-desc>
    </vdu>
    <virtual-compute-descriptor>
    <virtual-compute-desc>
      <id>asa-vcd</id>
      <virtual-memory>
        <size>4.0</size>
@@ -33,7 +33,7 @@
      <virtual-cpu>
        <num-virtual-cpu>2</num-virtual-cpu>
      </virtual-cpu>
    </virtual-compute-descriptor>
    </virtual-compute-desc>
    <virtual-storage-descriptor>
      <id>asa-vsd</id>
      <type-of-storage>root</type-of-storage>
@@ -120,7 +120,7 @@
      <virtual-storage-desc>csr-vsd</virtual-storage-desc>
      <sw-image-desc>csr-image</sw-image-desc>
    </vdu>
    <virtual-compute-descriptor>
    <virtual-compute-desc>
      <id>csr-vcd</id>
      <virtual-memory>
        <size>4.0</size>
@@ -128,7 +128,7 @@
      <virtual-cpu>
        <num-virtual-cpu>2</num-virtual-cpu>
      </virtual-cpu>
    </virtual-compute-descriptor>
    </virtual-compute-desc>
    <virtual-storage-descriptor>
      <id>csr-vsd</id>
      <type-of-storage>root</type-of-storage>
+3 −1
Original line number Diff line number Diff line
@@ -15,8 +15,10 @@ confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv.fxs etsi-nfv.yang
echo "Starting ConfD"
confd

echo "Loading Data"
echo "Loading data for the simple example"
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
# echo "Stopping ConfD"
+4 −4
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ submodule etsi-nfv-vnf {
      }
      leaf nicio-requirements {
        type leafref {
          path "/nfv/vnfd/virtual-compute-descriptor/id";
          path "/nfv/vnfd/virtual-compute-desc/id";
        }
        description
          "This references (couples) the CPD with any logical node I/O
@@ -295,10 +295,10 @@ submodule etsi-nfv-vnf {
        }
        leaf virtual-compute-desc {
          type leafref {
            path "../../nfv:virtual-compute-descriptor/" +
            path "../../nfv:virtual-compute-desc/" +
                 "nfv:id";
          }
          must "../../nfv:virtual-compute-descriptor[id=current()]/" +
          must "../../nfv:virtual-compute-desc[id=current()]/" +
               "nfv:virtual-memory/size >=" +
               "../../nfv:sw-image-desc[id=current()/" +
               "../sw-image-desc]/min-ram" {
@@ -419,7 +419,7 @@ submodule etsi-nfv-vnf {
        }
      }

      list virtual-compute-descriptor {
      list virtual-compute-desc {
        key "id";
        description
          "Defines descriptors of virtual compute resources to be