Commit Graph

613 Commits

Author SHA1 Message Date
grossmj
3fae6ada95 Only require privileged access for uBridge when connecting a cloud to an Ethernet/TAP interface. Fixes #1461. 2018-11-19 17:33:17 +07:00
grossmj
3497deaa31 Allow virtual machines to use files in project directory as disk images. 2018-11-19 15:53:43 +07:00
grossmj
98f04365b7 Remove generic controller settings API endpoint. 2018-11-14 16:24:30 +08:00
grossmj
f91d3c9dbb Merge branch '2.2' into appliance-api 2018-11-13 14:59:55 +08:00
grossmj
d45d52f15c Support Xtigervnc restart. 2018-11-11 23:23:30 +08:00
grossmj
029344da14 Only require Xtigervnc or Xvfb+x11vnc for Docker with vnc console. Ref #1438 2018-11-11 22:33:58 +08:00
grossmj
36474f7bab Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
2018-11-11 22:31:29 +08:00
grossmj
d0bab9947e Support tigervnc in Docker VM. Ref #1438 2018-11-11 21:07:33 +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
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
de5934f818 Merge remote-tracking branch 'origin/2.2' into 2.2 2018-10-15 17:06:25 +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
Karim
14fb64b941 Added "/sbin" to init script PATH variable so that its possible to
use more sophosticated dhcp clients (compared to the udhcpc that is
provided by busybox) by installing them into the docker image in
the normal way.
2018-10-06 16:06:24 +01:00
grossmj
8baa480b79 Fix tests. 2018-10-06 21:57:03 +08:00
grossmj
97c68f56bf Notify users if x11vnc process has crashed. Fix #1401. 2018-10-06 21:30:39 +08: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
181a31be32 Update minimum VIX version requirements for VMware. Ref #1415. 2018-10-02 11:22:32 +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
341e2e2e3a Check if serial pipe can be opened for VMware and VirtualBox VMs. 2018-09-06 07:02:32 +02:00
grossmj
f8ecd61a98 Notify users if xvfb process or x11vnc process have crashed. Ref #1401. 2018-09-05 15:16:07 +08:00
grossmj
4a6202fa84 Update setup.py and fix minor issues. 2018-09-02 15:32:33 +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
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
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
12e71a2917 Set lower process priority when computing idle-pc value on Windows. Ref #2522. 2018-08-07 19:31:33 +07:00
Andrew Caudwell
b2e0a1b291 Don't release NIO UDP ports when updating docker container.
When a docker container was updated, the NIO UDP ports were being released
from port_manager, but they were still stored in self._ethernet_adapters.
When the container was restarted, the same NIO ports would be used. However,
if a new connection was then added, it could assign a port that was already
in use. The end result was that traffic would be bridged across the wrong
interface connection.
2018-06-11 15:17:13 +12: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
40151cd1fe Fix switching console type from telnet to VNC throws error. Fixes #2489. 2018-06-09 21:47:36 +07:00
grossmj
1905a99ce7 Fix saved VM state was not deleted correctly. 2018-06-09 17:28:26 +07:00
grossmj
62f87de23a Add API endpoint to return all links attached to a node. 2018-06-06 20:46:44 +07:00
grossmj
19c5ff8521 Show correct free disk space value. 2018-06-06 14:59: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
ziajka
83445214be Support for nested global variables 2018-05-09 11:25:55 +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
ziajka
80958e8a6d support based on init.sh, Ref: #2482 2018-04-27 14:33:07 +02:00
grossmj
20294e284c Fix exception from send_signal() on Windows. 2018-04-27 17:00:28 +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
9ecb058343 Fix tests. 2018-04-18 16:13:59 +08:00
grossmj
fff2e128eb Set the first byte to 0C when generating a random MAC address for a Qemu VM. Ref #1267. 2018-04-18 16:06:51 +08:00
grossmj
1fea086f13 Do not use VMnet0 when allocating VMnet adapters. 2018-04-17 11:47:25 +08:00
grossmj
dd9c18b9f8 Use SO_REUSEADDR before calling bind() where missing. Fixes #1289. 2018-04-16 16:36:36 +08:00
grossmj
5c4f6dd3dc Do not fail a Dynamips project conversion if a file being used. 2018-04-16 15:45:43 +08:00
grossmj
a12c5a95b0 Catch exceptions when using AsyncioTelnetServer. Fixes #1321. 2018-04-16 15:30:06 +08:00
grossmj
025441f027 Add default destination setting for traceng + some checks. 2018-04-16 15:03:22 +08:00
grossmj
22a71b0e8c Fix problem with VM saved stated. 2018-04-06 13:19:54 +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
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
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
297bbd91ec Fix traceng tests. 2018-03-30 12:10:57 +07:00
grossmj
b61bd2dc67 Merge remote-tracking branch 'origin/traceng' into traceng 2018-03-29 13:29: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
c053a2f350 Enable UDP tunnel option and use ICMP probing by default. 2018-03-28 04:26:40 -07:00
grossmj
05ec14e888 Use the configured IP address to trace. 2018-03-27 03:43:50 -07:00
grossmj
d08c08617c Support for source and destination for traceNG. 2018-03-27 16:58:49 +07:00
grossmj
8e695c8af1 Have TraceNG start without needing cmd.exe 2018-03-27 01:19:24 -07:00
grossmj
ff7911bd99 Allow to resize a Qemu VM disk (extend only). 2018-03-26 18:05:49 +07:00
grossmj
6cec67f79f Allow to select the default NAT interface in preferences for local server. 2018-03-26 14:23:01 +07:00
grossmj
caa2bda71b Spice with agent support for Qemu VMs. 2018-03-25 14:36:14 +07:00
grossmj
d419d3fa39 Check if the HAXM service is running when starting a Qemu VM with hardware acceleration. Ref #1242. 2018-03-24 22:15:20 +07:00
grossmj
e52775fa3a Support for console type "none". 2018-03-24 18:11:21 +07:00
grossmj
54661c50b2 Fix tests related to console type changes. 2018-03-23 21:29:39 +07:00
grossmj
b8353bc0d5 Support for none console type (Qemu & Docker only) 2018-03-23 15:44:16 +07:00
grossmj
a40fdb3641 Fix bug and add optimizations when connecting and sending commands to QEMU monitor after starting a VM. Fixes #2336. 2018-03-23 00:07:32 +07:00
grossmj
135bbe8825 Check if HAXM support is installed on macOS. Ref #1242. 2018-03-22 22:37:09 +07:00
grossmj
9a9ac6d9f7 Fix some issues with hardware acceleration support for Qemu. 2018-03-22 15:45:41 +07:00
grossmj
17bfed52f2 Fix Qemu VM tests. 2018-03-22 14:05:31 +07:00
grossmj
44f2acffa5 Support Qemu with HAXM acceleration. Ref #1242. 2018-03-21 16:41:25 +07:00
grossmj
85dcb985eb Fix packet filters for Dynamips. 2018-03-20 11:15:42 +07:00
grossmj
279b4d7b20 Fix link filters/suspend tests. 2018-03-19 18:25:56 +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
cde30f8f53 Fix warning message. 2018-03-19 14:23:46 +07:00
grossmj
c7875f93a3 Qemu VM support to detect when a link is plugged/unplugged. 2018-03-19 14:22:10 +07:00
grossmj
b7e436efdf Fix tests. 2018-03-15 20:47:42 +07:00
grossmj
aaf59e6050 Allow to configure the interface to be used by the NAT node. Fixes #1175. 2018-03-15 17:20:40 +07:00
grossmj
08493871a5 Restrict the list of available Ethernet/TAP adapters. Fixes #352. 2018-03-15 16:33:23 +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
0fde1cf54a Ignore invalid BPF filters. Ref #1290. 2018-03-07 21:37:15 +07:00
grossmj
7c14e21f4a Different approach to handle no data returned by Dynamips or uBridge hypervisors. Fixes #1289. 2018-03-07 19:33:19 +07:00
grossmj
a3a0657502 Do not raise exception if Dynamips or uBridge hypervisor don't return data and are still running. Fixes #1289 2018-03-07 19:11:34 +07:00
grossmj
3ca4f72b99 Fix Dynamips private config not loaded into nvram when starting a router. Fixes #1313. 2018-03-07 18:18:51 +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
e79e27a73f Handle docker env with last empty line, Fixes: #2420 2018-02-27 16:33:55 +01:00
grossmj
52b690b683 Fix "Unable to override non-custom VMware adapter". 2018-02-04 22:08:41 +08:00
grossmj
4ba523a0d7 Add an error message when Docker container is not ready to be started. Ref #1281. 2018-02-02 16:29:08 +08:00
grossmj
07d2d7b340 Update documentation. 2018-01-31 23:37:02 +07: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
1045364adc Set first byte to 52 when generating a random MAC address for a Qemu VM. Ref #1267. 2018-01-30 18:26:38 +07:00
ziajka
bb26e8acdd Calculate MD5 on thread and before json response, Ref. gui#2239 2018-01-29 14:20:48 +01:00
ziajka
1582ac3195 Merge branch '2.2' into async-md5-calcs 2018-01-29 13:01:45 +01: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
dc377165f2 Cancellable md5sum calculation on thread, Ref. gui#2239 2018-01-29 10:18:13 +01:00
ziajka
6868e20a70 Compute md5sum on thread and don't block main server, Ref. gui#2239 2018-01-26 12:53:48 +01:00
ziajka
d9a0ec9ff3 Replace asyncio.async with ensure_future because of deprecation, Fixes: #1269 2018-01-24 11:11:53 +01: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
Dušan Dragić
6789989cb9 Rename ethernet switch arp command to mac 2018-01-14 17:10:26 +01:00
grossmj
ed275e4ec5 Fix UnboundLocalError: local variable 'node' referenced before assignment. Fixes #1256. 2018-01-14 19:06:35 +07:00
grossmj
8b1c68a0b7 Fix problem when searching for VBoxManage. Fixes #1261. 2018-01-12 13:17:16 +07:00
grossmj
97cfb892a6 Improve the search for VBoxManage. 2018-01-11 16:33:15 +07:00
grossmj
5f14f8eb46 Default VPCS name format is now PC-{0}. 2018-01-09 23:40:35 +07:00
grossmj
e8353e68bb Merge remote-tracking branch 'origin/2.1' into 2.1 2017-12-21 09:38:28 +01:00
grossmj
23c63bbd4d Protect variable replacement for Qemu options. Escape double quotes. 2017-12-21 09:38:18 +01:00
ziajka
3efe753eee Add proper exception when cannot find tunnel on QEMU, Fixes: #1241 2017-12-21 08:55:49 +01:00
grossmj
79bca29b93 Protect variable replacement for Qemu options. 2017-12-20 20:46:16 +01:00
grossmj
630afc5469 Do not overwrites persistent Docker volumes. Fixes #2358. 2017-12-17 22:35:26 +01:00
grossmj
3a1ba8f42d Fix issue with Qemu + SPICE when IPv4 is not enabled. 2017-12-07 12:02:41 -06:00
grossmj
061af38b5a Make sure connected links are removed when a node is deleted. 2017-11-23 11:19:41 +07:00
grossmj
f48549a997 Validate idle-pc values for auto idle-pc feature. 2017-11-23 10:40:51 +07:00
grossmj
958ab2294c Merge remote-tracking branch 'origin/2.1' into 2.1 2017-11-23 10:04:46 +07:00
grossmj
dd89b09f84 Fix error when updating packet filter on stopped Docker link. Fixes #1229. 2017-11-23 10:04:32 +07:00
ziajka
860ca3b35d Remotely close telnet console. Ref #2330 2017-11-20 15:28:07 +01:00
ziajka
96a0b52cf8 EthernetSwitch closing connections, Ref: gui/#2330 2017-11-20 13:51:07 +01:00
grossmj
3e2e8e61f7 New option: require KVM. If false, Qemu VMs will not be prevented to run without KVM. 2017-11-19 12:39:37 +07:00
grossmj
068077c594 Remove forgotten debug. 2017-11-18 17:36:39 +07:00
grossmj
e08aebf1f0 Implement variable replacement for Qemu VM options. 2017-11-18 17:36:11 +07:00
grossmj
cfbcc1194d Avoid duplicate "-nographic" option. 2017-11-18 16:22:29 +07:00
grossmj
035a078b5e Show qemu-img stdout in case of an error. 2017-11-17 18:13:34 +07:00
grossmj
e1fe34ca07 Use the correct NVRAM amount when pushing private config to IOU. 2017-11-16 16:52:19 +07:00
grossmj
4477cd4dfd Merge remote-tracking branch 'origin/2.1' 2017-11-16 14:54:53 +07:00
grossmj
967798a7de Check and fix corrupt Qemu disk images. Fixes #2301. 2017-11-16 14:54:37 +07:00
grossmj
8c11b649e5 Update warning messages when connecting to non custom adapter for VMware VMs. 2017-11-15 16:55:19 +07:00
grossmj
b14e2e73ed Fix "Can't use VirtualBox VM when an interface is managed by VirtualBox". Fixes #2335. 2017-11-15 16:41:33 +07:00
grossmj
9afe756462 Add low disk space warning when creating a new project. 2017-11-14 18:22:59 +07:00
grossmj
8fcfed53ed Add warning when using IOU with a hostname length above 15 characters. 2017-10-24 15:07:32 +07:00
grossmj
df468bf2af Improve VMware VMs discovery process. Ref #1201. 2017-10-22 17:33:21 +07:00
grossmj
8930b4c6e5 Improve error message when IOU VM process is unexpectedly stopped. 2017-10-22 16:28:54 +07:00
grossmj
b4307e6035 Improved error message when the number of network adapters is above the maximum for VirtualBox VMs.
Better support for potential future chipsets in addition of PIIX3 and ICH9.
2017-10-22 15:23:43 +07:00
grossmj
98b201e9e5 Tweak how VMware VMs are found with fallback to search in the default location for VMs. 2017-10-18 15:27:03 +07:00
Dušan Dragić
44bb912139 QEMU: fix logging of base mac address when creating a new node 2017-10-14 13:55:16 +02:00
grossmj
1524493c33 Fix IOU detection of layer 1 keepalive support. Fixes #1183. 2017-10-12 23:32:45 +08:00
Jeremy Grossmann
897f7656da Merge pull request #1185 from GNS3/fix-delete-project
Don't create directory structure during json dump. Fixes #2270
2017-10-02 13:49:46 -07:00
ziajka
3d85bba9d4 Don't create directory structure during json dump. Fixes #2270 2017-10-02 10:41:57 +02:00
grossmj
7269285b0f Add more information when qemu-img fails. 2017-10-02 00:47:16 +08:00
grossmj
a567b394f3 Restore file permissions fails for volumes with soft links. Fixes #1180. 2017-09-21 22:45:17 +08:00