From 66b47f78691d803056948ac35804f8df779574a6 Mon Sep 17 00:00:00 2001 From: Abdel-Kader Chabi-Sika-Boni Date: Sat, 30 Jan 2021 04:39:40 +0100 Subject: [PATCH] mise a jour --- topologie/SYSTEM.drawio | 2 +- topology.py | 152 ---------------------------------------- 2 files changed, 1 insertion(+), 153 deletions(-) delete mode 100644 topology.py diff --git a/topologie/SYSTEM.drawio b/topologie/SYSTEM.drawio index dc63189..c2503ad 100644 --- a/topologie/SYSTEM.drawio +++ b/topologie/SYSTEM.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/topology.py b/topology.py deleted file mode 100644 index 144afc2..0000000 --- a/topology.py +++ /dev/null @@ -1,152 +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 -import time - -TOPOS = {'mytopo':(lambda:create_topology())} - -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,autoSetMacs=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() - - s1 = net.addSwitch('s1') - s2 = net.addSwitch('s2') - s3 = net.addSwitch('s3') - s4 = net.addSwitch('s4') - - srv = net.addDocker('srv', ip='192.168.0.1', dimage="server:latest") - gwi = net.addDocker('gwi', ip='192.168.0.254', dimage="gateway:latest") - - #First cluster - gwf1 = net.addDocker('gwf1', ip='192.168.0.252', dimage="gwf1:latest") - device11 = net.addDocker('device11', ip='127.0.0.1', dimage="device1:latest") - device12 = net.addDocker('device12', ip='127.0.0.1', dimage="device1:latest") - device13 = net.addDocker('device13', ip='127.0.0.1', dimage="device1:latest") - - #Second cluster - gwf2 = net.addDocker('gwf2', ip='192.168.0.251', dimage="gwf2:latest") - device21 = net.addDocker('device21', ip='127.0.0.1', dimage="device2:latest") - device22 = net.addDocker('device22', ip='127.0.0.1', dimage="device2:latest") - device23 = net.addDocker('device23', ip='127.0.0.1', dimage="device2:latest") - - #Third cluster - gwf3 = net.addDocker('gwf3', ip='192.168.0.250', dimage="gwf3:latest") - device31 = net.addDocker('device31', ip='127.0.0.1', dimage="device3:latest") - device32 = net.addDocker('device32', ip='127.0.0.1', dimage="device3:latest") - device33 = net.addDocker('device33', ip='127.0.0.1', dimage="device3:latest") - - #Switch links - net.addLink(s1, s2) - net.addLink(s2, s3) - net.addLink(s2, s4) - net.addLink(s4,dc1) - net.addLink(s1, srv) - net.addLink(s2, gwi) - - #First cluster link - net.addLink(s3, gwf1) - net.addLink(gwf1,device11) - net.addLink(gwf1,device12) - net.addLink(gwf1,device13) - - #Second cluster link - net.addLink(s3, gwf2) - net.addLink(gwf2,device21) - net.addLink(gwf2,device22) - net.addLink(gwf2,device23) - - #Third cluster link - net.addLink(s4, gwf3) - net.addLink(gwf3,device31) - net.addLink(gwf3,device32) - net.addLink(gwf3,device33) - - - net.start() - srv.cmd("node srv/server.js --local_ip '192.168.0.1' --local_port 8080 --local_name 'srv'") - time.sleep(2) - - gwi.cmd("node ***/gateway.js --local_ip '192.168.0.254' --local_port 8181 --local_name 'gwi1' --remote_ip '192.168.0.1' --remote_port 8080 --remote_name 'srv'") - time.sleep(2) - - gwf1.cmd("node ***/gateway.js --local_ip '192.168.0.252' --local_port 8282 --local_name 'gwf1' --remote_ip '192.168.0.254' --remote_port 8181 --remote_name 'gwi1'") - time.sleep(2) - device11.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device11' --remote_ip '192.168.0.252' --remote_port 8282 --remote_name 'gwf1' --send_period 3000") - device12.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device12' --remote_ip '192.168.0.252' --remote_port 8282 --remote_name 'gwf1' --send_period 3000") - device13.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device13' --remote_ip '192.168.0.252' --remote_port 8282 --remote_name 'gwf1' --send_period 3000") - - gwf2.cmd("node ***/gateway.js --local_ip '192.168.0.251' --local_port 8282 --local_name 'gwf2' --remote_ip '192.168.0.254' --remote_port 8181 --remote_name 'gwi1'") - time.sleep(2) - device21.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device21' --remote_ip '192.168.0.251' --remote_port 8282 --remote_name 'gwf2' --send_period 3000") - device22.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device22' --remote_ip '192.168.0.251' --remote_port 8282 --remote_name 'gwf2' --send_period 3000") - device23.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device23' --remote_ip '192.168.0.251' --remote_port 8282 --remote_name 'gwf2' --send_period 3000") - - gwf3.cmd("node ***/gateway.js --local_ip '192.168.0.250' --local_port 8282 --local_name 'gwf3' --remote_ip '192.168.0.254' --remote_port 8181 --remote_name 'gwi1'") - time.sleep(2) - device31.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device31' --remote_ip '192.168.0.250' --remote_port 8282 --remote_name 'gwf3' --send_period 3000") - device32.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device32' --remote_ip '192.168.0.250' --remote_port 8282 --remote_name 'gwf3' --send_period 3000") - device33.cmd("node ***/device.js --local_ip '*******' --local_port 9001 --local_name 'device33' --remote_ip '192.168.0.250' --remote_port 8282 --remote_name 'gwf3' --send_period 3000") - - net.CLI() - # when the user types exit in the CLI, we stop the emulator - net.stop() - - -def main(): - create_topology() - - -if __name__ == '__main__': - main()