Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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()