Commit Graph

245 Commits

Author SHA1 Message Date
grossmj
5f932fee9f Tune how to get the size of SVG images. Ref https://github.com/GNS3/gns3-gui/issues/2674.
* Default for missing height/width is "100%" as defined in the SVG specification
* Better error message, if viewBox attribute is missing
* Removal of "%" in percent more fault tolerant by using rstrip("%")

(cherry picked from commit e3757a8955)
2019-01-21 23:49:43 +07:00
grossmj
e3757a8955 Tune how to get the size of SVG images. Ref https://github.com/GNS3/gns3-gui/issues/2674.
* Default for missing height/width is "100%" as defined in the SVG specification
* Better error message, if viewBox attribute is missing
* Removal of "%" in percent more fault tolerant by using rstrip("%")
2019-01-21 16:01:03 +07:00
grossmj
8360ae98b1 Move appliance and template management code in their own classes. 2019-01-14 16:09:06 +07:00
grossmj
a896346c77 Fix issue with notification queue that prevented to properly close projects. Fix #1493 2019-01-12 16:02:36 +07:00
grossmj
f76b329cba Fix ConnectionResetError issues and switch to aiohttp version 3.4.4. Fixes #1474. 2018-12-03 19:14:22 +08:00
grossmj
d7c2e16c21 Use "template" to name what we use to create new nodes. 2018-11-28 16:12:58 +07:00
grossmj
a17fa821bd Make sure nothing is named "compute server". 2018-11-27 18:14:51 +07:00
grossmj
17d070dca7 Early support for symbol themes. 2018-11-23 17:27:10 +07:00
grossmj
bd657c0167 Support to duplicate an appliance. 2018-11-18 17:05:16 +07:00
grossmj
98f04365b7 Remove generic controller settings API endpoint. 2018-11-14 16:24:30 +08:00
grossmj
089fdff4f1 Working dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-13 14:59:18 +08:00
grossmj
f0fe9d39fa Base for dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-11 20:13:58 +08:00
ziajka
41fbbf7a56 Reorder routes in order to get working CORS 2018-11-08 11:47:09 +01:00
ziajka
249b2255f6 Fix CORS response on node deletion, Fixes: #1446 2018-11-06 13:37:03 +01:00
grossmj
2764828f38 Refactor how clients access PCAP capture files. Fixes https://github.com/GNS3/gns3-gui/issues/2438.
* The PCAP file is directly accessed if controller and client are on the same host.
* The PCAP file is streamed from the compute server to the client with the controller as a proxy when the controller is remote for the client.
2018-10-27 14:47:17 +07:00
ziajka
fa5571ced1 FIX PUT CORS for nodes, Fixes: #1434 2018-10-23 11:09:38 +02:00
grossmj
ab8dc52ece Fix tests to work with new version of aiohttp (>= 3.0) 2018-10-17 17:32:10 +07:00
grossmj
86f87aec74 Fix installation with Python 3.7. Fixes #1414.
Fix deprecated use of aiohttp.Timeout. Fixes #1296.
Use "async with" with aiohttp.ClientSession().
Make sure websocket connections are properly closed, see https://docs.aiohttp.org/en/stable/web_advanced.html#graceful-shutdown
Finish to drop Python 3.4.
2018-10-16 15:56:06 +07:00
grossmj
76af98404a Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425 2018-10-15 17:05:49 +07:00
grossmj
22f7ca0243 Return compute port information via API. Ref #1420. 2018-10-05 12:48:20 +02:00
grossmj
9de13c570c Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/builtin/nodes/cloud.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/compute/dynamips/nodes/ethernet_switch.py
#	gns3server/compute/iou/iou_vm.py
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/compute/virtualbox/virtualbox_vm.py
#	gns3server/compute/vmware/vmware_vm.py
#	gns3server/controller/__init__.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2018-10-04 15:44:13 +02:00
grossmj
e4a6db8ebc Fix some typos. 2018-10-04 15:22:42 +02:00
grossmj
17d657c919 Fix small errors like unhandled exceptions etc. 2018-09-11 15:06:01 +02:00
grossmj
ef4db112f1 Fix typo. 2018-08-29 17:27:24 +07:00
grossmj
33e8710495 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/controller/compute.py
#	gns3server/controller/gns3vm/__init__.py
#	gns3server/controller/link.py
#	gns3server/controller/project.py
#	gns3server/handlers/api/controller/project_handler.py
#	gns3server/handlers/api/controller/server_handler.py
#	gns3server/utils/asyncio/__init__.py
#	gns3server/utils/asyncio/telnet_server.py
#	gns3server/version.py
#	gns3server/web/web_server.py
#	tests/compute/qemu/test_qemu_vm.py
2018-08-29 15:57:54 +07:00
grossmj
b7dd8b5176 Catch asyncio.CancelledError when shutting down the server. 2018-08-28 17:10:24 +07:00
grossmj
38b72079b2 Change file timestamps if necessary because ZIP does not support timestamps before 1980. Fixes #1360. 2018-08-25 18:10:40 +07:00
grossmj
f5dc635baa Fix test to support Python 3.7 Ref https://github.com/GNS3/gns3-gui/issues/2566 2018-08-25 15:50:08 +07:00
grossmj
3560cda06c Use asyncio.ensure_future() instead of asyncio.async() with conservative approach to support Python < 3.4.4. Fixes https://github.com/GNS3/gns3-gui/issues/2566 2018-08-24 18:57:18 +07:00
grossmj
b7f9b865c8 Optimize appliance templates update from GitHub repository by only downloading when the repository
has been updated. Ref https://github.com/GNS3/gns3-gui/issues/2490
2018-08-21 16:26:07 +07:00
grossmj
5958a23557 Update appliance templates from online registry. Ref #2490. 2018-08-19 16:02:47 +07:00
grossmj
7f72b90b0e The server has now 2 notification streams
* A new one for controller related events (compute, appliance templates etc.)
* The existing one for project related events (links, nodes etc.)
2018-08-16 21:31:57 +07:00
grossmj
033f005bde Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/version.py
2018-08-07 21:06:42 +07:00
grossmj
0f496907a0 Fix API status code for start/stop/suspend/reload a node. Fixes #1353.
Fix issues with test.
Update documentation.
2018-06-14 16:39:32 +08:00
grossmj
96d5e351f7 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/version.py
#	requirements.txt
2018-06-10 21:19:55 +07:00
grossmj
62f87de23a Add API endpoint to return all links attached to a node. 2018-06-06 20:46:44 +07:00
grossmj
21a1800edc Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/controller/__init__.py
#	gns3server/controller/export_project.py
#	gns3server/controller/import_project.py
#	gns3server/controller/project.py
#	gns3server/version.py
2018-04-28 19:41:12 +07:00
grossmj
305fe2e817 Handle asyncio timeouts. Ref #1307. 2018-04-28 17:42:02 +07:00
grossmj
50a922f83e Offload slow file operations to threads for snapshots and project "save as". Ref #1187 #1307. 2018-04-28 16:01:43 +07:00
grossmj
669d2ec038 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/schemas/node.py
2018-03-30 12:14:09 +07:00
grossmj
d08c08617c Support for source and destination for traceNG. 2018-03-27 16:58:49 +07:00
grossmj
ff7911bd99 Allow to resize a Qemu VM disk (extend only). 2018-03-26 18:05:49 +07:00
grossmj
fb3bcf3b8f Basic project stats. 2018-03-15 15:21:29 +07:00
grossmj
658aa4bae9 Merge 2.1 into 2.2 branch 2018-03-12 13:38:50 +07:00
grossmj
c93d0d8d12 Make sure we don't try to read when opening a file in binary more. Fixes #1301. 2018-03-07 16:39:04 +07:00
ziajka
eeae07e783 Conservative approach to supported versions of Python 3.4 and asyncio.ensure_future, Ref. #1269 2018-01-29 12:13:20 +01:00
ziajka
d9a0ec9ff3 Replace asyncio.async with ensure_future because of deprecation, Fixes: #1269 2018-01-24 11:11:53 +01:00
grossmj
6fee543ce7 Fix more client/server version tests. 2018-01-18 16:14:09 +08:00
Bernhard Ehlers
8907b3d58a GNS3-API: implement GET for specific drawing and link
Fixes #1249
2018-01-05 13:44:46 +01:00
Jeremy Grossmann
a80355998d
Merge pull request #1230 from GNS3/consitance-about-exc
Keep consistance of aiohttp.web.HTTPForbidden() execution
2017-11-23 23:02:42 +07:00
grossmj
e54d574e47 Fix auto idle-pc from preferences. 2017-11-23 23:00:31 +07:00
ziajka
fe60c414b9 Keep consistance of aiohttp.web.HTTPForbidden() execution 2017-11-23 16:28:10 +01:00
ziajka
022d76e88a Warning for getting endpoint of compute 2017-10-30 11:26:57 +01:00
ziajka
b654d78ea6 Endpoint for obtaining direct action on compute 2017-10-13 11:03:56 +02:00
Dominik Ziajka
be35ad6874 Fixes path normalization during file upload on nodes (Fixes: #2276) 2017-10-03 18:13:19 +02:00
Julien Duponchelle
e74eaa8ea8
Add a warning when you try to load and the server is not started with --local
Ref #1151
2017-08-02 09:52:31 +02:00
Julien Duponchelle
fc6b6b5e63
Fix race condition in startup of capture
Fix https://github.com/GNS3/gns3-gui/issues/2111
2017-07-27 15:32:46 +02:00
Julien Duponchelle
108a659ca4
Fix bug when exporting debug information with multiple remote servers
Fix #1100
2017-07-27 11:59:20 +02:00
Julien Duponchelle
92c9e48f18
This fix the images always included in portable project
Also add test to avoid regressions on this.

Fix https://github.com/GNS3/gns3-gui/issues/2165
2017-07-26 16:46:29 +02:00
Julien Duponchelle
0854c04687
API for duplication a Node
Support:
* VPCS
* Dynamips router
* Ethernet switch

Ref #1065
2017-07-24 10:08:22 +02:00
Julien Duponchelle
0449a5b4ee
Cleanup 2017-07-20 17:04:50 +02:00
Julien Duponchelle
5fd842e54d
Suspend link 2017-07-19 17:30:25 +02:00
Jeremy Grossmann
339ed8ab57 Merge pull request #1106 from GNS3/idlepc_apicall
Implement an api call for computing the IDLE PC
2017-07-10 11:33:16 +07:00
Julien Duponchelle
3eadbb9adb
Implement an api call for computing the IDLE PC
Fix https://github.com/GNS3/gns3-gui/pull/2153
2017-07-07 17:50:40 +02:00
Julien Duponchelle
08423eff96
Support packet filtering for VPCS
https://github.com/GNS3/gns3-gui/issues/765
2017-07-04 15:12:26 +02:00
Julien Duponchelle
a8e8eac0b4
Merge remote-tracking branch 'origin/master' into 2.1 2017-06-21 15:13:04 +02:00
ziajka
ea9f0e52c8 Fixes #2108 (gns3-gui): getting project file with leading slashes issue (#1078) 2017-06-21 10:26:36 +02:00
Julien Duponchelle
93adef91d8
Merge branch '2.0' into 2.1 2017-05-31 16:58:31 +02:00
Julien Duponchelle
7044c8c9ff
Fix the GUI disconnect from the server
Fix https://github.com/GNS3/gns3-gui/issues/2084
2017-05-31 11:03:44 +02:00
Julien Duponchelle
39879ca92b
Duplicate project on remote server use UUID
Ref https://github.com/GNS3/gns3-server/issues/1040
2017-05-23 17:20:51 +02:00
Julien Duponchelle
a4245fcf44
Aiohttp 2.0
Ref #1000
2017-05-17 18:42:17 +02:00
Julien Duponchelle
273a711459
Merge branch '2.0' into 2.1 2017-04-26 17:22:14 +02:00
Julien Duponchelle
d9b93ccd66
Fix an issue with editing network on windows
Fix  #982
2017-04-18 18:04:00 +02:00
Julien Duponchelle
9dc6f0f486 Embed the appliances in the server. (#927)
This add a /appliances call
2017-04-12 14:35:49 +02:00
Julien Duponchelle
4f1b738ef5
Merge branch '2.0' into 2.1 2017-03-30 10:16:16 +02:00
Julien Duponchelle
8712866489
Fix Can't connect to compute local on some computers
Chicken and egg problem we try to connect to compute
before http was available. I rewrote the code to prevent
erase of settings and rollback the beta4 code for init.

Fix #946
2017-03-21 18:06:45 +01:00
Julien Duponchelle
1d5029e4e2
Catch a permission error on symbols
Fix #930
2017-03-13 17:50:39 +01:00
Julien Duponchelle
5a399b90fe
Merge branch '2.1' into embed_appliances 2017-02-28 14:55:33 +01:00
Julien Duponchelle
7e1e63cd09
Catch error when we can't save the settings
Fix #921
2017-02-28 14:31:52 +01:00
Julien Duponchelle
2a840da462
Create an ApplianceTemplate class 2017-02-08 15:40:56 +01:00
Julien Duponchelle
8d86d959de
"/appliances" => "/appliances/templates" 2017-02-08 14:51:00 +01:00
Julien Duponchelle
96194cef67
Fix import/export of dynamips configuration 2017-02-03 14:44:32 +01:00
Julien Duponchelle
dc6756d5ae
Embed the appliances in the server.
This add a /appliances call
2017-02-01 11:30:14 +01:00
Julien Duponchelle
d99ec92210
Fix a rare race condition when exporting debug informations
Fix #880
2017-01-27 10:48:07 +01:00
Julien Duponchelle
688122c467
Fix RuntimeError: File size has increased during compressing
Fix #858
2017-01-09 10:20:14 +01:00
Julien Duponchelle
1b6411f88e
Fix an error on Linux during export
Fix #826
2016-12-14 18:44:32 +01:00
Julien Duponchelle
1cf987a548
Fix a rare crash when writing a file on a remote server
Fix #829
2016-12-13 09:25:44 +01:00
Julien Duponchelle
b3d83b1b0b
Catch error when no space left on disk during export
Fix #801
2016-11-28 12:53:50 +01:00
Julien Duponchelle
794dac31f5
UDP tunnel debuging
Fix #1562
2016-11-25 15:11:31 +01:00
Julien Duponchelle
40af2a35e0
Wait for the end of project loading before making new change
Fix #790
2016-11-18 17:35:28 +01:00
Julien Duponchelle
8ad5670eeb
For security reason debug informations can only be exported from local server
Ref #1562
2016-11-18 16:38:27 +01:00
Julien Duponchelle
e996b825c6
Fix you can not pass auto close at project creation 2016-11-14 16:10:19 +01:00
Julien Duponchelle
a8b78a9b0a
Fix traceback when sending invalid parameters to the server
Fix #783
2016-11-14 14:00:11 +01:00
Julien Duponchelle
ce5ff93242
Catch FileNotFound error for builtin symbols if erase them from disk
Fix #752
2016-11-02 12:07:25 +01:00
Julien Duponchelle
59dcdcc141
When exporting debug information export GNS3 VM vmx content
Fix #740
2016-10-25 11:56:24 +02:00
Julien Duponchelle
4815904737
/debug for exporting debug informations
Ref #740, https://github.com/GNS3/gns3-gui/issues/1562
2016-10-25 11:40:57 +02:00
Julien Duponchelle
99bdf37ec3
Prevent connect a node to himself
Fix https://github.com/GNS3/gns3-gui/issues/1553
2016-10-03 12:31:01 +02:00
Julien Duponchelle
77eae35778
API method for getting a node 2016-09-20 10:14:30 +02:00
Julien Duponchelle
3ce3f925ae
Fix creation of link when reloading a project
Fix https://github.com/GNS3/gns3-gui/issues/1457
2016-09-02 14:39:38 +02:00
Julien Duponchelle
6a259c7e06
Fix streaming of pcap file 2016-09-02 10:54:20 +02:00