Esempio n. 1
0
from l3ns.ldc import DockerNode, DockerSubnet
from l3ns.base.network import Network, NetworkConcurrent
from l3ns import defaults

defaults.network = Network('16.0.0.0/8')
dockers = []
nodes = 3
s = DockerSubnet(name='polygon', size=10)
for i in range(nodes):
    node = DockerNode('node' + str(i + 2),
                      image='eth',
                      command='sh -c "distr/setup_account.sh ' + str(i + 2) +
                      '"')
    dockers.append(node)
    s.add_node(node)

for node in dockers:
    print(node.get_ip())

defaults.network.start(interactive=True)
Esempio n. 2
0
defaults.network = Network('15.0.0.0/8')

host1 = SwarmHost('w1', login='******')
host2 = SwarmHost('w3', login='******')

r1 = SwarmNode.make_router('l3ns_router1', host1)
r2 = SwarmNode.make_router('l3ns_router2', host2)

r1.connect_to(r2, subnet_class=SwarmSubnet)

overlay = RipOverlay(r1, r2)

nodes = []

s1 = DockerSubnet(name='polygon1',
                  size=N1 + 10,
                  docker_client=host1.get_docker_client())
s1.add_node(r1)
s2 = DockerSubnet(name='polygon2',
                  size=N1 + 10,
                  docker_client=host2.get_docker_client())
s2.add_node(r2)

for i in range(N1):
    n = SwarmNode('l3ns_node_' + str(i + 1),
                  host1,
                  image='alpine',
                  command='tail -f /dev/null'
                  if not len(nodes) else 'ping {}'.format(nodes[0].get_ip()))
    nodes.append(n)
    s1.add_node(n)
from l3ns.ldc import DockerNode, DockerSubnet
from l3ns import defaults
from l3ns.base.network import Network, NetworkConcurrent
import os

dockers = []
nodes = 4
defaults.network = Network('15.0.0.0/8')

s = DockerSubnet(name='polygon', size=10)

# create network nodes
# node1 = DockerNode('node1', image='env_neo_go_image',
#                         ports={'20333/tcp': 20333, '30333/tcp': 30333, '20001/tcp': 20001},
#                         volumes={os.getcwd()+'/config/protocol.privnet.docker.one.yml':{'bind':'/config/protocol.privnet.docker.yml', 'mode':'ro'}, os.getcwd()+'/config/wallet1.json':{'bind':'/wallet1.json', 'mode':'ro'}}, command='/usr/bin/privnet-entrypoint.sh node --config-path /config --privnet')
# node2 = DockerNode('node2', image='env_neo_go_image',
#                         ports={'20334/tcp': 20334, '30334/tcp': 30334, '20002/tcp': 20002},
#                         volumes={os.getcwd()+'/config/protocol.privnet.docker.two.yml':{'bind':'/config/protocol.privnet.docker.yml', 'mode':'ro'}, os.getcwd()+'/config/wallet2.json':{'bind':'/wallet2.json', 'mode':'ro'}}, command='/usr/bin/privnet-entrypoint.sh node --config-path /config --privnet')
# node3 = DockerNode('node3', image='env_neo_go_image',
#                         ports={'20335/tcp': 20335, '30335/tcp': 30335, '20003/tcp': 20003},
#                         volumes={os.getcwd()+'/config/protocol.privnet.docker.one.yml':{'bind':'/config/protocol.privnet.docker.yml', 'mode':'ro'}, os.getcwd()+'/config/wallet1.json':{'bind':'/wallet3.json', 'mode':'ro'}}, command='/usr/bin/privnet-entrypoint.sh node --config-path /config --privnet')
# node4 = DockerNode('node4', image='env_neo_go_image',
#                         ports={'20336/tcp': 20336, '30336/tcp': 30336, '20004/tcp': 20004},
#                         volumes={os.getcwd()+'/config/protocol.privnet.docker.one.yml':{'bind':'/config/protocol.privnet.docker.yml', 'mode':'ro'}, os.getcwd()+'/config/wallet1.json':{'bind':'/wallet4.json', 'mode':'ro'}}, command='/usr/bin/privnet-entrypoint.sh node --config-path /config --privnet')

