Moved examples folder to project root. 56/6156/2 v4.0.1
authorpeusterm <manuel.peuster@uni-paderborn.de>
Wed, 16 May 2018 14:37:02 +0000 (16:37 +0200)
committerpeusterm <manuel.peuster@uni-paderborn.de>
Wed, 16 May 2018 14:47:38 +0000 (16:47 +0200)
Change-Id: I1ba8b7e753f0e1454555ecff18914bb977d224dd
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
43 files changed:
examples [deleted symlink]
examples/default_single_dc_topology.py [new file with mode: 0644]
examples/openstack_single_dc.py [new file with mode: 0644]
examples/osm_default_daemon_topology_2_pop.py [new file with mode: 0644]
examples/services/hackfest_1_nsd.tar.gz [new file with mode: 0644]
examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml [new file with mode: 0644]
examples/services/hackfest_1_nsd/icons/osm.png [new file with mode: 0644]
examples/services/hackfest_2_nsd.tar.gz [new file with mode: 0644]
examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml [new file with mode: 0755]
examples/services/hackfest_2_nsd/icons/osm.png [new file with mode: 0644]
examples/services/pingpong_ns/pingpong_nsd.yaml [new file with mode: 0644]
examples/services/pingpong_nsd.tar.gz [new file with mode: 0644]
examples/vnfs/hackfest_1_vnfd.tar.gz [new file with mode: 0644]
examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml [new file with mode: 0644]
examples/vnfs/hackfest_1_vnfd/icons/osm.png [new file with mode: 0644]
examples/vnfs/hackfest_2_vnfd.tar.gz [new file with mode: 0644]
examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml [new file with mode: 0644]
examples/vnfs/hackfest_2_vnfd/icons/osm.png [new file with mode: 0644]
examples/vnfs/ping.tar.gz [new file with mode: 0644]
examples/vnfs/ping_vnf/ping_vnfd.yaml [new file with mode: 0644]
examples/vnfs/pong.tar.gz [new file with mode: 0644]
examples/vnfs/pong_vnf/pong_vnfd.yaml [new file with mode: 0644]
src/emuvim/examples/default_single_dc_topology.py [deleted file]
src/emuvim/examples/openstack_single_dc.py [deleted file]
src/emuvim/examples/osm_default_daemon_topology_2_pop.py [deleted file]
src/emuvim/examples/services/hackfest_1_nsd.tar.gz [deleted file]
src/emuvim/examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml [deleted file]
src/emuvim/examples/services/hackfest_1_nsd/icons/osm.png [deleted file]
src/emuvim/examples/services/hackfest_2_nsd.tar.gz [deleted file]
src/emuvim/examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml [deleted file]
src/emuvim/examples/services/hackfest_2_nsd/icons/osm.png [deleted file]
src/emuvim/examples/services/pingpong_ns/pingpong_nsd.yaml [deleted file]
src/emuvim/examples/services/pingpong_nsd.tar.gz [deleted file]
src/emuvim/examples/vnfs/hackfest_1_vnfd.tar.gz [deleted file]
src/emuvim/examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml [deleted file]
src/emuvim/examples/vnfs/hackfest_1_vnfd/icons/osm.png [deleted file]
src/emuvim/examples/vnfs/hackfest_2_vnfd.tar.gz [deleted file]
src/emuvim/examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml [deleted file]
src/emuvim/examples/vnfs/hackfest_2_vnfd/icons/osm.png [deleted file]
src/emuvim/examples/vnfs/ping.tar.gz [deleted file]
src/emuvim/examples/vnfs/ping_vnf/ping_vnfd.yaml [deleted file]
src/emuvim/examples/vnfs/pong.tar.gz [deleted file]
src/emuvim/examples/vnfs/pong_vnf/pong_vnfd.yaml [deleted file]

