1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-18 14:28:08 +00:00
Commit Graph

827 Commits

Author SHA1 Message Date
grossmj
3f679bd106 Locked state should not be used when duplicating a node. 2019-03-02 16:39:05 +07:00
grossmj
724eda1f35 Handle locking/unlocking items independently from the layer position. 2019-03-02 16:26:40 +07:00
grossmj
80eb06f67c Merge 2.1 into 2.2 2019-03-01 17:23:49 +07:00
grossmj
8cc8269842 Use aiozipstream for snapshots.
Fix tests.
2019-02-28 17:25:05 +07:00
grossmj
52bfa636c1 Project duplication support. 2019-02-27 17:57:07 +07:00
grossmj
7aae682f0a Fix issue when setting cpuid.corespersocket for the GNS3 VM. Fixes https://github.com/GNS3/gns3-gui/issues/2723 2019-02-27 14:47:45 +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
2fb5e47c8d Allow cloud nodes to be exported. Fixes #1519 2019-02-23 11:07:01 +07:00
grossmj
5754747a90 Merging 2.1 into 2.2 2019-02-22 18:04:49 +07:00
grossmj
a13d063aa1 Fix topology images (Pictures) disappearing from projects. Fixes #1514. 2019-02-21 23:58:54 +07:00
grossmj
1ef1872f8e Reset MAC addresses when duplicating a project. Fixes #1522 2019-02-20 16:38:43 +07:00
grossmj
ae3515434c Do not export/import symlinks for projects. Fixes #2699 2019-02-19 12:43:44 +07:00
grossmj
4ecd3b2015 Configure coresPerSocket value in VMX file for the GNS3 VM. Fixes https://github.com/GNS3/gns3-gui/issues/2688 2019-02-17 23:16:48 +08:00
grossmj
84ee3263ba Count logical CPUs to detect if the number of vCPUs is too high when configuring the GNS3 VM. Fixes #2688. 2019-02-17 23:07:33 +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
456ef1348b Fix DeprecationWarning: invalid escape sequence. Fixes https://github.com/GNS3/gns3-gui/issues/2670 2019-01-17 18:01:58 +07:00
grossmj
474025175e Remove "deprecated" node for VirtualBox based GNS3 VM support. Ref #1377 2019-01-16 19:22:16 +07:00
grossmj
191036e266 Fix wrong controller method call. 2019-01-14 17:20:11 +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
0fd54536d2 Fix issue when there is no gns3_controller.conf. Fixes https://github.com/GNS3/gns3-gui/issues/2644 2018-11-30 19:09:10 +08:00
grossmj
9fbdb25da8 Back to classic symbol theme. Ref https://github.com/GNS3/gns3-gui/issues/2644 2018-11-29 17:14:21 +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
Jeremy Grossmann
b4a2bc5b47
Merge pull request #1467 from GNS3/symbol-themes
Support symbol themes. Ref #1466
2018-11-27 17:19:52 +07:00
grossmj
dd14101eec Merge branch '2.2-grid-new-project' of git://github.com/kazkansouh/gns3-server into kazkansouh-2.2-grid-new-project 2018-11-27 15:50:24 +07:00
Jeremy Grossmann
1067f71952
Allow appliances to be loaded from file without the appliance id.
Fixes https://github.com/GNS3/gns3-gui/issues/2639.
2018-11-27 14:03:12 +07:00
Karim
8eb20525e8 Update schema to allow for drawing grid size to be part of project. 2018-11-26 15:31:28 +00:00
grossmj
219c346187 Remove useless warning. 2018-11-24 17:04:16 +07:00
grossmj
e0813bfbe8 Normalize symbol ID on Windows. 2018-11-23 18:47:42 +07:00
grossmj
9f7f26700e Debugging for Windows. 2018-11-23 18:33:45 +07:00
grossmj
51787295dd Use POSIX path for symbol ID. 2018-11-23 18:26:04 +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
74e1463015 Fix bug with custom adapters and categories for Docker VM. Fixes https://github.com/GNS3/gns3-gui/issues/2613 2018-11-17 21:50:00 +07:00
grossmj
499ab9844a Reorganize how appliance creation is validated against JSON schemas.
This allows for clearer error messages when validation fails.
2018-11-17 18:12:46 +07:00
grossmj
98f04365b7 Remove generic controller settings API endpoint. 2018-11-14 16:24:30 +08:00
grossmj
cebb56387a Fix tests. 2018-11-13 15:40:18 +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
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