Commit Graph

785 Commits

Author SHA1 Message Date
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
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
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
4d95e0b51f Catch some exceptions. 2018-09-28 15:04:38 +02:00
grossmj
17d657c919 Fix small errors like unhandled exceptions etc. 2018-09-11 15:06:01 +02:00
grossmj
4021a13651 Catch exceptions in various locations to fix small issues reported by Sentry. 2018-09-06 09:49:12 +02:00
grossmj
c620d0be84 Improve the invalid port format detection. Fixes https://github.com/GNS3/gns3-gui/issues/2580 2018-09-05 13:35:42 +08:00
grossmj
86be4f98f1 Fix wrong call after merging. 2018-08-29 16:22:37 +07:00
grossmj
3c332b895d Fix tests after merging. 2018-08-29 16:08:08 +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
00cf66fb0f Report GNS3 VM errors to the GUI server summary. Ref #1359. 2018-08-28 15:42:06 +07:00
grossmj
8d4e73d23c Replace vboxnet0 (if it does not exist) by the first available vboxnet interface on Windows. Fixes https://github.com/GNS3/gns3-vm/issues/102 2018-08-26 03:28:38 -07:00
grossmj
4e712280b3 Merge remote-tracking branch 'origin/2.1' into 2.1 2018-08-26 02:44:01 -07:00
grossmj
4d57a3befa Check if the VirtualBox host-only network exists when starting a GNS3 VM running on VirtualBox. Ref https://github.com/GNS3/gns3-vm/issues/102 2018-08-26 02:43:40 -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
902de3dd47 Refactor asyncio locking system for Python 3.7 support. Ref https://github.com/GNS3/gns3-gui/issues/2566 Ref https://github.com/GNS3/gns3-gui/issues/2568 2018-08-25 14:10:47 +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
089d25c79d Forbid controller and compute servers to be different versions.
Report last compute server error to clients and display in the server summary.
2018-08-22 16:54:43 +07:00
grossmj
59ce105a50 Fix exception with short names for Dynamips interfaces. Fixes #1386. 2018-08-21 19:46:14 +07:00
grossmj
9ef23ce6a8 Include HTTP error code when reporting an error while download appliance templates
from GitHub repository.
2018-08-21 17:30:34 +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
dac3ba19b7 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/controller/ports/port_factory.py
2018-08-13 22:06:44 +07:00
grossmj
23e83b730b Fix some more problems with interface short names. Fixes https://github.com/GNS3/gns3-gui/issues/2562 2018-08-13 15:45:24 +07:00
grossmj
e5d38811ca Fix incorrect short port names in topology summary. Fixes https://github.com/GNS3/gns3-gui/issues/2562 2018-08-13 15:10:21 +07:00
grossmj
daa2de4541 Allow custom symbols to be sub-directories. 2018-08-13 00:16:02 +07:00
grossmj
29620f4ea3 Add affinity symbols. Ref https://github.com/GNS3/gns3-gui/issues/2488 2018-08-12 22:08:48 +07:00
grossmj
1fd010484d ACPI shutdown for GNS3 VM running on Hyper-V. Ref https://github.com/GNS3/gns3-gui/issues/763 2018-08-12 17:11:32 +07:00
grossmj
c48eebcc5d Hyper-V support for GNS3 VM. Fixes https://github.com/GNS3/gns3-gui/issues/763 2018-08-12 16:49:24 +07:00
grossmj
c0521732a9 Get IP address from guest Hyper-V VM. Ref https://github.com/GNS3/gns3-gui/issues/763 2018-08-12 01:49:48 -07:00
grossmj
c9767a06b3 Early Hyper-V support to run the GNS3 VM. Ref https://github.com/GNS3/gns3-gui/issues/763. 2018-08-10 16:18:14 +07:00
grossmj
89f7169589 Add appliance UUID added to the node data. Fixes #1334. 2018-08-09 17:45:33 +07:00
grossmj
a54359d243 Clean GNS3 close if one remote server is down. Fixes #1357. 2018-08-09 16:59:10 +07:00
grossmj
e3c8c9d484 Mark VirtualBox support for running the GNS3 VM as deprecated. Ref #1377. 2018-08-08 15:02:31 +07:00
grossmj
cc52a6a6b5 Change default z value for nodes to 1 2018-08-08 14:33:10 +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
d0ed6931d8 Catch exception: ZIP does not support timestamps before 1980. Ref #1360. 2018-07-26 13:34:23 -05:00
ziajka
ac73c72727 Don't send variables to computes where are empty, Ref: #1340 2018-06-13 18:55:47 +02: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
45edc40948 Timeout for stream file. 2018-06-10 21:18:16 +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
8851a55199 Fix timeout error with "save as" for large projects. 2018-06-07 22:26:23 +07:00
grossmj
62f87de23a Add API endpoint to return all links attached to a node. 2018-06-06 20:46:44 +07:00
grossmj
fd5df0052a Fix issue with some SVG symbols that could not be used in GNS3.
This was due to the height and width values being percentages.
2018-06-06 16:32:51 +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
f3c6faed75 Removed unnecessary line 2018-05-09 15:53:50 +02:00
ziajka
7b3d5ae5e3 Create/update project on compute when variables changes 2018-05-09 15:29:35 +02:00
ziajka
0bcc657bf1 Don't clean logo images when applied to the project 2018-05-08 16:22:35 +02:00
ziajka
f2700ed445 Support of supplier and variables in topology 2018-05-08 10:07:42 +02:00
ziajka
e267f8a8b8 Project global variables 2018-05-04 14:34:44 +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
3b94484914 Fix bug with export project. Ref #1187 #1307. 2018-04-28 16:38:52 +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
cfd0216554 Disable TraceNG for version 2.1.5 2018-04-18 17:19:44 +08: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
dd9c18b9f8 Use SO_REUSEADDR before calling bind() where missing. Fixes #1289. 2018-04-16 16:36:36 +08:00
grossmj
025441f027 Add default destination setting for traceng + some checks. 2018-04-16 15:03:22 +08:00
grossmj
2de182eff4 Grid size support for projects. 2018-04-13 16:54:57 +08:00
grossmj
ee5317948b Fix tests. 2018-04-06 14:32:06 +07:00
grossmj
7622c10cc9 Returns the ports' adapter types and mac addresses when available. 2018-04-06 13:19:17 +07:00
grossmj
395277d5c5 Support for console auto start. 2018-04-04 21:31:35 +07: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
509b171b06 Allow to have projects with the same name in different locations. 2018-03-30 23:01:37 +07:00
grossmj
ea0009db6c Save state feature for VirtualBox and VMware. New "On close" setting to
select the action to execute when closing/stopping a Qemu/VirtualBox/VMware VM.
2018-03-30 21:18:44 +07:00
grossmj
64949f5d04 Fix bug with 'none' console type for Ethernet switch.
Fix some tests related to traceng.
2018-03-30 13:00:52 +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
297bbd91ec Fix traceng tests. 2018-03-30 12:10:57 +07:00
grossmj
898f180310 Fix issue with start all. 2018-03-29 13:32:56 +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
5d704aa478 Fix tests. 2018-03-24 18:25:09 +07:00
grossmj
e52775fa3a Support for console type "none". 2018-03-24 18:11:21 +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
38f458db7c Delete old pcap file when starting a new packet capture. 2018-03-08 16:00:05 +07:00
grossmj
233e41d006 Fix export project test. 2018-03-08 00:39:08 +07:00
grossmj
22db13d2bf Fix bug preventing to export portable projects with IOU images. 2018-03-08 00:13:35 +07:00
grossmj
d911e82dc4 Merge remote-tracking branch 'origin/2.1' into 2.1 2018-03-07 16:42:12 +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
53a229f8e9 Fix never reached condition 2018-03-05 11:16:03 +01:00
ziajka
05b6be2e42 Compatybility with controller, default_symbol and hover_symbol, Fixes: #2444 2018-03-02 13:48:27 +01:00
ziajka
9be76d98a2 Filter snapshots directory during the snapshot, Fixes: #1297 2018-02-28 16:38:32 +01:00
ziajka
09c7d73ee9 Filter snapshots directory during the snapshot, Fixes: #1297 2018-02-28 16:33:20 +01:00
grossmj
fff593b358 Fix error when appliance template is broken (missing fields). Fixes #1287. 2018-02-06 16:07:23 +08:00
grossmj
abbe3d3a31 Fix "Change of linked base VM doesn't work with templates migrated from 2.0" 2018-02-05 16:42:29 +08:00
grossmj
519df3ab35 Let a project be opened when a port cannot be found (can happens if a project is corrupted). 2018-02-02 22:05:51 +08: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
grossmj
008baad86a Update link state and save project when a link is suspended or filters are added/removed (without node properties set). 2018-01-30 17:39:33 +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
28f8216590 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/version.py
#	requirements.txt
2018-01-23 12:47:13 +07:00
grossmj
7ded71142f Fix same MAC address for duplicated Qemu nodes. 2018-01-17 14:13:06 +08:00
grossmj
c281f55fb2 Fix same base MAC for duplicated IOS routers. Fixes #1264. 2018-01-17 14:01:44 +08:00
grossmj
e5e2b7a8ac Fix "Creating multiple IOU nodes at once assigns the same application id". Fixes #1239. 2018-01-15 18:09:05 +07:00
grossmj
ffc7024b64 Fix error while getting appliance list. Fixes #1258. 2018-01-14 20:29:17 +07:00
grossmj
88989cc274 Default symbol must be computer.svg 2018-01-12 21:46:48 +07:00
grossmj
ab6fe6da1d Compatibility for old node templates (those with default_symbol and hover_symbol properties). 2018-01-12 17:34:37 +07:00
grossmj
f9c7c15f95 Fixing race condition when starting the GNS3 VM. 2018-01-10 16:22:55 +07:00
grossmj
5f14f8eb46 Default VPCS name format is now PC-{0}. 2018-01-09 23:40:35 +07:00
ziajka
f48420af58 Increase timeout for creation of image, Ref. #2239 2017-12-21 08:46:20 +01:00
ziajka
a393e7f723
Merge pull request #1205 from GNS3/aiohttp-2.3.1
aiohttp 2.3 support.
2017-12-18 11:09:16 +01:00
grossmj
3e3e1df051 Allow users to see an error when the server cannot stream a PCAP file. 2017-12-07 12:28:01 -06:00
grossmj
cfe8e9e85c Warn users if the GNS3 VM and local server are not in the same subnet. Fixes #1231. 2017-12-05 16:43:44 -06:00
grossmj
6e2752648a Implement #1153 into 2.2 branch. 2017-11-27 15:16:46 +07:00
grossmj
e54d574e47 Fix auto idle-pc from preferences. 2017-11-23 23:00:31 +07:00
grossmj
061af38b5a Make sure connected links are removed when a node is deleted. 2017-11-23 11:19:41 +07:00
ziajka
fe59c937d5
Merge branch '2.1' into improved-export-project 2017-11-20 11:15:04 +01:00
ziajka
b48f5df53f iExport files from remote server, Fixes: gui/#2271 2017-11-20 10:47:03 +01:00
grossmj
035a078b5e Show qemu-img stdout in case of an error. 2017-11-17 18:13:34 +07:00
ziajka
009677f019 Fix typo in vcpus on VirtualBoxVM, fixes: #1213 2017-11-07 11:15:49 +01:00
ziajka
255dc7ed9b Fix GNS3VM vCPUs control on VMware, fixes: #2324 2017-11-06 15:15:37 +01:00
ziajka
a7412d1c87 aiohttp 2.3.1 dependency 2017-10-26 16:29:01 +02:00
Jeremy Grossmann
c7015435c9 Update vmware_gns3_vm.py 2017-10-18 15:53:37 +07:00
ziajka
44efab109e Set vhv.enable before run for VMWare 14. Fixes #1184 2017-10-18 10:32:56 +02:00
Jeremy Grossmann
4cae6b678a Merge pull request #1194 from GNS3/direct-file-uploads
Endpoint for obtaining direct action on compute
2017-10-16 17:27:35 +08:00
grossmj
4f13c63a52 Do not use builtin name. 2017-10-13 17:51:19 +08:00
grossmj
02ad98664f Fix creation of an VMware VM failed with invalid JSON. Fixes #2282. 2017-10-13 17:50:23 +08:00
ziajka
b654d78ea6 Endpoint for obtaining direct action on compute 2017-10-13 11:03:56 +02:00
grossmj
e1c8df170a Allow projects to be opened even when a node port is already used. 2017-09-14 17:57:58 +07:00
grossmj
4a2dfb0037 Do not prevent a project to be deleted. Fixes #2237. 2017-09-06 18:12:22 +07:00
grossmj
90e3a8d612 Round-robin nodes across all available compute resources. Fixes #1165. 2017-09-03 22:51:51 +07:00
grossmj
c22229101f Try to improve error reporting when streaming a PCAP file. Ref #2235. 2017-09-01 17:10:24 +07:00
ziajka
b0783eeccc Load meta of the project on loading time (Fixes #2225) 2017-08-22 09:36:52 +02:00
ziajka
e15d1cd350 Fixes loading project when link_id is not set (#1159) 2017-08-10 10:02:18 +02:00
ziajka
3fd86f5807 Return platform value on appliances list (Fixes #2211) 2017-08-08 13:58:43 +02:00
ziajka
3a1fd892ac Fixes not known category in Appliances (Fixes #1156) 2017-08-07 10:00:46 +02:00
Julien Duponchelle
211f48d981
Catch error when something that is not the GNS3 server answer to virtualbox requests
Fix #1155
2017-08-03 16:31:28 +02:00
Julien Duponchelle
3bb8cdafb2
Catch KeyError: <aiohttp.connector._TransportPlaceholder
Fix #1152
2017-08-02 10:16:49 +02:00
Julien Duponchelle
6996b7094f
Handle invalid appliances files
Fix #1150
2017-07-28 15:21:35 +02:00
Julien Duponchelle
283b08c2a1
Fix naming of node with a number in the name
Fix #1149
2017-07-27 16:06:52 +02:00
Julien Duponchelle
7683a79bb1
Fix OSError when uploading images
Fix #1101
2017-07-27 11:42:10 +02:00
Julien Duponchelle
103be13ba4
Fix an error when a symbol is not available on filesystem
Fix #1102
2017-07-27 11:39:25 +02:00
Julien Duponchelle
cc89099ea5
Fix ServerDisconnectedError for stop_all
Fix #1089
2017-07-27 11:33:27 +02:00
Julien Duponchelle
27582bb68c
Fix IOU image upload
Fix #1141
2017-07-25 14:59:55 +02:00
grossmj
47e8392ceb Use uuid4() for temporary node name while duplicating a node. 2017-07-24 15:52:14 +07: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
b37a282475
Raise a NotImplementedError for IPV6 support in old UDP cloud
Fix #1093
2017-07-20 16:23:32 +02:00