diff --git a/server/__pycache__/gns3_helper.cpython-36.pyc b/server/__pycache__/gns3_helper.cpython-36.pyc index 93c158385994ab07c6b047b218cabab279d79d3d..3291e1e78452d67dc7c72a048cfd8c47e04efab6 100644 Binary files a/server/__pycache__/gns3_helper.cpython-36.pyc and b/server/__pycache__/gns3_helper.cpython-36.pyc differ diff --git a/server/gns3_helper.py b/server/gns3_helper.py index 534d7be66b918a862ca93ababc2df4f5b73034c6..e72bd06ce3e67f766f1f85be5b9c2d7b26991957 100644 --- a/server/gns3_helper.py +++ b/server/gns3_helper.py @@ -7,6 +7,7 @@ import ast project_id ='83b40958-ede6-4dec-9cff-e11bdf38bbcc' HOST = "127.0.0.1" +dym_path = '/Users/mac/GNS3/projects/test/project-files/dynamips/' def ports_info(node): ports_info = {} @@ -52,6 +53,7 @@ def create_node(project_id, name, node_type): final_para = None if node_type==0: final_para = '{"compute_id": "local", "name": "'+str(name)+'", "node_type": "vpcs"}' + data = gns3.node_create(project_id, name, final_para) if node_type==1: f = open("property_7200.txt", "r") para = f.read() @@ -60,7 +62,16 @@ def create_node(project_id, name, node_type): start_index = para.find(word) end_index = start_index + len(word) final_para = '{"compute_id": "local", "name": "'+'R'+str(name)+'", "node_type": "dynamips", "symbol": ":/symbols/router.svg", '+para[:end_index]+str(name)+para[end_index:]+'}' - return gns3.node_create(project_id, name, final_para) + data = gns3.node_create(project_id, name, final_para) + nodes_info = update_nodes_info() + node_id = nodes_info[-1].get('node_id') + f = open('startup_config.cfg', 'r') + config_data = f.read() + f.close() + f = open(dym_path+str(node_id)+'/configs/i'+str(name)+'_startup-config.cfg', 'w') + f.write(config_data) + f.close() + return data def connect_console(PORT, name): tn = telnetlib.Telnet(HOST, PORT) diff --git a/server/server.py b/server/server.py index 488a0130a0d04f81b0c3f5f0af35b10fdea7a0d8..02c6cd06e2af941cb41da46e469e10986dd9ebb2 100644 --- a/server/server.py +++ b/server/server.py @@ -39,6 +39,7 @@ while 1: elif index == '01': nodes_info = gn.update_nodes_info() + print(nodes_info) data = [] for node in nodes_info: temp = [] diff --git a/server/startup_config.cfg b/server/startup_config.cfg new file mode 100644 index 0000000000000000000000000000000000000000..307128e084a6e5f00500884ae46012fc2da93ad1 --- /dev/null +++ b/server/startup_config.cfg @@ -0,0 +1,30 @@ +! +! +! +! +! +service timestamps debug datetime msec +service timestamps log datetime msec +no service password-encryption +! +hostname R2 +! +ip cef +no ip domain-lookup +no ip icmp rate-limit unreachable +ip tcp synwait 5 +no cdp log mismatch duplex +! +line con 0 + exec-timeout 0 0 + logging synchronous + privilege level 15 + no login +line aux 0 + exec-timeout 0 0 + logging synchronous + privilege level 15 + no login +! +! +end diff --git a/server/test1.py b/server/test1.py new file mode 100644 index 0000000000000000000000000000000000000000..3b127ab3b35191d11e66313027639fc63290de00 --- /dev/null +++ b/server/test1.py @@ -0,0 +1,5 @@ +dym_path = '/Users/mac/GNS3/projects/test/project-files/dynamips/' + +f = open(dym_path+'53508cfa-9ce2-4425-b889-9f822d041cf7/configs/i1_startup-config.cfg', 'r') +data = f.read() +print(data) \ No newline at end of file diff --git a/server/test1.txt b/server/test1.txt deleted file mode 100644 index 7cde1e138d79bfe3f77c20070eeb0a9bf5e538a4..0000000000000000000000000000000000000000 --- a/server/test1.txt +++ /dev/null @@ -1,121 +0,0 @@ - - "command_line": null, - "compute_id": "local", - "console": 5002, - "console_host": "127.0.0.1", - "console_type": "telnet", - "first_port_name": null, - "height": 45, - "label": { - "rotation": 0, - "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", - "text": "3", - "x": 25, - "y": -25 - }, - "name": "3", - "node_directory": "/Users/mac/GNS3/projects/test/project-files/dynamips/9649ec23-0187-4ca5-af05-5a8f87e40c35", - "node_id": "9649ec23-0187-4ca5-af05-5a8f87e40c35", - "node_type": "dynamips", - "port_name_format": "Ethernet{0}", - "port_segment_size": 0, - "ports": [ - { - "adapter_number": 0, - "data_link_types": { - "Ethernet": "DLT_EN10MB" - }, - "link_type": "ethernet", - "name": "FastEthernet0/0", - "port_number": 0, - "short_name": "f0/0" - }, - { - "adapter_number": 1, - "data_link_types": { - "ATM": "DLT_ATM_RFC1483" - }, - "link_type": "serial", - "name": "ATM1/0", - "port_number": 0, - "short_name": "a1/0" - }, - { - "adapter_number": 2, - "data_link_types": { - "Ethernet": "DLT_EN10MB" - }, - "link_type": "ethernet", - "name": "FastEthernet2/0", - "port_number": 0, - "short_name": "f2/0" - }, - { - "adapter_number": 3, - "data_link_types": { - "Ethernet": "DLT_EN10MB" - }, - "link_type": "ethernet", - "name": "FastEthernet3/0", - "port_number": 0, - "short_name": "f3/0" - }, - { - "adapter_number": 3, - "data_link_types": { - "Ethernet": "DLT_EN10MB" - }, - "link_type": "ethernet", - "name": "FastEthernet3/1", - "port_number": 1, - "short_name": "f3/1" - } - ], - "project_id": "83b40958-ede6-4dec-9cff-e11bdf38bbcc", - "properties": { - "auto_delete_disks": true, - "aux": null, - "clock_divisor": 4, - "disk0": 0, - "disk1": 0, - "dynamips_id": 3, - "exec_area": 64, - "idlemax": 500, - "idlepc": "0x606384b0", - "idlesleep": 30, - "image": "c7200-adventerprisek9-mz.150-1.M.image", - "image_md5sum": "e45960476d55bba653bbe63a9b85c492", - "mac_addr": "ca01.72e9.0000", - "midplane": "vxr", - "mmap": true, - "npe": "npe-400", - "nvram": 512, - "platform": "c7200", - "power_supplies": [ - 1, - 1 - ], - "ram": 512, - "sensors": [ - 22, - 22, - 22, - 22 - ], - "slot0": "C7200-IO-FE", - "slot1": "PA-A1", - "slot2": "PA-FE-TX", - "slot3": "PA-2FE-TX", - "slot4": null, - "slot5": null, - "slot6": null, - "sparsemem": true, - "system_id": "FTX0945W0MY" - }, - "status": "started", - "symbol": ":/symbols/router.svg", - "width": 66, - "x": 0, - "y": 0, - "z": 0 - \ No newline at end of file