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() Serv = net.addDocker('Serv', ip='10.0.0.200', dimage=image, dcmd="sh ./server.sh") GI = net.addDocker('GI', ip='10.0.0.201', dimage=image, dcmd="sh ./gi.sh") GF1 = net.addDocker('GF1', ip='10.0.0.202', dimage=image, dcmd="sh ./gf1.sh") GF2 = net.addDocker('GF2', ip='10.0.0.203', dimage=image, dcmd="sh ./gf2.sh") GF3 = net.addDocker('GF3', ip='10.0.0.204', dimage=image, dcmd="sh ./gf3.sh") s1 = net.addSwitch('s1') s2 = net.addSwitch('s2') net.addLink(Serv, s1) net.addLink(GI, s1) net.addLink(s1, s2, cls=TCLink, delay='100ms', bw=1) net.addLink(GF1, s2) net.addLink(GF2, s2) net.addLink(GF3, s2) net.addLink(dc1, s2) net.start() net.ping([GF1, GI]) net.ping([GF2, GI]) net.ping([GF3, GI]) net.ping([Serv, GI]) net.CLI() net.stop()
net.addLink(ro.instance, s1) net.addLink(lcm.instance, s1) net.start() api.start() zookeeper.start() kafka.start() mongo.start() nbi.start() ro_db.start() ro.start() lcm.start() vim_id = nbi.register_emulated_api('emu-vim1', api) net.ping([d1, zookeeper.instance]) net.ping([d1, kafka.instance]) net.ping([d1, mongo.instance]) net.ping([d1, nbi.instance]) net.ping([d1, ro.instance]) net.ping([d1, ro_db.instance]) net.ping([d1, lcm.instance]) nbi.onboard_vnfd('vnfs/ping_vnf') nbi.onboard_vnfd('vnfs/pong_vnf') nsd_id = nbi.onboard_nsd('services/pingpong_ns') ns_id = nbi.ns_create('pingpong-test', nsd_id=nsd_id, vim_id=vim_id) nbi.ns_wait_until_all_in_status('running') nbi.ns_delete(ns_id) nbi.ns_wait_until_all_in_status('terminated')
s3 = net.addSwitch('s3') s4 = net.addSwitch('s4') s5 = net.addSwitch('s5') info('*** Creating links\n') net.addLink(srv, s1) net.addLink(gwi, s1) net.addLink(dc1, s1) net.addLink(gwf1, s3) net.addLink(dev1, s3) net.addLink(gwf2, s4) net.addLink(dev2, s4) net.addLink(gwf3, s5) net.addLink(dev3, s5) net.addLink(s1, s2, cls=TCLink, delay='100ms', bw=1) net.addLink(s2, s3, cls=TCLink, delay='100ms', bw=1) net.addLink(s2, s4, cls=TCLink, delay='100ms', bw=1) net.addLink(s2, s5, cls=TCLink, delay='100ms', bw=1) info('*** Starting network\n') net.start() info('*** Testing connectivity\n') net.ping([srv, dev1]) net.ping([srv, dev2]) net.ping([srv, dev3]) info('*** Running CLI\n') CLI(net) info('*** Stopping network') net.stop()
def create_topology(): net = DCNetwork(monitor=False, enable_learning=True) info('*** Adding datacenters\n') dc1 = net.addDatacenter("dc1") dc2 = net.addDatacenter("dc2") # add OpenStack-like APIs to the emulated DC api1 = OpenstackApiEndpoint("0.0.0.0", 6001) api1.connect_datacenter(dc1) api1.connect_datacenter(dc2) 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.connectDatacenter(dc2) rapi1.start() # params SRV_PORT = 8080 info('*** Adding switches\n') sw1 = net.addSwitch('sw1') sw2 = net.addSwitch('sw2') info('*** Adding docker containers\n') server = net.addDocker( 'server', ip='10.100.0.10', dimage="alpine:4", dcmd= "node ./server.js --local_ip '127.0.0.1' --local_port 8080 --local_name 'srv' &" ) GW = net.addDocker('GW', ip='10.100.0.4', dimage="alpine:4") GF1 = net.addDocker('GF1', ip='10.100.0.1', dimage="alpine:4") GF2 = net.addDocker('GF2', ip='10.100.0.2', dimage="alpine:4") GF3 = net.addDocker('GF3', ip='10.100.0.3', dimage="alpine:4") net.addLink(server, sw1) net.addLink(GW, sw1) net.addLink(sw1, sw2) net.addLink(GF1, sw2) net.addLink(GF2, sw2) net.addLink(GF3, sw2) info('*** Starting network\n') net.start() time.sleep(5) # launch gateway GW info("//// Starting GW gateway\n") GW.cmd( "node ./gateway.js --local_ip '127.0.0.1' --local_port 9000 --local_name 'GW' --remote_ip '10.100.0.10' --remote_port 8080 --remote_name 'srv' &" ) info('//// started !\n') time.sleep(5) # launch gateways GFs info("//// Starting GF1 gateway\n") GF1.cmd( "node ./gateway.js --local_ip '127.0.0.1' --local_port 5000 --local_name 'GF1' --remote_ip '10.100.0.4' --remote_port 9000 --remote_name 'GW' &" ) info('//// started !\n') info("//// Starting GF2 gateway\n") GF2.cmd( "node ./gateway.js --local_ip '127.0.0.1' --local_port 5000 --local_name 'GF2' --remote_ip '10.100.0.4' --remote_port 9000 --remote_name 'GW' &" ) info('//// started !\n') info("//// Starting GF3 gateway\n") GF3.cmd( "node ./gateway.js --local_ip '127.0.0.1' --local_port 5000 --local_name 'GF3' --remote_ip '10.100.0.4' --remote_port 9000 --remote_name 'GW' &" ) info('//// started !\n') # launch devices info("//// Starting devices on GF1\n") GF1.cmd( "node ./device.js --local_ip '127.0.0.1' --local_port 5001 --local_name 'device-1' --remote_ip '127.0.0.1' --remote_port 5000 --remote_name 'GF1' --send_period 3 &" ) info('//// started !\n') info('*** Testing connectivity\n') net.ping([GW, GF1]) info('*** Running CLI\n') net.CLI() info('*** Stopping network\n') net.stop()
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() info('*** Adding docker containers\n') srv = net.addDocker('srv', ip='10.0.0.203', dimage="constancegay/projet_sdci:server") time.sleep(5) GI = net.addDocker('GI', ip='10.0.0.202', dimage="constancegay/projet_sdci:gateway", environment={ "loc_ip": "10.0.0.202", "loc_port": "8181", "loc_name": "GI", "rem_ip": "10.0.0.203", "rem_port": "8080", "rem_name": "srv" }) time.sleep(5) mon = net.addDocker('mon', ip='10.0.0.204', dimage="constancegay/projet_sdci:mon") # GFs gf1 = net.addDocker('GF1', ip='10.0.0.201', dimage="constancegay/projet_sdci:gateway", environment={ "loc_ip": "10.0.0.201", "loc_port": "8282", "loc_name": "GF1", "rem_ip": "10.0.0.202", "rem_port": "8181", "rem_name": "GI" }) gf2 = net.addDocker('GF2', ip='10.0.0.208', dimage="constancegay/projet_sdci:gateway", environment={ "loc_ip": "10.0.0.208", "loc_port": "9004", "loc_name": "GF2", "rem_ip": "10.0.0.202", "rem_port": "8181", "rem_name": "GI" }) gf3 = net.addDocker('GF3', ip='10.0.0.212', dimage="constancegay/projet_sdci:gateway", environment={ "loc_ip": "10.0.0.212", "loc_port": "9008", "loc_name": "GF3", "rem_ip": "10.0.0.202", "rem_port": "8181", "rem_name": "GI" }) time.sleep(5) # ZONE 1 devices dev1 = net.addDocker('dev1', ip='10.0.0.205', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.205", "loc_port": "9001", "loc_name": "dev1", "rem_ip": "10.0.0.201", "rem_port": "8282", "rem_name": "GF1" }) dev2 = net.addDocker('dev2', ip='10.0.0.206', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.206", "loc_port": "9002", "loc_name": "dev2", "rem_ip": "10.0.0.201", "rem_port": "8282", "rem_name": "GF1" }) dev3 = net.addDocker('dev3', ip='10.0.0.207', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.207", "loc_port": "9003", "loc_name": "dev3", "rem_ip": "10.0.0.201", "rem_port": "8282", "rem_name": "GF1" }) # ZONE 2 devices dev4 = net.addDocker('dev4', ip='10.0.0.209', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.209", "loc_port": "9005", "loc_name": "dev4", "rem_ip": "10.0.0.208", "rem_port": "9004", "rem_name": "GF2" }) dev5 = net.addDocker('dev5', ip='10.0.0.210', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.210", "loc_port": "9006", "loc_name": "dev5", "rem_ip": "10.0.0.208", "rem_port": "9004", "rem_name": "GF2" }) dev6 = net.addDocker('dev6', ip='10.0.0.211', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.211", "loc_port": "9007", "loc_name": "dev6", "rem_ip": "10.0.0.208", "rem_port": "9004", "rem_name": "GF2" }) # ZONE 3 devices dev7 = net.addDocker('dev7', ip='10.0.0.213', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.213", "loc_port": "9009", "loc_name": "dev7", "rem_ip": "10.0.0.212", "rem_port": "9008", "rem_name": "GF3" }) dev8 = net.addDocker('dev8', ip='10.0.0.214', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.214", "loc_port": "9010", "loc_name": "dev8", "rem_ip": "10.0.0.212", "rem_port": "9008", "rem_name": "GF3" }) dev9 = net.addDocker('dev9', ip='10.0.0.215', dimage="constancegay/projet_sdci:dev", environment={ "loc_ip": "10.0.0.215", "loc_port": "9011", "loc_name": "dev9", "rem_ip": "10.0.0.212", "rem_port": "9008", "rem_name": "GF3" }) info('*** Adding switches\n') s1 = net.addSwitch('s1') s2 = net.addSwitch('s2') s3 = net.addSwitch('s3') s4 = net.addSwitch('s4') s5 = net.addSwitch('s5') info('*** Creating links\n') net.addLink(s1, srv) net.addLink(s1, GI) net.addLink(s1, mon) net.addLink(s2, s1) net.addLink(s2, dc1) net.addLink(s3, s2) net.addLink(s4, s2) net.addLink(s5, s2) # ZONE 1 net.addLink(s3, gf1) net.addLink(s3, dev1) net.addLink(s3, dev2) net.addLink(s3, dev3) # ZONE 2 net.addLink(s4, gf2) net.addLink(s4, dev4) net.addLink(s4, dev5) net.addLink(s4, dev6) # ZONE 3 net.addLink(s5, gf3) net.addLink(s5, dev7) net.addLink(s5, dev8) net.addLink(s5, dev9) info('*** Starting network\n') net.start() info('*** Testing connectivity\n') net.ping([srv, dev1]) info('*** Running CLI\n') CLI(net) info('*** Stopping network') net.stop()