Commit Graph

515 Commits

Author SHA1 Message Date
grossmj
5e9810d420 Prevent deleting a GNS3 project outside the project directory. Ref #1669 2019-10-30 16:25:06 +08:00
grossmj
b7af2e4d5c Refresh mounted media after ISO switch. 2019-06-12 14:23:03 +02:00
grossmj
40d7ae6866 Support to include snapshots in portable projects. 2019-05-22 14:35:37 +07:00
Karim
0c19bc8d43 Support for additional persistent docker volumes to be specified within appliance configuration 2019-04-22 10:26:41 +01:00
grossmj
e962717448 Fix bug when GNS3 VM were not saved. Fix tests. 2019-04-14 17:42:20 +07:00
grossmj
6dc58b28fd Some adjustments with compute WebSocket handling. Ref https://github.com/GNS3/gns3-server/issues/1564 2019-04-14 16:48:12 +07:00
grossmj
2af9c9c8ec Prevent locked nodes to be deleted. Fixes https://github.com/GNS3/gns3-gui/issues/2764 2019-04-10 15:43:51 +07:00
grossmj
2bb1b61526 Fix traceback when starting packet capture on builtin nodes. Fixes https://github.com/GNS3/gns3-gui/issues/2743 2019-03-25 16:57:36 +08:00
grossmj
03401a477e Fix issue when images are not uploaded from appliance wizard. Ref https://github.com/GNS3/gns3-gui/issues/2738 2019-03-18 15:33:37 +07:00
Jeremy Grossmann
21afaf31f9
Merge pull request #1549 from GNS3/symbol-management-refactoring
Symbol management refactoring
2019-03-12 18:21:30 +07:00
grossmj
cf91e904f7 Early support for symbol themes. 2019-03-12 18:13:33 +07:00
ziajka
767bb770ca Re-order handlers in order to prevent CORS 2019-03-11 16:16:10 +01:00
grossmj
bae3fb84b9 Download custom appliance symbols from GitHub
Fix symbol cache issue. Ref https://github.com/GNS3/gns3-gui/issues/2671
Fix temporary directory for symbols was not deleted
Fix temporary appliance file was not deleted
2019-03-11 16:55:16 +07:00
grossmj
0ae66a2608 Support selecting a compression type when exporting a project. 2019-03-07 17:05:32 +07:00
grossmj
af80b0bb6e Use aiofiles where relevant. 2019-03-06 23:00:01 +07:00
grossmj
8cc8269842 Use aiozipstream for snapshots.
Fix tests.
2019-02-28 17:25:05 +07:00
grossmj
a8990c9e89 Non blocking project exportation. 2019-02-26 15:55:07 +07:00
grossmj
135d56371d Fix tests for project notifications. 2019-02-23 23:20:11 +07:00
grossmj
7fe8f7e716 Fix long-polling request for project notifications. 2019-02-23 21:08:52 +07:00
grossmj
5754747a90 Merging 2.1 into 2.2 2019-02-22 18:04:49 +07:00
grossmj
081ba31b50 Fix API call to create a node from an appliance doesn't return the new node data. Fixes #1527 2019-02-20 10:47:33 +07:00
grossmj
117a1ac6da Restore reload support for nodes. 2019-01-24 16:51:14 +08:00
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
f0ffb07165 Fix issue with "usage" variable for Dynamips VMs. Fixes #1495 2019-01-12 12:13:22 +07:00
grossmj
468145319d Merge 2.1 into 2.2 branch. 2018-12-21 15:24:34 +08:00
grossmj
fc75a6b8d3 Fix link pause/filters only work for the first interface of Docker containers. Fixes #1482 2018-12-14 19:53:43 -06: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
1f017a0d1d Console support for clouds (to connect to external devices or services). 2018-06-10 17:43:29 +07:00
grossmj
34fcbd68f3 Fix switching console type from telnet to VNC throws error. 2018-06-09 22:08:30 +07:00
grossmj
40151cd1fe Fix switching console type from telnet to VNC throws error. Fixes #2489. 2018-06-09 21:47:36 +07:00
grossmj
62f87de23a Add API endpoint to return all links attached to a node. 2018-06-06 20:46:44 +07:00
grossmj
d1ccf3bc84 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/version.py
#	requirements.txt
2018-06-04 22:46:52 +07:00
ziajka
c52342907a
Merge pull request #1332 from GNS3/global-vars
Docker `ExtraHosts`, global variables for project and supplier support, Fixes: #2482
2018-05-15 09:23:54 +02:00
ziajka
7b3d5ae5e3 Create/update project on compute when variables changes 2018-05-09 15:29:35 +02: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
ziajka
43081152ef Add support of ExtraHosts for Docker, Ref. gns3-gui#2482 2018-04-25 16:03:01 +02:00
grossmj
2ea0aa5ded Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/iou/iou_vm.py
#	gns3server/compute/virtualbox/virtualbox_vm.py
#	gns3server/compute/vmware/vmware_vm.py
2018-04-18 17:08:42 +08:00
grossmj
025441f027 Add default destination setting for traceng + some checks. 2018-04-16 15:03:22 +08:00
grossmj
757c103c03 Possibility to customize port names and adapter types for Qemu, VirtualBox, VMware and Docker. Fixes #2361.
MAC addresses can customized for Qemu as well.
2018-04-02 22:27:12 +07:00
grossmj
3d1ee4da3f Support for suspend to disk / resume (Qemu). 2018-03-30 19:28:22 +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
b7780ba7cc Check for valid IP address and prevent to run on non-Windows platforms. 2018-03-29 13:26:43 +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
e52775fa3a Support for console type "none". 2018-03-24 18:11:21 +07:00
grossmj
44f2acffa5 Support Qemu with HAXM acceleration. Ref #1242. 2018-03-21 16:41:25 +07:00
grossmj
8b91894fa4 Improve suspend a link for Qemu and VirtualBox VMs.
A suspended link will be unplugged allowing the VMs to be notified
of the change.
2018-03-19 16:26:12 +07:00
grossmj
fb3bcf3b8f Basic project stats. 2018-03-15 15:21:29 +07:00
grossmj
90ce6093d8 Some spring cleaning. 2018-03-15 14:17:39 +07:00
grossmj
a4626a2b79 Custom icons and small fixes for TraceNG integration. 2018-03-14 16:56:37 +07:00
grossmj
397c1322b4 Base support for TraceNG. 2018-03-12 17:57:13 +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
Bernhard Ehlers
3a09bd43dc Implement a minimum interval between psutil calls. Fixes #2262 2018-02-13 11:31:04 +01:00
grossmj
e5c76750b1 Fix issue when running multiple project containing IOU nodes on the same server. Ref #1239. 2018-01-31 15:51:29 +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
grossmj
bd8816d14c Suspend for Docker nodes. 2018-01-18 11:43:04 +08:00
grossmj
9d9dc037d8 Refresh CPU/RAM info every 1 second. Ref #2262. 2018-01-15 14:42:01 +07: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
grossmj
f48549a997 Validate idle-pc values for auto idle-pc feature. 2017-11-23 10:40:51 +07:00