diff --git a/examples b/examples
deleted file mode 120000 (symlink)
index 0253dc6..0000000
--- a/examples
+++ /dev/null
@@ -1 +0,0 @@
-src/emuvim/examples
\ No newline at end of file
diff --git a/examples/default_single_dc_topology.py b/examples/default_single_dc_topology.py
new file mode 100644 (file)
index 0000000..6ae0ae2
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright (c) 2015 SONATA-NFV and Paderborn University
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the SONATA-NFV, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# This work has been performed in the framework of the SONATA project,
+# funded by the European Commission under Grant number 671517 through
+# the Horizon 2020 and 5G-PPP programmes. The authors would like to
+# acknowledge the contributions of their colleagues of the SONATA
+# partner consortium (www.sonata-nfv.eu).
+import logging
+from mininet.log import setLogLevel
+from emuvim.dcemulator.net import DCNetwork
+from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
+from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
+
+logging.basicConfig(level=logging.INFO)
+setLogLevel('info')  # set Mininet loglevel
+logging.getLogger('werkzeug').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
+
+
+def create_topology():
+    net = DCNetwork(monitor=False, enable_learning=True)
+
+    dc1 = net.addDatacenter("dc1")
+    # add OpenStack-like APIs to the emulated DC
+    api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
+    api1.connect_datacenter(dc1)
+    api1.start()
+    api1.connect_dc_network(net)
+    # add the command line interface endpoint to the emulated DC (REST API)
+    rapi1 = RestApiEndpoint("0.0.0.0", 5001)
+    rapi1.connectDCNetwork(net)
+    rapi1.connectDatacenter(dc1)
+    rapi1.start()
+
+    net.start()
+    net.CLI()
+    # when the user types exit in the CLI, we stop the emulator
+    net.stop()
+
+
+def main():
+    create_topology()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/examples/openstack_single_dc.py b/examples/openstack_single_dc.py
new file mode 100644 (file)
index 0000000..7070cda
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright (c) 2015 SONATA-NFV and Paderborn University
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the SONATA-NFV, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# This work has been performed in the framework of the SONATA project,
+# funded by the European Commission under Grant number 671517 through
+# the Horizon 2020 and 5G-PPP programmes. The authors would like to
+# acknowledge the contributions of their colleagues of the SONATA
+# partner consortium (www.sonata-nfv.eu).
+import logging
+from mininet.log import setLogLevel
+from emuvim.dcemulator.net import DCNetwork
+from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
+from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
+
+logging.basicConfig(level=logging.INFO)
+setLogLevel('info')  # set Mininet loglevel
+logging.getLogger('werkzeug').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
+
+
+def create_topology():
+    net = DCNetwork(monitor=False, enable_learning=False)
+
+    dc1 = net.addDatacenter("dc1")
+    # add OpenStack-like APIs to the emulated DC
+    api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
+    api1.connect_datacenter(dc1)
+    api1.start()
+    api1.connect_dc_network(net)
+    # add the command line interface endpoint to the emulated DC (REST API)
+    rapi1 = RestApiEndpoint("0.0.0.0", 5001)
+    rapi1.connectDCNetwork(net)
+    rapi1.connectDatacenter(dc1)
+    rapi1.start()
+
+    net.start()
+    net.CLI()
+    # when the user types exit in the CLI, we stop the emulator
+    net.stop()
+
+
+def main():
+    create_topology()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/examples/osm_default_daemon_topology_2_pop.py b/examples/osm_default_daemon_topology_2_pop.py
new file mode 100644 (file)
index 0000000..164ecb4
--- /dev/null
@@ -0,0 +1,111 @@
+# Copyright (c) 2015 SONATA-NFV and Paderborn University
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the SONATA-NFV, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# This work has been performed in the framework of the SONATA project,
+# funded by the European Commission under Grant number 671517 through
+# the Horizon 2020 and 5G-PPP programmes. The authors would like to
+# acknowledge the contributions of their colleagues of the SONATA
+# partner consortium (www.sonata-nfv.eu).
+import logging
+import time
+import signal
+from mininet.log import setLogLevel
+from emuvim.dcemulator.net import DCNetwork
+from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
+from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
+from mininet.link import TCLink
+
+logging.basicConfig(level=logging.INFO)
+setLogLevel('info')  # set Mininet loglevel
+logging.getLogger('werkzeug').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
+logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
+
+
+class DaemonTopology(object):
+    """
+    Topology with two datacenters:
+
+        dc1 <-- 50ms --> dc2
+    """
+
+    def __init__(self):
+        self.running = True
+        signal.signal(signal.SIGINT, self._stop_by_signal)
+        signal.signal(signal.SIGTERM, self._stop_by_signal)
+        # create and start topology
+        self.create_topology()
+        self.start_topology()
+        self.daemonize()
+        self.stop_topology()
+
+    def create_topology(self):
+        self.net = DCNetwork(monitor=False, enable_learning=True)
+        self.dc1 = self.net.addDatacenter("dc1")
+        self.dc2 = self.net.addDatacenter("dc2")
+        self.net.addLink(self.dc1, self.dc2, cls=TCLink, delay="50ms")
+        # add OpenStack-like APIs to the emulated DC
+        self.api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
+        self.api1.connect_datacenter(self.dc1)
+        self.api1.connect_dc_network(self.net)
+        self.api2 = OpenstackApiEndpoint("0.0.0.0", 6002)
+        self.api2.connect_datacenter(self.dc2)
+        self.api2.connect_dc_network(self.net)
+        # add the command line interface endpoint to the emulated DC (REST API)
+        self.rapi1 = RestApiEndpoint("0.0.0.0", 5001)
+        self.rapi1.connectDCNetwork(self.net)
+        self.rapi1.connectDatacenter(self.dc1)
+        self.rapi1.connectDatacenter(self.dc2)
+
+    def start_topology(self):
+        self.api1.start()
+        self.api2.start()
+        self.rapi1.start()
+        self.net.start()
+
+    def daemonize(self):
+        print("Daemonizing vim-emu. Send SIGTERM or SIGKILL to stop.")
+        while self.running:
+            time.sleep(1)
+
+    def _stop_by_signal(self, signum, frame):
+        print("Received SIGNAL {}. Stopping.".format(signum))
+        self.running = False
+
+    def stop_topology(self):
+        self.api1.stop()
+        self.api2.stop()
+        self.rapi1.stop()
+        self.net.stop()
+
+
+def main():
+    DaemonTopology()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/examples/services/hackfest_1_nsd.tar.gz b/examples/services/hackfest_1_nsd.tar.gz
new file mode 100644 (file)
index 0000000..ca13889
Binary files /dev/null and b/examples/services/hackfest_1_nsd.tar.gz differ
diff --git a/examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml b/examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml
new file mode 100644 (file)
index 0000000..457475f
--- /dev/null
@@ -0,0 +1,44 @@
+---
+# Copyright (c) 2018 by Paderborn University
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the OSM, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+nsd:nsd-catalog:
+    nsd:
+    -   id: hackfest1-ns
+        name: hackfest1-ns
+        short-name: hackfest1-ns
+        description: Simple NS with a single VNF and a single VL
+        version: '1.0'
+        logo: osm.png
+        constituent-vnfd:
+        -   vnfd-id-ref: hackfest1-vnf
+            member-vnf-index: '1'
+        vld:
+        -   id: mgmtnet
+            name: mgmtnet
+            short-name: mgmtnet
+            type: ELAN
+            mgmt-network: 'true'
+            vnfd-connection-point-ref:
+            -   vnfd-id-ref: hackfest1-vnf
+                member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: vnf-cp0
+
diff --git a/examples/services/hackfest_1_nsd/icons/osm.png b/examples/services/hackfest_1_nsd/icons/osm.png
new file mode 100644 (file)
index 0000000..62012d2
Binary files /dev/null and b/examples/services/hackfest_1_nsd/icons/osm.png differ
diff --git a/examples/services/hackfest_2_nsd.tar.gz b/examples/services/hackfest_2_nsd.tar.gz
new file mode 100644 (file)
index 0000000..9170de9
Binary files /dev/null and b/examples/services/hackfest_2_nsd.tar.gz differ
diff --git a/examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml b/examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml
new file mode 100755 (executable)
index 0000000..868dc53
--- /dev/null
@@ -0,0 +1,61 @@
+---
+# Copyright (c) 2018 by Paderborn University
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the OSM, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+nsd:nsd-catalog:
+    nsd:
+    -   id: hackfest2-ns
+        name: hackfest2-ns
+        short-name: hackfest2-ns
+        description: NS with 2 VNFs connected by datanet and mgmtnet VLs
+        version: '1.0'
+        logo: osm.png
+        constituent-vnfd:
+        -   vnfd-id-ref: hackfest2-vnf
+            member-vnf-index: '1'
+        -   vnfd-id-ref: hackfest2-vnf
+            member-vnf-index: '2'
+        vld:
+        -   id: mgmtnet
+            name: mgmtnet
+            short-name: mgmtnet
+            type: ELAN
+            mgmt-network: 'true'
+            vim-network-name: mgmt
+            vnfd-connection-point-ref:
+            -   vnfd-id-ref: hackfest2-vnf
+                member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: vnf-mgmt
+            -   vnfd-id-ref: hackfest2-vnf
+                member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: vnf-mgmt
+        -   id: datanet
+            name: datanet
+            short-name: datanet
+            type: ELAN
+            vnfd-connection-point-ref:
+            -   vnfd-id-ref: hackfest2-vnf
+                member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: vnf-data
+            -   vnfd-id-ref: hackfest2-vnf
+                member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: vnf-data
+
diff --git a/examples/services/hackfest_2_nsd/icons/osm.png b/examples/services/hackfest_2_nsd/icons/osm.png
new file mode 100644 (file)
index 0000000..62012d2
Binary files /dev/null and b/examples/services/hackfest_2_nsd/icons/osm.png differ
diff --git a/examples/services/pingpong_ns/pingpong_nsd.yaml b/examples/services/pingpong_ns/pingpong_nsd.yaml
new file mode 100644 (file)
index 0000000..79ed457
--- /dev/null
@@ -0,0 +1,98 @@
+---
+# Copyright (c) 2018 by Paderborn University and Manuel Peuster
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+nsd-catalog:
+    nsd:
+    -   id: pingpong
+        name: pingpong
+        short-name: pingpong
+        description: Ping-pong example nentwork scenario with two VNFs.
+        vendor: "Paderborn University"
+        version: '1.1'
+
+        # Place the logo as png in icons directory and provide the name here
+        # logo: <update, optional>
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: '1'
+            vnfd-id-ref: ping
+        -   member-vnf-index: '2'
+            vnfd-id-ref: pong
+
+        vld:
+        -   id: mgmt_vl
+            description: Management VL
+            name: mgmt_vl
+            short-name: mgmt_vl
+            vim-network-name: default  # important for emulator!
+            type: ELAN
+            vendor: "Paderborn University"
+            version: '1.0'
+            mgmt-network: 'true'
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: ping/cp0
+                vnfd-id-ref: ping
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: pong/cp0
+                vnfd-id-ref: pong
+        #vld:
+        # Networks for the VNFs
+        #    -   id: demo_nsd_vld0
+        #        name: management
+        #        short-name: management
+        #        type: ELAN
+        #        mgmt-network: 'true'
+        #        # vim-network-name: <update>
+        #        # provider-network:
+        #        #     overlay-type: VLAN
+        #        #     segmentation_id: <update>
+        #        vnfd-connection-point-ref:
+        #        # Specify the constituent VNFs
+        #        # member-vnf-index-ref - entry from constituent vnf
+        #        # vnfd-id-ref - VNFD id
+        #        # vnfd-connection-point-ref - connection point name in the VNFD
+        #        -   nsd:member-vnf-index-ref: 1
+        #            nsd:vnfd-id-ref: http_vnfd
+        #            # NOTE: Validate the entry below
+        #            nsd:vnfd-connection-point-ref: eth0
+        #    -   id: http_nsd_vld1
+        #        name: http_nsd_vld1
+        #        short-name: http_nsd_vld1
+        #        type: ELAN
+        #        # vim-network-name: <update>
+        #        # provider-network:
+        #        #     overlay-type: VLAN
+        #        #     segmentation_id: <update>
+        #        vnfd-connection-point-ref:
+        #        # Specify the constituent VNFs
+        #        # member-vnf-index-ref - entry from constituent vnf
+        #        # vnfd-id-ref - VNFD id
+        #        # vnfd-connection-point-ref - connection point name in the VNFD
+        #        -   nsd:member-vnf-index-ref: 1
+        #            nsd:vnfd-id-ref: http_vnfd
+        #            # NOTE: Validate the entry below
+        #            nsd:vnfd-connection-point-ref: eth1
diff --git a/examples/services/pingpong_nsd.tar.gz b/examples/services/pingpong_nsd.tar.gz
new file mode 100644 (file)
index 0000000..e5d9202
Binary files /dev/null and b/examples/services/pingpong_nsd.tar.gz differ
diff --git a/examples/vnfs/hackfest_1_vnfd.tar.gz b/examples/vnfs/hackfest_1_vnfd.tar.gz
new file mode 100644 (file)
index 0000000..622634e
Binary files /dev/null and b/examples/vnfs/hackfest_1_vnfd.tar.gz differ
diff --git a/examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml b/examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml
new file mode 100644 (file)
index 0000000..98db0dc
--- /dev/null
@@ -0,0 +1,51 @@
+---
+# Copyright (c) 2018 by Paderborn University
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the OSM, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: hackfest1-vnf
+        name: hackfest1-vnf
+        short-name: hackfest1-vnf
+        version: '1.0'
+        description: A simple VNF descriptor w/ one VDU
+        logo: osm.png
+        connection-point:
+        -   name: vnf-cp0
+            type: VPORT
+        vdu:
+        -   id: hackfest1VM
+            name: hackfest1VM
+            image: "ubuntu:trusty"
+            count: '1'
+            vm-flavor:
+                vcpu-count: '1'
+                memory-mb: '1024'
+                storage-gb: '10'
+            interface:
+            -   name: vdu-eth0
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: vnf-cp0
+        mgmt-interface:
+            cp: vnf-cp0
+
diff --git a/examples/vnfs/hackfest_1_vnfd/icons/osm.png b/examples/vnfs/hackfest_1_vnfd/icons/osm.png
new file mode 100644 (file)
index 0000000..62012d2
Binary files /dev/null and b/examples/vnfs/hackfest_1_vnfd/icons/osm.png differ
diff --git a/examples/vnfs/hackfest_2_vnfd.tar.gz b/examples/vnfs/hackfest_2_vnfd.tar.gz
new file mode 100644 (file)
index 0000000..c4d5037
Binary files /dev/null and b/examples/vnfs/hackfest_2_vnfd.tar.gz differ
diff --git a/examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml b/examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml
new file mode 100644 (file)
index 0000000..fe4d08b
--- /dev/null
@@ -0,0 +1,103 @@
+---
+# Copyright (c) 2018 by Paderborn University
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the OSM, Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: hackfest2-vnf
+        name: hackfest2-vnf
+        short-name: hackfest2-vnf
+        version: '1.0'
+        description: A VNF consisting of 2 VDUs connected to an internal VL
+        logo: osm.png
+        connection-point:
+        -   id: vnf-mgmt
+            name: vnf-mgmt
+            short-name: vnf-mgmt
+            type: VPORT
+        -   id: vnf-data
+            name: vnf-data
+            short-name: vnf-data
+            type: VPORT
+        mgmt-interface:
+            cp: vnf-mgmt
+        internal-vld:
+        -   id: internal
+            name: internal
+            short-name: internal
+            type: ELAN
+            internal-connection-point:
+            -   id-ref: mgmtVM-internal
+            -   id-ref: dataVM-internal
+        vdu:
+        -   id: mgmtVM
+            name: mgmtVM
+            image: "ubuntu:trusty"
+            count: '1'
+            vm-flavor:
+                vcpu-count: '1'
+                memory-mb: '1024'
+                storage-gb: '10'
+            interface:
+            -   name: mgmtVM-eth0
+                position: '1'
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: vnf-mgmt
+            -   name: mgmtVM-eth1
+                position: '2'
+                type: INTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                internal-connection-point-ref: mgmtVM-internal
+            internal-connection-point:
+            -   id: mgmtVM-internal
+                name: mgmtVM-internal
+                short-name: mgmtVM-internal
+                type: VPORT
+        -   id: dataVM
+            name: dataVM
+            image: "ubuntu:trusty"
+            count: '1'
+            vm-flavor:
+                vcpu-count: '1'
+                memory-mb: '1024'
+                storage-gb: '10'
+            interface:
+            -   name: dataVM-eth0
+                position: '1'
+                type: INTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                internal-connection-point-ref: dataVM-internal
+            -   name: dataVM-xe0
+                position: '2'
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: vnf-data
+            internal-connection-point:
+            -   id: dataVM-internal
+                name: dataVM-internal
+                short-name: dataVM-internal
+                type: VPORT
+
diff --git a/examples/vnfs/hackfest_2_vnfd/icons/osm.png b/examples/vnfs/hackfest_2_vnfd/icons/osm.png
new file mode 100644 (file)
index 0000000..62012d2
Binary files /dev/null and b/examples/vnfs/hackfest_2_vnfd/icons/osm.png differ
diff --git a/examples/vnfs/ping.tar.gz b/examples/vnfs/ping.tar.gz
new file mode 100644 (file)
index 0000000..c19270b
Binary files /dev/null and b/examples/vnfs/ping.tar.gz differ
diff --git a/examples/vnfs/ping_vnf/ping_vnfd.yaml b/examples/vnfs/ping_vnf/ping_vnfd.yaml
new file mode 100644 (file)
index 0000000..e114f3e
--- /dev/null
@@ -0,0 +1,77 @@
+---
+# Copyright (c) 2018 by Paderborn University and Manuel Peuster
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+vnfd-catalog:
+    vnfd:
+    -   id: ping
+        name: ping
+        short-name: ping
+        description: "Empty example container VNF"
+        vendor: "Paderborn University"
+        version: '1.1'
+
+        # Place the logo as png in icons directory and provide the name here
+        # logo: sonata.png
+        connection-point:
+            -   name: ping/cp0
+                type: VPORT
+            -   name: ping/cp1
+                type: VPORT
+        # Management interface
+        mgmt-interface:
+            cp: ping/cp0
+
+        # Atleast one VDU need to be specified
+        vdu:
+        # Additional VDUs can be created by copying the
+        # VDU descriptor below
+        -   id: ubuntu
+            name: ubuntu
+            description: "Ubuntu Trusty default Docker container"
+            count: "1"
+
+            # Flavour of the VM to be instantiated for the VDU
+            vm-flavor:
+                vcpu-count: 1
+                memory-mb: 512
+                storage-gb: 10
+
+            # Image including the full path
+            image: "ubuntu:trusty"
+            #image: cirros034
+            interface:
+            -   name: ping0
+                position: 0
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: ping/cp0
+            -   name: ping1
+                position: 1
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: ping/cp1
+
+        
+
+
diff --git a/examples/vnfs/pong.tar.gz b/examples/vnfs/pong.tar.gz
new file mode 100644 (file)
index 0000000..085c00a
Binary files /dev/null and b/examples/vnfs/pong.tar.gz differ
diff --git a/examples/vnfs/pong_vnf/pong_vnfd.yaml b/examples/vnfs/pong_vnf/pong_vnfd.yaml
new file mode 100644 (file)
index 0000000..3e80700
--- /dev/null
@@ -0,0 +1,77 @@
+---
+# Copyright (c) 2018 by Paderborn University and Manuel Peuster
+# (manuel@peuster.de)
+# ALL RIGHTS RESERVED.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Neither the name of the Paderborn University
+# nor the names of its contributors may be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+
+vnfd-catalog:
+    vnfd:
+    -   id: pong
+        name: pong
+        short-name: pong
+        description: Empty Container VNF
+        vendor: "Paderborn University"
+        version: '1.1'
+
+        # Place the logo as png in icons directory and provide the name here
+        # logo: sonata.png
+        connection-point:
+            -   name: pong/cp0
+                type: VPORT
+            -   name: pong/cp1
+                type: VPORT
+        # Management interface
+        mgmt-interface:
+            cp: pong/cp0
+
+        # Atleast one VDU need to be specified
+        vdu:
+        # Additional VDUs can be created by copying the
+        # VDU descriptor below
+        -   id: ubuntu
+            name: ubuntu
+            description: "Ubuntu Trusty default Docker container"
+            count: "1"
+
+            # Flavour of the VM to be instantiated for the VDU
+            vm-flavor:
+                vcpu-count: 1
+                memory-mb: 512
+                storage-gb: 10
+
+            # Image including the full path
+            image: "ubuntu:trusty"
+            #image: cirros034
+            interface:
+            -   name: pong0  # attention, no two VNFs should have same if names in emulator
+                position: 0
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: pong/cp0
+            -   name: pong1
+                position: 1
+                type: EXTERNAL
+                virtual-interface:
+                    type: VIRTIO
+                external-connection-point-ref: pong/cp1
+
+        
+
+
diff --git a/src/emuvim/examples/default_single_dc_topology.py b/src/emuvim/examples/default_single_dc_topology.py
deleted file mode 100644 (file)
index 6ae0ae2..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2015 SONATA-NFV and Paderborn University
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the SONATA-NFV, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# This work has been performed in the framework of the SONATA project,
-# funded by the European Commission under Grant number 671517 through
-# the Horizon 2020 and 5G-PPP programmes. The authors would like to
-# acknowledge the contributions of their colleagues of the SONATA
-# partner consortium (www.sonata-nfv.eu).
-import logging
-from mininet.log import setLogLevel
-from emuvim.dcemulator.net import DCNetwork
-from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
-from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
-
-logging.basicConfig(level=logging.INFO)
-setLogLevel('info')  # set Mininet loglevel
-logging.getLogger('werkzeug').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
-
-
-def create_topology():
-    net = DCNetwork(monitor=False, enable_learning=True)
-
-    dc1 = net.addDatacenter("dc1")
-    # add OpenStack-like APIs to the emulated DC
-    api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
-    api1.connect_datacenter(dc1)
-    api1.start()
-    api1.connect_dc_network(net)
-    # add the command line interface endpoint to the emulated DC (REST API)
-    rapi1 = RestApiEndpoint("0.0.0.0", 5001)
-    rapi1.connectDCNetwork(net)
-    rapi1.connectDatacenter(dc1)
-    rapi1.start()
-
-    net.start()
-    net.CLI()
-    # when the user types exit in the CLI, we stop the emulator
-    net.stop()
-
-
-def main():
-    create_topology()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/src/emuvim/examples/openstack_single_dc.py b/src/emuvim/examples/openstack_single_dc.py
deleted file mode 100644 (file)
index 7070cda..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2015 SONATA-NFV and Paderborn University
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the SONATA-NFV, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# This work has been performed in the framework of the SONATA project,
-# funded by the European Commission under Grant number 671517 through
-# the Horizon 2020 and 5G-PPP programmes. The authors would like to
-# acknowledge the contributions of their colleagues of the SONATA
-# partner consortium (www.sonata-nfv.eu).
-import logging
-from mininet.log import setLogLevel
-from emuvim.dcemulator.net import DCNetwork
-from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
-from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
-
-logging.basicConfig(level=logging.INFO)
-setLogLevel('info')  # set Mininet loglevel
-logging.getLogger('werkzeug').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
-
-
-def create_topology():
-    net = DCNetwork(monitor=False, enable_learning=False)
-
-    dc1 = net.addDatacenter("dc1")
-    # add OpenStack-like APIs to the emulated DC
-    api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
-    api1.connect_datacenter(dc1)
-    api1.start()
-    api1.connect_dc_network(net)
-    # add the command line interface endpoint to the emulated DC (REST API)
-    rapi1 = RestApiEndpoint("0.0.0.0", 5001)
-    rapi1.connectDCNetwork(net)
-    rapi1.connectDatacenter(dc1)
-    rapi1.start()
-
-    net.start()
-    net.CLI()
-    # when the user types exit in the CLI, we stop the emulator
-    net.stop()
-
-
-def main():
-    create_topology()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/src/emuvim/examples/osm_default_daemon_topology_2_pop.py b/src/emuvim/examples/osm_default_daemon_topology_2_pop.py
deleted file mode 100644 (file)
index 164ecb4..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright (c) 2015 SONATA-NFV and Paderborn University
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the SONATA-NFV, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# This work has been performed in the framework of the SONATA project,
-# funded by the European Commission under Grant number 671517 through
-# the Horizon 2020 and 5G-PPP programmes. The authors would like to
-# acknowledge the contributions of their colleagues of the SONATA
-# partner consortium (www.sonata-nfv.eu).
-import logging
-import time
-import signal
-from mininet.log import setLogLevel
-from emuvim.dcemulator.net import DCNetwork
-from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint
-from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint
-from mininet.link import TCLink
-
-logging.basicConfig(level=logging.INFO)
-setLogLevel('info')  # set Mininet loglevel
-logging.getLogger('werkzeug').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.base').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG)
-logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG)
-
-
-class DaemonTopology(object):
-    """
-    Topology with two datacenters:
-
-        dc1 <-- 50ms --> dc2
-    """
-
-    def __init__(self):
-        self.running = True
-        signal.signal(signal.SIGINT, self._stop_by_signal)
-        signal.signal(signal.SIGTERM, self._stop_by_signal)
-        # create and start topology
-        self.create_topology()
-        self.start_topology()
-        self.daemonize()
-        self.stop_topology()
-
-    def create_topology(self):
-        self.net = DCNetwork(monitor=False, enable_learning=True)
-        self.dc1 = self.net.addDatacenter("dc1")
-        self.dc2 = self.net.addDatacenter("dc2")
-        self.net.addLink(self.dc1, self.dc2, cls=TCLink, delay="50ms")
-        # add OpenStack-like APIs to the emulated DC
-        self.api1 = OpenstackApiEndpoint("0.0.0.0", 6001)
-        self.api1.connect_datacenter(self.dc1)
-        self.api1.connect_dc_network(self.net)
-        self.api2 = OpenstackApiEndpoint("0.0.0.0", 6002)
-        self.api2.connect_datacenter(self.dc2)
-        self.api2.connect_dc_network(self.net)
-        # add the command line interface endpoint to the emulated DC (REST API)
-        self.rapi1 = RestApiEndpoint("0.0.0.0", 5001)
-        self.rapi1.connectDCNetwork(self.net)
-        self.rapi1.connectDatacenter(self.dc1)
-        self.rapi1.connectDatacenter(self.dc2)
-
-    def start_topology(self):
-        self.api1.start()
-        self.api2.start()
-        self.rapi1.start()
-        self.net.start()
-
-    def daemonize(self):
-        print("Daemonizing vim-emu. Send SIGTERM or SIGKILL to stop.")
-        while self.running:
-            time.sleep(1)
-
-    def _stop_by_signal(self, signum, frame):
-        print("Received SIGNAL {}. Stopping.".format(signum))
-        self.running = False
-
-    def stop_topology(self):
-        self.api1.stop()
-        self.api2.stop()
-        self.rapi1.stop()
-        self.net.stop()
-
-
-def main():
-    DaemonTopology()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/src/emuvim/examples/services/hackfest_1_nsd.tar.gz b/src/emuvim/examples/services/hackfest_1_nsd.tar.gz
deleted file mode 100644 (file)
index ca13889..0000000
Binary files a/src/emuvim/examples/services/hackfest_1_nsd.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml b/src/emuvim/examples/services/hackfest_1_nsd/hackfest_1_nsd.yaml
deleted file mode 100644 (file)
index 457475f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the OSM, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-nsd:nsd-catalog:
-    nsd:
-    -   id: hackfest1-ns
-        name: hackfest1-ns
-        short-name: hackfest1-ns
-        description: Simple NS with a single VNF and a single VL
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest1-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest1-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-cp0
-
diff --git a/src/emuvim/examples/services/hackfest_1_nsd/icons/osm.png b/src/emuvim/examples/services/hackfest_1_nsd/icons/osm.png
deleted file mode 100644 (file)
index 62012d2..0000000
Binary files a/src/emuvim/examples/services/hackfest_1_nsd/icons/osm.png and /dev/null differ
diff --git a/src/emuvim/examples/services/hackfest_2_nsd.tar.gz b/src/emuvim/examples/services/hackfest_2_nsd.tar.gz
deleted file mode 100644 (file)
index 9170de9..0000000
Binary files a/src/emuvim/examples/services/hackfest_2_nsd.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml b/src/emuvim/examples/services/hackfest_2_nsd/hackfest_2_nsd.yaml
deleted file mode 100755 (executable)
index 868dc53..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the OSM, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-nsd:nsd-catalog:
-    nsd:
-    -   id: hackfest2-ns
-        name: hackfest2-ns
-        short-name: hackfest2-ns
-        description: NS with 2 VNFs connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest2-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest2-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest2-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest2-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest2-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest2-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
diff --git a/src/emuvim/examples/services/hackfest_2_nsd/icons/osm.png b/src/emuvim/examples/services/hackfest_2_nsd/icons/osm.png
deleted file mode 100644 (file)
index 62012d2..0000000
Binary files a/src/emuvim/examples/services/hackfest_2_nsd/icons/osm.png and /dev/null differ
diff --git a/src/emuvim/examples/services/pingpong_ns/pingpong_nsd.yaml b/src/emuvim/examples/services/pingpong_ns/pingpong_nsd.yaml
deleted file mode 100644 (file)
index 79ed457..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University and Manuel Peuster
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-nsd-catalog:
-    nsd:
-    -   id: pingpong
-        name: pingpong
-        short-name: pingpong
-        description: Ping-pong example nentwork scenario with two VNFs.
-        vendor: "Paderborn University"
-        version: '1.1'
-
-        # Place the logo as png in icons directory and provide the name here
-        # logo: <update, optional>
-
-        # Specify the VNFDs that are part of this NSD
-        constituent-vnfd:
-            # The member-vnf-index needs to be unique, starting from 1
-            # vnfd-id-ref is the id of the VNFD
-            # Multiple constituent VNFDs can be specified
-        -   member-vnf-index: '1'
-            vnfd-id-ref: ping
-        -   member-vnf-index: '2'
-            vnfd-id-ref: pong
-
-        vld:
-        -   id: mgmt_vl
-            description: Management VL
-            name: mgmt_vl
-            short-name: mgmt_vl
-            vim-network-name: default  # important for emulator!
-            type: ELAN
-            vendor: "Paderborn University"
-            version: '1.0'
-            mgmt-network: 'true'
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: ping/cp0
-                vnfd-id-ref: ping
-            -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: pong/cp0
-                vnfd-id-ref: pong
-        #vld:
-        # Networks for the VNFs
-        #    -   id: demo_nsd_vld0
-        #        name: management
-        #        short-name: management
-        #        type: ELAN
-        #        mgmt-network: 'true'
-        #        # vim-network-name: <update>
-        #        # provider-network:
-        #        #     overlay-type: VLAN
-        #        #     segmentation_id: <update>
-        #        vnfd-connection-point-ref:
-        #        # Specify the constituent VNFs
-        #        # member-vnf-index-ref - entry from constituent vnf
-        #        # vnfd-id-ref - VNFD id
-        #        # vnfd-connection-point-ref - connection point name in the VNFD
-        #        -   nsd:member-vnf-index-ref: 1
-        #            nsd:vnfd-id-ref: http_vnfd
-        #            # NOTE: Validate the entry below
-        #            nsd:vnfd-connection-point-ref: eth0
-        #    -   id: http_nsd_vld1
-        #        name: http_nsd_vld1
-        #        short-name: http_nsd_vld1
-        #        type: ELAN
-        #        # vim-network-name: <update>
-        #        # provider-network:
-        #        #     overlay-type: VLAN
-        #        #     segmentation_id: <update>
-        #        vnfd-connection-point-ref:
-        #        # Specify the constituent VNFs
-        #        # member-vnf-index-ref - entry from constituent vnf
-        #        # vnfd-id-ref - VNFD id
-        #        # vnfd-connection-point-ref - connection point name in the VNFD
-        #        -   nsd:member-vnf-index-ref: 1
-        #            nsd:vnfd-id-ref: http_vnfd
-        #            # NOTE: Validate the entry below
-        #            nsd:vnfd-connection-point-ref: eth1
diff --git a/src/emuvim/examples/services/pingpong_nsd.tar.gz b/src/emuvim/examples/services/pingpong_nsd.tar.gz
deleted file mode 100644 (file)
index e5d9202..0000000
Binary files a/src/emuvim/examples/services/pingpong_nsd.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/hackfest_1_vnfd.tar.gz b/src/emuvim/examples/vnfs/hackfest_1_vnfd.tar.gz
deleted file mode 100644 (file)
index 622634e..0000000
Binary files a/src/emuvim/examples/vnfs/hackfest_1_vnfd.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml b/src/emuvim/examples/vnfs/hackfest_1_vnfd/hackfest_1_vnfd.yaml
deleted file mode 100644 (file)
index 98db0dc..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the OSM, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: hackfest1-vnf
-        name: hackfest1-vnf
-        short-name: hackfest1-vnf
-        version: '1.0'
-        description: A simple VNF descriptor w/ one VDU
-        logo: osm.png
-        connection-point:
-        -   name: vnf-cp0
-            type: VPORT
-        vdu:
-        -   id: hackfest1VM
-            name: hackfest1VM
-            image: "ubuntu:trusty"
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: vdu-eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-cp0
-        mgmt-interface:
-            cp: vnf-cp0
-
diff --git a/src/emuvim/examples/vnfs/hackfest_1_vnfd/icons/osm.png b/src/emuvim/examples/vnfs/hackfest_1_vnfd/icons/osm.png
deleted file mode 100644 (file)
index 62012d2..0000000
Binary files a/src/emuvim/examples/vnfs/hackfest_1_vnfd/icons/osm.png and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/hackfest_2_vnfd.tar.gz b/src/emuvim/examples/vnfs/hackfest_2_vnfd.tar.gz
deleted file mode 100644 (file)
index c4d5037..0000000
Binary files a/src/emuvim/examples/vnfs/hackfest_2_vnfd.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml b/src/emuvim/examples/vnfs/hackfest_2_vnfd/hackfest_2_vnfd.yaml
deleted file mode 100644 (file)
index fe4d08b..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the OSM, Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: hackfest2-vnf
-        name: hackfest2-vnf
-        short-name: hackfest2-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs connected to an internal VL
-        logo: osm.png
-        connection-point:
-        -   id: vnf-mgmt
-            name: vnf-mgmt
-            short-name: vnf-mgmt
-            type: VPORT
-        -   id: vnf-data
-            name: vnf-data
-            short-name: vnf-data
-            type: VPORT
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            short-name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: mgmtVM-internal
-            -   id-ref: dataVM-internal
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: "ubuntu:trusty"
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: mgmtVM-eth0
-                position: '1'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-mgmt
-            -   name: mgmtVM-eth1
-                position: '2'
-                type: INTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                internal-connection-point-ref: mgmtVM-internal
-            internal-connection-point:
-            -   id: mgmtVM-internal
-                name: mgmtVM-internal
-                short-name: mgmtVM-internal
-                type: VPORT
-        -   id: dataVM
-            name: dataVM
-            image: "ubuntu:trusty"
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: dataVM-eth0
-                position: '1'
-                type: INTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                internal-connection-point-ref: dataVM-internal
-            -   name: dataVM-xe0
-                position: '2'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-data
-            internal-connection-point:
-            -   id: dataVM-internal
-                name: dataVM-internal
-                short-name: dataVM-internal
-                type: VPORT
-
diff --git a/src/emuvim/examples/vnfs/hackfest_2_vnfd/icons/osm.png b/src/emuvim/examples/vnfs/hackfest_2_vnfd/icons/osm.png
deleted file mode 100644 (file)
index 62012d2..0000000
Binary files a/src/emuvim/examples/vnfs/hackfest_2_vnfd/icons/osm.png and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/ping.tar.gz b/src/emuvim/examples/vnfs/ping.tar.gz
deleted file mode 100644 (file)
index c19270b..0000000
Binary files a/src/emuvim/examples/vnfs/ping.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/ping_vnf/ping_vnfd.yaml b/src/emuvim/examples/vnfs/ping_vnf/ping_vnfd.yaml
deleted file mode 100644 (file)
index e114f3e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University and Manuel Peuster
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-vnfd-catalog:
-    vnfd:
-    -   id: ping
-        name: ping
-        short-name: ping
-        description: "Empty example container VNF"
-        vendor: "Paderborn University"
-        version: '1.1'
-
-        # Place the logo as png in icons directory and provide the name here
-        # logo: sonata.png
-        connection-point:
-            -   name: ping/cp0
-                type: VPORT
-            -   name: ping/cp1
-                type: VPORT
-        # Management interface
-        mgmt-interface:
-            cp: ping/cp0
-
-        # Atleast one VDU need to be specified
-        vdu:
-        # Additional VDUs can be created by copying the
-        # VDU descriptor below
-        -   id: ubuntu
-            name: ubuntu
-            description: "Ubuntu Trusty default Docker container"
-            count: "1"
-
-            # Flavour of the VM to be instantiated for the VDU
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 512
-                storage-gb: 10
-
-            # Image including the full path
-            image: "ubuntu:trusty"
-            #image: cirros034
-            interface:
-            -   name: ping0
-                position: 0
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: ping/cp0
-            -   name: ping1
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: ping/cp1
-
-        
-
-
diff --git a/src/emuvim/examples/vnfs/pong.tar.gz b/src/emuvim/examples/vnfs/pong.tar.gz
deleted file mode 100644 (file)
index 085c00a..0000000
Binary files a/src/emuvim/examples/vnfs/pong.tar.gz and /dev/null differ
diff --git a/src/emuvim/examples/vnfs/pong_vnf/pong_vnfd.yaml b/src/emuvim/examples/vnfs/pong_vnf/pong_vnfd.yaml
deleted file mode 100644 (file)
index 3e80700..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
----
-# Copyright (c) 2018 by Paderborn University and Manuel Peuster
-# (manuel@peuster.de)
-# ALL RIGHTS RESERVED.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Neither the name of the Paderborn University
-# nor the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-
-vnfd-catalog:
-    vnfd:
-    -   id: pong
-        name: pong
-        short-name: pong
-        description: Empty Container VNF
-        vendor: "Paderborn University"
-        version: '1.1'
-
-        # Place the logo as png in icons directory and provide the name here
-        # logo: sonata.png
-        connection-point:
-            -   name: pong/cp0
-                type: VPORT
-            -   name: pong/cp1
-                type: VPORT
-        # Management interface
-        mgmt-interface:
-            cp: pong/cp0
-
-        # Atleast one VDU need to be specified
-        vdu:
-        # Additional VDUs can be created by copying the
-        # VDU descriptor below
-        -   id: ubuntu
-            name: ubuntu
-            description: "Ubuntu Trusty default Docker container"
-            count: "1"
-
-            # Flavour of the VM to be instantiated for the VDU
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 512
-                storage-gb: 10
-
-            # Image including the full path
-            image: "ubuntu:trusty"
-            #image: cirros034
-            interface:
-            -   name: pong0  # attention, no two VNFs should have same if names in emulator
-                position: 0
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: pong/cp0
-            -   name: pong1
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: pong/cp1
-
-        
-
-