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)
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,
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)
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)
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)
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}',
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))
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)