node1 = DockerNode(
    'node1',
    image='env_neo_go_image',
    ports={
        '20333/tcp': 20333,
        '30333/tcp': 30333,
Esempio n. 4
0
from l3ns.ldc import DockerNode, DockerSubnet
from l3ns.base.network import Network, NetworkConcurrent
from l3ns import defaults

import sys

if sys.argv[2] == 'c':
    defaults.network = NetworkConcurrent('15.2.0.0/16', max_workers=8)
else:
    defaults.network = Network('15.2.0.0/16')

N = int(sys.argv[1])

s = DockerSubnet(name='polygon', size=N+10)

nodes = [
    DockerNode(
        'l3ns_node_1',
        image='l3ns/kademlia')]

s.add_node(nodes[0])

for i in range(N-1):
    n = DockerNode(
        'l3ns_node_' + str(i + 2),
        image='l3ns/kademlia',
        command=nodes[int(i/10)].get_ip())
    nodes.append(n)
    s.add_node(n)

defaults.network.start(interactive=True)
Esempio n. 5
0
print('Контейнеров на хосте', wanted_lab_size / swarm_size)

input('press any key to start')

routers = []
nodes = []
router_net = SwarmSubnet('l3ns_r_net', size=M)

for m in range(M):
    host = hosts[m % swarm_size]
    router = SwarmNode.make_router(f'l3ns_router{m}', host)
    routers.append(router)
    router_net.add_node(router)

    subnet = DockerSubnet(name=f'l3ns_polygonet_{m}',
                          size=N + 1,
                          docker_client=host.get_docker_client())
    subnet.add_node(router)
    for i in range(N):
        n = SwarmNode(f'l3ns_node_{m}_{i}',
                      host,
                      image='alpine',
                      command='tail -f /dev/null' if not len(nodes) else
                      'ping {}'.format(random.choice(nodes).get_ip()))
        nodes.append(n)
        subnet.add_node(n)

overlay = RipOverlay(routers)

if __name__ == '__main__':
    defaults.network.start(interactive=True)
Esempio n. 6
0
from l3ns.ldc import DockerNode, DockerSubnet
from l3ns import defaults

subnet = DockerSubnet('l3ns_kademlia')

n1 = DockerNode('kademlia1', image='l3ns/kademlia')
subnet.add_node(n1)
n2 = DockerNode('kademlia2', image='l3ns/kademlia', command=n1.get_ip())
subnet.add_node(n2)

defaults.network.start(interactive=True)
Esempio n. 7
0
    defaults.network = NetworkConcurrent('15.0.0.0/16', max_workers=2)
else:
    defaults.network = Network('15.0.0.0/16')

N = int(sys.argv[1])
nodes = []

inteerconnect = 10

m = N // 500 + 1  # количество подсетей

N = N // m  # количество контейнеров в подсети

print(m, N, m * N)
routers = []
router_net = DockerSubnet('router_net', [], size=m * inteerconnect + 10)
lans = []

for i in range(m):
    lan_nodes = []
    lans.append(lan_nodes)

    lan_routers = DockerNode.generate_routers(f'router{i}_', inteerconnect)
    routers += lan_routers
    for r in lan_routers:
        router_net.add_node(r)
    lan_nodes.extend(lan_routers)

    lan_nodes.extend([
        DockerNode(
            f'node_{i}_{j+1}',
Esempio n. 8
0
from l3ns.ldc import DockerNode, DockerSubnet
from l3ns.base.network import Network, NetworkConcurrent
from l3ns import defaults

import sys

if sys.argv[2] == 'c':
    defaults.network = NetworkConcurrent('15.0.0.0/16', max_workers=2)
else:
    defaults.network = Network('15.0.0.0/16')

N = int(sys.argv[1])
nodes = []
N1 = int(N / 2)

s1 = DockerSubnet(name='polygon1', size=N1 + 10)
s2 = DockerSubnet(name='polygon2', size=N1 + 10)

for i in range(N1):
    n = DockerNode(image='alpine',
                   command='tail -f /dev/null'
                   if not len(nodes) else 'ping {}'.format(nodes[-1].get_ip()),
                   name='l3ns_node_' + str(i + 1))
    nodes.append(n)
    s1.add_node(n)

for i in range(N - N1):
    n = DockerNode(image='alpine',
                   command='tail -f /dev/null' if len(nodes) == N1 else
                   'ping {}'.format(nodes[N1].get_ip()),
                   name='l3ns_node_' + str(N1 + i + 1))
Esempio n. 9
0
from l3ns.swarm import SwarmNode, SwarmSubnet, SwarmHost
from l3ns.ldc import DockerSubnet
from l3ns import defaults
from l3ns.base import Network
from l3ns.overlays.rip import RipOverlay

defaults.network = Network('15.0.0.0/8')

host1 = SwarmHost('t2')
host2 = SwarmHost('t3')

routers = SwarmNode.generate_routers('router', 2, host1)
router_net = DockerSubnet('router_net', routers, size=4, docker_client=host1.get_docker_client())
overlay = RipOverlay(routers)

nodes = [
    SwarmNode('node1', host2, image='appropriate/curl', entrypoint='tail -f /dev/null'),
    SwarmNode('node2', host2, image='nginx:alpine')
]


for n, r in zip(nodes, routers):
    n.connect_to(r, subnet_class=SwarmSubnet)


defaults.network.start(interactive=True)