Commit f20483aa authored by jethanandani's avatar jethanandani
Browse files

Merge branch 'master' into 'bug#227'

# Conflicts:
#   run-test.sh
#   src/yang/etsi-nfv-ns.yang
#   src/yang/etsi-nfv-vnf.yang
parents a576567f 1aa76d6b
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -11,8 +11,21 @@ IMG_NAME="sol006"
VERSION=latest
VERSION=latest
IMG="$IMG_NAME:$VERSION"
IMG="$IMG_NAME:$VERSION"


CMT=$(git rev-parse --short HEAD)

docker build --tag "$IMG" .
docker build --tag "$IMG" .
docker run "$IMG"
docker run "$IMG"


echo "Building HTML tree"
docker run -v"$(pwd)/src/yang/:/yang/" mjethanandani/pyang \
	"/bin/sh" -c "cd /yang/ && pyang -f jstree -p /yang/ \
	/yang/etsi-nfv.yang > etsi-nfv.html"

sed -r -i 's|<a href=\"http://www.tail-f.com">|<a href="http://etsi.org">|g' src/yang/etsi-nfv.html
sed -r -i 's|data\:image/gif\;base64,R0lGODlhS.*RCAA7|https://www.etsi.org/images/ETSILogoTwitter.png\" height=\"100|g' src/yang/etsi-nfv.html

sed -r -i "s|<div class=\"app\">|<p>Commit: <a href=\"https://forge.etsi.org/gitlab/nfv/SOL006/commit/${CMT}\">$CMT</a>, Build:<a href=\"$BUILD_URL\">$BUILD_NUMBER</a></p><div class=\"app\">|g" src/yang/etsi-nfv.html


exit $?
exit $?
+296 −0
Original line number Original line Diff line number Diff line
<nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors">
  <vnfd>
    <id>complex-vnf</id>
    <provider>My Company</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-storage</type-of-storage>
      <size-of-storage>10</size-of-storage>
    </virtual-storage-descriptor>
    <sw-image-desc>
      <id>CP</id>
      <name>CP</name>
      <version>1.1</version>
      <checksum>
	<algorithm>sha-224</algorithm>
	<hash>deadbeef</hash>
      </checksum>
      <container-format>bare</container-format>
      <disk-format>qcow2</disk-format>
      <min-disk>1</min-disk>
      <min-ram>2.0</min-ram>
      <size>1</size>
      <image>http://mycompany.images.com/control-plane.qcow2</image>
    </sw-image-desc>
    <sw-image-desc>
      <id>DP</id>
      <name>DP</name>
      <version>1.1</version>
      <checksum>
	<algorithm>sha-224</algorithm>
	<hash>deadbeef</hash>
      </checksum>
      <container-format>bare</container-format>
      <disk-format>qcow2</disk-format>
      <min-disk>1</min-disk>
      <min-ram>2.0</min-ram>
      <size>1</size>
      <image>http://mycompany.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>
          <vdu-id>control-plane-active</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>control-plane-standby</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>data-plane</vdu-id>
          <number-of-instances>2</number-of-instances>
        </vdu-level>
      </instantiation-level>
      <instantiation-level>
        <id>il-2</id>
        <vdu-level>
          <vdu-id>control-plane-active</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>control-plane-standby</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>data-plane</vdu-id>
          <number-of-instances>4</number-of-instances>
        </vdu-level>
      </instantiation-level>
      <default-instantiation-level>il-1</default-instantiation-level>
      <lcm-operations-configuration>
	<scale-vnf-to-level-op-config>
	  <arbitrary-target-levels-supported>true</arbitrary-target-levels-supported>
	</scale-vnf-to-level-op-config>
	<terminate-vnf-op-config>
	  <min-graceful-termination>1</min-graceful-termination>
	</terminate-vnf-op-config>
	<operate-vnf-op-config>
	  <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
	</operate-vnf-op-config>
      </lcm-operations-configuration>
      <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>
          <vdu-id>control-plane-active</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>control-plane-standby</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>data-plane</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
      </instantiation-level>
      <instantiation-level>
        <id>il-2</id>
        <vdu-level>
          <vdu-id>control-plane-active</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>control-plane-standby</vdu-id>
          <number-of-instances>1</number-of-instances>
        </vdu-level>
        <vdu-level>
          <vdu-id>data-plane</vdu-id>
          <number-of-instances>2</number-of-instances>
        </vdu-level>
      </instantiation-level>
      <default-instantiation-level>il-1</default-instantiation-level>
      <lcm-operations-configuration>
	<scale-vnf-to-level-op-config>
	  <arbitrary-target-levels-supported>true</arbitrary-target-levels-supported>
	</scale-vnf-to-level-op-config>
	<terminate-vnf-op-config>
	  <min-graceful-termination>1</min-graceful-termination>
	</terminate-vnf-op-config>
	<operate-vnf-op-config>
	  <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
	</operate-vnf-op-config>
      </lcm-operations-configuration>
      <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>
