Skip to content
Snippets Groups Projects
Commit e8ab82d5 authored by Mahesh Jethanandani's avatar Mahesh Jethanandani
Browse files

Updating Docker container and Jenkins

parent f390bc69
No related branches found
No related tags found
1 merge request!1PR1
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
YANG_MODULES="yang/yang/*" YANG_MODULES="yang/yang/*"
OUTPUT="etsi-nfv.html" OUTPUT="etsi-nfv.html"
IMG_NAME="nfv-sol6" IMG_NAME="sol006"
VERSION=1.0 VERSION=latest
IMG="$IMG_NAME:$VERSION" IMG="$IMG_NAME:$VERSION"
docker build --tag "$IMG" . docker build --tag "$IMG" .
docker run "$IMG" "/bin/sh" -c "pyang -f jstree $YANG_MODULES" > "$OUTPUT" docker run "$IMG"
exit $([ -f "$OUTPUT" ]) exit $?
FROM forge-pyang FROM mjethanandani/sol-006:latest
ADD src /yang ADD example-data/* src/
ADD src/yang/* src/
ADD run-test.sh /
CMD ["/run-test.sh"]
<config xmlns="http://tail-f.com/ns/config/1.0">
<nfv xmlns="urn:etsi:params:xml:ns:yang:etsi-nfv">
<vnfd>
<id>ASA</id>
<provider>Cisco</provider>
<product-name>Cisco ASAv</product-name>
<software-version>9.8</software-version>
<version>9.8 </version>
<vnfm-info>ESC</vnfm-info>
<vdu>
<id>firewall</id>
<name>Firewall VDU</name>
<int-cpd>
<id>inside</id>
<ext-cpd>inside</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>management</id>
<ext-cpd>management</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>outside</id>
<ext-cpd>outside</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<virtual-compute-desc>asa-vcd</virtual-compute-desc>
<virtual-storage-desc>asa-vsd</virtual-storage-desc>
<sw-image-desc>asa-image</sw-image-desc>
</vdu>
<virtual-compute-descriptor>
<id>asa-vcd</id>
<virtual-memory>
<size>4.0</size>
</virtual-memory>
<virtual-cpu>
<num-virtual-cpu>2</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-descriptor>
<virtual-storage-descriptor>
<id>asa-vsd</id>
<type-of-storage>root</type-of-storage>
<size-of-storage>0</size-of-storage>
</virtual-storage-descriptor>
<sw-image-desc>
<id>asa-image</id>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-ram>2.0</min-ram>
<image>http://www.cisco.com/asa.qcow2</image>
</sw-image-desc>
<ext-cpd>
<id>inside</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>management</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>outside</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<df>
<id>normal</id>
<vdu-profile>
<id>firewall</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
</vdu-profile>
<instantiation-level>
<id>double</id>
<vdu-level>
<id>firewall</id>
<number-of-instances>2</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>single</id>
<vdu-level>
<id>firewall</id>
<number-of-instances>1</number-of-instances>
</vdu-level>
</instantiation-level>
<default-instantiation-level>single</default-instantiation-level>
</df>
</vnfd>
<vnfd>
<id>CSR</id>
<provider>Cisco</provider>
<product-name>Cisco CSR 1000v</product-name>
<software-version>3.16</software-version>
<version>3.16</version>
<vnfm-info>ESC</vnfm-info>
<vdu>
<id>router</id>
<name>Router VDU</name>
<int-cpd>
<id>left</id>
<ext-cpd>left</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>management</id>
<ext-cpd>management</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>right</id>
<ext-cpd>right</ext-cpd>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</int-cpd>
<virtual-compute-desc>csr-vcd</virtual-compute-desc>
<virtual-storage-desc>csr-vsd</virtual-storage-desc>
<sw-image-desc>csr-image</sw-image-desc>
</vdu>
<virtual-compute-descriptor>
<id>csr-vcd</id>
<virtual-memory>
<size>4.0</size>
</virtual-memory>
<virtual-cpu>
<num-virtual-cpu>2</num-virtual-cpu>
</virtual-cpu>
</virtual-compute-descriptor>
<virtual-storage-descriptor>
<id>csr-vsd</id>
<type-of-storage>root</type-of-storage>
<size-of-storage>0</size-of-storage>
</virtual-storage-descriptor>
<sw-image-desc>
<id>csr-image</id>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-ram>2.0</min-ram>
<image>http://www.cisco.com/csr.qcow2</image>
</sw-image-desc>
<ext-cpd>
<id>left</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>management</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>right</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
<df>
<id>normal</id>
<vdu-profile>
<id>router</id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>2</max-number-of-instances>
</vdu-profile>
<instantiation-level>
<id>double</id>
<vdu-level>
<id>router</id>
<number-of-instances>2</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>single</id>
<vdu-level>
<id>router</id>
<number-of-instances>1</number-of-instances>
</vdu-level>
</instantiation-level>
<default-instantiation-level>single</default-instantiation-level>
</df>
</vnfd>
<nsd>
<id>firewall-nsd</id>
<vnfd-id>ASA</vnfd-id>
<sapd>
<id>inside</id>
</sapd>
<sapd>
<id>management</id>
</sapd>
<sapd>
<id>outside</id>
</sapd>
<df>
<id>firewall</id>
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
</vnf-profile>
<ns-instantiation-level>
<id>single</id>
<vnf-to-level-mapping>
<vnf-profile-id>firewall</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
</ns-instantiation-level>
</df>
</nsd>
<nsd>
<id>service-chain-1</id>
<vnfd-id>ASA</vnfd-id>
<vnfd-id>CSR</vnfd-id>
<pnfd-id>physical-dpi</pnfd-id>
<sapd>
<id>inside</id>
</sapd>
<sapd>
<id>management</id>
<virtual-link-desc>mgmt</virtual-link-desc>
</sapd>
<sapd>
<id>outside</id>
<vnf>
<vnfd-id>CSR</vnfd-id>
<ext-cpd-id>left</ext-cpd-id>
</vnf>
</sapd>
<virtual-link-desc>
<id>fw2dpi</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</connectivity-type>
<df>
<id>normal</id>
<qos>
<latency>0</latency>
<packet-delay-variation>0</packet-delay-variation>
</qos>
</df>
</virtual-link-desc>
<virtual-link-desc>
<id>mgmt</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:IPv4</layer-protocol>
</connectivity-type>
<df>
<id>normal</id>
<qos>
<latency>0</latency>
<packet-delay-variation>0</packet-delay-variation>
</qos>
</df>
</virtual-link-desc>
<virtual-link-desc>
<id>r2fw</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</connectivity-type>
<df>
<id>normal</id>
<qos>
<latency>0</latency>
<packet-delay-variation>0</packet-delay-variation>
</qos>
</df>
</virtual-link-desc>
<df>
<id>router-fw</id>
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<max-bitrate-requirements>
<root>10000000</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<ns-instantiation-level>
<id>normal</id>
<description>Single FW and Router</description>
<vnf-to-level-mapping>
<vnf-profile-id>firewall</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
<vnf-to-level-mapping>
<vnf-profile-id>router</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
</ns-instantiation-level>
</df>
<df>
<id>router-fw-dpi</id>
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>fw2dpi</virtual-link-profile-id>
<cpd-id>inside</cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>mgmt</virtual-link-profile-id>
<cpd-id>management</cpd-id>
</virtual-link-connectivity>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<pnf-profile>
<id>physical-dpi</id>
<pnfd-id>physical-dpi</pnfd-id>
<virtual-link-connectivity>
<virtual-link-profile-id>fw2dpi</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
</virtual-link-connectivity>
</pnf-profile>
<virtual-link-profile>
<id>fw2dpi</id>
<virtual-link-desc-id>fw2dpi</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<ns-instantiation-level>
<id>normal</id>
<description>Router+FW+Physical DPI</description>
<vnf-to-level-mapping>
<vnf-profile-id>firewall</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
<vnf-to-level-mapping>
<vnf-profile-id>router</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
</ns-instantiation-level>
</df>
</nsd>
<nsd>
<id>service-chain-2</id>
<nested-nsd-id>firewall-nsd</nested-nsd-id>
<vnfd-id>CSR</vnfd-id>
<sapd>
<id>inside</id>
<ns>
<nsd-id>firewall-nsd</nsd-id>
<ext-cpd-id>inside</ext-cpd-id>
</ns>
</sapd>
<sapd>
<id>outside</id>
<vnf>
<vnfd-id>CSR</vnfd-id>
<ext-cpd-id>left</ext-cpd-id>
</vnf>
</sapd>
<virtual-link-desc>
<id>r2fw</id>
<version>1.0</version>
<connectivity-type>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:IPv4</layer-protocol>
</connectivity-type>
<df>
<id>r2fw</id>
<qos>
<latency>1000</latency>
<packet-delay-variation>2</packet-delay-variation>
</qos>
</df>
</virtual-link-desc>
<df>
<id>router-fw</id>
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>right</cpd-id>
</virtual-link-connectivity>
</vnf-profile>
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>r2fw</flavor-id>
<max-bitrate-requirements>
<root>500</root>
</max-bitrate-requirements>
<min-bitrate-requirements>
<root>0</root>
</min-bitrate-requirements>
</virtual-link-profile>
<ns-instantiation-level>
<id>normal</id>
<vnf-to-level-mapping>
<vnf-profile-id>router</vnf-profile-id>
<number-of-instances>1</number-of-instances>
</vnf-to-level-mapping>
<virtual-link-to-level-mapping>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<root>10</root>
</virtual-link-to-level-mapping>
</ns-instantiation-level>
<ns-profile>
<id>firewall</id>
<nsd-id>firewall-nsd</nsd-id>
<ns-df-id>firewall</ns-df-id>
<instantiation-level-id>single</instantiation-level-id>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
<virtual-link-connectivity>
<virtual-link-profile-id>r2fw</virtual-link-profile-id>
<cpd-id>outside</cpd-id>
</virtual-link-connectivity>
</ns-profile>
</df>
</nsd>
<pnfd>
<id>physical-dpi</id>
<version>1.0</version>
<ext-cpd>
<id>outside</id>
<layer-protocol xmlns:common="urn:etsi:params:xml:ns:yang:etsi-nfv-common">common:Ethernet</layer-protocol>
</ext-cpd>
</pnfd>
</nfv>
</config>
#!/bin/bash
echo "Testing"
set -e
source /opt/confd/confdrc
cd src
echo "Testing compilation"
CONFD_OPTS="--fail-on-warnings"
CONFD_OPTS=""
confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-common.fxs etsi-nfv-common.yang
confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv.fxs etsi-nfv.yang
echo "Starting ConfD"
confd
echo "Loading Data"
confd_load -l -m nfv.xml
# Don't do this in the actual test, just waste of cycles
# echo "Stopping ConfD"
# confd --stop
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment