From 4c9907ca438c193c8aea93b566b5fd616ceb07f7 Mon Sep 17 00:00:00 2001 From: Yang Yuechun <younggy1997@outlook.com> Date: Wed, 19 Dec 2018 16:01:46 -0600 Subject: [PATCH] minor fix --- server/__pycache__/gns3.cpython-36.pyc | Bin 8240 -> 8148 bytes server/__pycache__/gns3_helper.cpython-36.pyc | Bin 2065 -> 2686 bytes server/gns3.py | 6 +- server/gns3_helper.py | 16 +++ server/property_7200.txt | 40 ++++++ server/server.py | 6 +- server/test1.txt | 121 ++++++++++++++++++ server/test2.txt | 121 ++++++++++++++++++ 8 files changed, 304 insertions(+), 6 deletions(-) create mode 100644 server/property_7200.txt create mode 100644 server/test1.txt create mode 100644 server/test2.txt diff --git a/server/__pycache__/gns3.cpython-36.pyc b/server/__pycache__/gns3.cpython-36.pyc index 60c294e139eb5b633cdd194379ed1346e10c692a..831746fdb16ac66a4887be3ff14d626c4cabec4e 100644 GIT binary patch delta 185 zcmdnsaK)a}n3tF9)NZMm-i@4ZM0lAQAb=G}u};>P5mQfL>Se5DE@8@IPGQbsEMci( zZe}WBtzk-G>1D2EsbL9b&}8*1;+VWpT7-wGNCc?w7E4NEN#bNZDaFaRL~U8wKqgL> z6FbGYX7fw2AB>C}CqI(7%D8><4#{JTdnVUQ9c4T?*;V=k<FUznGUpgiPrfU2mhr;m Y)v^~DuWqi9Tg)iP%E8LP2E=d(0I$(Au>b%7 delta 291 zcmca&zrlgin3tE!e4$j#fsLGRMCzFsAb=G}fv__W7drrn6vh&U8pdWuafTEoafVu^ z62=r}Nro(@8io{>UdCGH66P$H6xJ-J64n~#W~LIh8m1JsUglbs8kQ{fW`<w}O?JO3 z#cHMG{M>@llGOOj6eTMKrJVfa#2h6Z1*N>i+*FW&WR*CWo1c;zUs72B7Aq@AE>^0Y zY%8kF#!;jTbjsvJQ8}g}>B%*sj(i+IJ_Dlw5K1r>nNFT4<2zYQtc-E(=3cQMjEtKm zw@F-O+%Y*u@)+aZ$;whk84pc<DRqMJ_~cE}=NQjSZj?F8cyY47>;=Yan-%01GYYbC KuyTMf90CC6aY{G< diff --git a/server/__pycache__/gns3_helper.cpython-36.pyc b/server/__pycache__/gns3_helper.cpython-36.pyc index 6ef50ba8fbf95320a75d28f08d5124ac9b89bef4..93c158385994ab07c6b047b218cabab279d79d3d 100644 GIT binary patch delta 1422 zcmaJ>&2Ah;5bmDo`PqMav9ksRk!%iOQLs%C2o8_{IUq$qA_JEd(rPl*HtWpJjJkV6 zcA3>47A`0kYdCR4;>v{sHy$95Fc%KI1qYyNCPtPc(XFnksjjZCx~poA*Z$tPbgk8@ z|MvS!Up}of_9r_vER^5JrOolBE1xjnku!9_8oFQ)JrLl0%Z5I<;32Pp4>ja<s6zvJ z1Deo6-h?)EkhfqB){(b?f5ryg<0n6_7wrIo)JQdor;`U#75Rt!BVNnD=U=_-A#8)7 z+ejD}d<|C{XV+5RuN`ZfyAEzBFTZ2Ie$_>BSc?;oqj7wYs2XjR1h2%3^=S%$ks~tD zrNw6clYN<Q<xlM&c#)69CU50avGdMaX&#N^hn1b01ZJGXs!I+_z!yl`Kr#?T{gmOk z{136&I0c;lBhD=^qoF2ix<VZ%U1AGooBLc{M15$}E)F^>aNWVBe?$UoVP_Wbhn6}I zmSGuR@g4)aSLp@npBN4fxGQTRGI3<B*up_>uNY_GE!=GB9Er?b@r9Rp#vut0`_TB$ zS*^!12UzBRXT8XJ>_neAnGdYeL7f1Nd*o#pLT0aQ%wO|U#WBSB#c%pyGD)ZSxMS$w zywH!5Fo^nBF7)GIBKu3!%zNc0<;KiXNk)&-Q1=(=Jb748Rgy|&W}_QdcXzkVV^eT7 z@AP4Y9>yuAf&3PHe}3yZKPNV{p=Xl^Nkran?o_hgQOg7)Q``E{A)5Tf7xVuA$BU=; z2Yz8|qY8mx#f4BZfWir*M9V@PjAJP5NXDuxltx)`A(|LDs8vPM#7h-bDVo_bmBTt7 z3ZhXOsG#5ng(wB_b)sO{&?Zm@3likxVNJ$RiD%2VQ6ZG&dkx*|EhJP>K6ZtVMdjn9 z@@n$yT<zjsNS%u#zwP|;aapYPP~5+_|G6r|vrK#zqZ1}^EJHIwu9HZ9fTuMXGv2fa zql*}7FW++ymv5kU;HWo|sT)MzLQ=ROLrn6s-cWDTMu}#J6Hq<+Jk=d^f-ngSF(;EC zhP$ZLJ`%<^utgB>J(NQ#G#bR|UimBDYfJSiN);Bbu+BJdl_@*9&V97j)Lo3+-bOy? zR5|nxrAY&=G3hg{=y?n4Ff8l<YoP4<>!?!nJ5u!QWzVYJFG$=YLLrt8Pu;EzrTp{w g?@kh!M)DQ~uc_cESI?#;xUl@X-}Re*+pqcVzk7y1Qvd(} delta 786 zcmZ8f%Wl&^6!rKKj~(YJC#sNW1OcMZQlzphAXp(JBv8u&SxAxbH6bFlqZwzxsx06G zqJae!TYdmm{ED~i;SUh^PKso8Mm}dAcka2zGk?QPcYLSS@_&E1^zsEaj9*5rnK*uc zpM=eL|DG8+U_}kE!TDfBE;PVJ=D@*2_P~cGvJU~Ykekqk4srnO#F%zBU%&ODb`0^V zOvNl;XRlHbsblttx$2C)x$K~fPf~3JgW0T$UmJVh6wZ&4dB7SLZU{%6Sho&s97bMV zKssCGuM6SQmIkz7RK4{I;xe64fYcG8`fg3wP*v6^7OBD>u%`NG-##L>s<&L^Z?|zG zi_1lki!LS9f;}4b5vF$K*8)TJ#~w6m!m8s8M>jA~h6rTA$4(}8u(ug!Vpn~3e?HO4 ztjK=$^!T|T&y`u`7cF#>BG1#LoFU6%nI2N&Kqn4Nj*0t}aH7um{B(rNQ%8)E#C3ve z2vq~p1pS}aE~v7tnw4ZA1~jczPbWx|v`{n4;v9}}QPK}JScn!-Zx6=_qZMq#^g`5o z@8)UcB+EjctFf)xh4d{Q@!!xxJSpiO4N81~JZ%Ym9qv3WSFx0pCErPL1$QcQo@}q= zD$WGG6)_~(C72*Q)}`q*HCMU-{UZ3?tbp}0y-!8U9R!ZDx|=q$P44qP54gu0{{XUr Bmumn3 diff --git a/server/gns3.py b/server/gns3.py index 8b8c111..d60d7f8 100644 --- a/server/gns3.py +++ b/server/gns3.py @@ -164,11 +164,10 @@ def links_information(project_id): r = requests.get('{0}/{1}'.format(GNS3_ADDR, url), auth=GNS3_AUTH) return r.json() -def node_create(project_id, name): - para = '{"compute_id": "local", "name": "'+str(name)+'", "node_type": "vpcs"}' +def node_create(project_id, name, para): url = GNS3_URLS['nodes'].format(project_id=project_id) r = requests.post('{0}/{1}'.format(GNS3_ADDR, url), auth=GNS3_AUTH, data=para) - return r.json() + return r def node_delete(project_id, node_id): url = GNS3_URLS['node_instance'].format(project_id=project_id, node_id=node_id) @@ -219,6 +218,7 @@ def node_suspend(project_id, node_id): #Testing +# node_create(project_id, 10 ,0) # print(get_version()) # get_settings() # print(shutdown_server()) diff --git a/server/gns3_helper.py b/server/gns3_helper.py index 3f980d8..534d7be 100644 --- a/server/gns3_helper.py +++ b/server/gns3_helper.py @@ -3,6 +3,7 @@ import getpass import sys import telnetlib import gc +import ast project_id ='83b40958-ede6-4dec-9cff-e11bdf38bbcc' HOST = "127.0.0.1" @@ -47,6 +48,20 @@ def update_links_info(): print('link updated') return links_info +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"}' + if node_type==1: + f = open("property_7200.txt", "r") + para = f.read() + f.close() + word = '"dynamips_id": ' + 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) + def connect_console(PORT, name): tn = telnetlib.Telnet(HOST, PORT) @@ -66,6 +81,7 @@ def close_console(tn): tn.close() print('closed') +#TESTING # tn = connect_console(5000, "R1") # console_command(tn, "R1", "show int sum") # console_command(tn, "R1", "show ip int bri") diff --git a/server/property_7200.txt b/server/property_7200.txt new file mode 100644 index 0000000..04fece0 --- /dev/null +++ b/server/property_7200.txt @@ -0,0 +1,40 @@ +"properties": { + "auto_delete_disks": true, + "aux": null, + "clock_divisor": 4, + "disk0": 0, + "disk1": 0, + "dynamips_id": , + "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" +} \ No newline at end of file diff --git a/server/server.py b/server/server.py index d0a4506..488a013 100644 --- a/server/server.py +++ b/server/server.py @@ -52,11 +52,11 @@ while 1: links_info = gn.update_links_info() data = str(links_info)+str('END') - elif index == '03': + elif index[0:2] == '03': nodes_info = gn.update_nodes_info() + node_type = int(index[2:4]) name = len(nodes_info)+1 - gns3.node_create(project_id, name) - data = str('ok')+str('END') + data = str(gn.create_node(project_id, name, node_type))+str('END') elif index == '04': nodes_info = gn.update_nodes_info() diff --git a/server/test1.txt b/server/test1.txt new file mode 100644 index 0000000..7cde1e1 --- /dev/null +++ b/server/test1.txt @@ -0,0 +1,121 @@ + + "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 diff --git a/server/test2.txt b/server/test2.txt new file mode 100644 index 0000000..d4e9773 --- /dev/null +++ b/server/test2.txt @@ -0,0 +1,121 @@ + + "command_line": null, + "compute_id": "local", + "console": 5000, + "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": "R1", + "x": 22, + "y": -25 + }, + "name": "R1", + "node_directory": "/Users/mac/GNS3/projects/test/project-files/dynamips/8d27cd88-3a96-4a72-8281-0d0f991f4017", + "node_id": "8d27cd88-3a96-4a72-8281-0d0f991f4017", + "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": 1, + "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": -185, + "y": -183, + "z": 0 + \ No newline at end of file -- GitLab