+26 −2
Original line number Original line Diff line number Diff line
@@ -49,9 +49,10 @@
      </checksum>
      </checksum>
      <container-format>bare</container-format>
      <container-format>bare</container-format>
      <disk-format>qcow2</disk-format>
      <disk-format>qcow2</disk-format>
      <min-disk>1</min-disk>
      <min-ram>2.0</min-ram>
      <min-ram>2.0</min-ram>
      <size>1</size>
      <size>1</size>
      <image>http://www.cisco.com/asa.qcow2</image>
      <image>http://mycompany.images.com/asa.qcow2</image>
    </sw-image-desc>
    </sw-image-desc>
    <ext-cpd>
    <ext-cpd>
      <id>inside</id>
      <id>inside</id>
@@ -99,6 +100,17 @@
        </vdu-level>
        </vdu-level>
      </instantiation-level>
      </instantiation-level>
      <default-instantiation-level>single</default-instantiation-level>
      <default-instantiation-level>single</default-instantiation-level>
      <lcm-operations-configuration>
	<scale-vnf-to-level-op-config>
	  <arbitrary-target-levels-supported>true</arbitrary-target-levels-supported>
	</scale-vnf-to-level-op-config>
	<terminate-vnf-op-config>
	  <min-graceful-termination>1</min-graceful-termination>
	</terminate-vnf-op-config>
	<operate-vnf-op-config>
	  <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
	</operate-vnf-op-config>
      </lcm-operations-configuration>
    </df>
    </df>
  </vnfd>
  </vnfd>
  <vnfd>
  <vnfd>
@@ -151,9 +163,10 @@
      </checksum>
      </checksum>
      <container-format>bare</container-format>
      <container-format>bare</container-format>
      <disk-format>qcow2</disk-format>
      <disk-format>qcow2</disk-format>
      <min-disk>1</min-disk>
      <min-ram>2.0</min-ram>
      <min-ram>2.0</min-ram>
      <size>1</size>
      <size>1</size>
      <image>http://www.cisco.com/csr.qcow2</image>
      <image>http://mycompany.images.com/csr.qcow2</image>
    </sw-image-desc>
    </sw-image-desc>
    <ext-cpd>
    <ext-cpd>
      <id>left</id>
      <id>left</id>
@@ -201,6 +214,17 @@
        </vdu-level>
        </vdu-level>
      </instantiation-level>
      </instantiation-level>
      <default-instantiation-level>single</default-instantiation-level>
      <default-instantiation-level>single</default-instantiation-level>
      <lcm-operations-configuration>
	<scale-vnf-to-level-op-config>
	  <arbitrary-target-levels-supported>true</arbitrary-target-levels-supported>
	</scale-vnf-to-level-op-config>
	<terminate-vnf-op-config>
	  <min-graceful-termination>1</min-graceful-termination>
	</terminate-vnf-op-config>
	<operate-vnf-op-config>
	  <min-graceful-stop-timeout>1</min-graceful-stop-timeout>
	</operate-vnf-op-config>
      </lcm-operations-configuration>
    </df>
    </df>
  </vnfd>
  </vnfd>
  <nsd>
  <nsd>
+2 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,8 @@ confd_load -l -m nfv-nsd.xml


echo "Loading Data for descriptors"
echo "Loading Data for descriptors"
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
+3 −3
Original line number Original line Diff line number Diff line
@@ -531,7 +531,7 @@ submodule etsi-nfv-common {
          when "../type='mac-address'";
          when "../type='mac-address'";
          leaf mac-address-assignment {
          leaf mac-address-assignment {
            type boolean;
            type boolean;
            default true;
            mandatory true;
            description
            description
              "Specify if the MAC address assignment is the
              "Specify if the MAC address assignment is the
               responsibility of management and orchestration function
               responsibility of management and orchestration function
@@ -557,7 +557,7 @@ submodule etsi-nfv-common {
          when "../type='ip-address'";
          when "../type='ip-address'";
          leaf ip-address-assignment {
          leaf ip-address-assignment {
            type boolean;
            type boolean;
            default "true";
            mandatory true;
            description
            description
              "Specify if the address assignment is the responsibility
              "Specify if the address assignment is the responsibility
               of management and orchestration function or not. If it
               of management and orchestration function or not. If it
@@ -570,7 +570,7 @@ submodule etsi-nfv-common {


          leaf floating-ip-activated {
          leaf floating-ip-activated {
            type boolean;
            type boolean;
            default "true";
            mandatory true;
            description
            description
              "Specify if the floating IP scheme is activated on the CP
              "Specify if the floating IP scheme is activated on the CP
               or not.";
               or not.";
Loading