Commit Graph

185 Commits

Author SHA1 Message Date
Karim
0c19bc8d43 Support for additional persistent docker volumes to be specified within appliance configuration 2019-04-22 10:26:41 +01:00
Karim
6df93d4db0 Updated tests for setting docker user 2019-04-05 11:06:35 +01:00
Karim
7c3a38d379 Support for docker images that set the USER directive. Changes the
docker user to root for the init script to configure the network,
then drops to the configured user (or root if one is not defined)
for continuing booting the image.
2019-04-05 08:51:57 +01:00
grossmj
a17119187b Fix remote packet capture for Dynamips. 2019-04-01 20:58:18 +07:00
grossmj
4cc5dbc228 Fix remote packet capture and make sure packet capture is stopped when deleting an NIO. Fixes https://github.com/GNS3/gns3-gui/issues/2753 2019-04-01 19:47:31 +07:00
grossmj
af80b0bb6e Use aiofiles where relevant. 2019-03-06 23:00:01 +07:00
grossmj
5754747a90 Merging 2.1 into 2.2 2019-02-22 18:04:49 +07:00
grossmj
aea4ae808f Detect invalid environment variable and send a warning when creating a Docker node. Ref #2683 2019-02-19 17:34:10 +07:00
grossmj
d9a9abf845 Add explicit error when trying to pull a Docker image from Docker Hub without Internet access. Fixes #1506. 2019-02-17 19:21:21 +08:00
grossmj
4b52e9313e Fix issue with coroutine not awaited. Fixes #1499 2019-01-17 17:43:09 +07:00
grossmj
9ed181151f New node information dialog to display general, usage and command line information.
Ref https://github.com/GNS3/gns3-gui/issues/2662 https://github.com/GNS3/gns3-gui/issues/2656
2018-12-30 19:35:24 +07:00
grossmj
468145319d Merge 2.1 into 2.2 branch. 2018-12-21 15:24:34 +08:00
grossmj
58b2ee152d Fix Docker console test. 2018-11-30 18:59:02 +08:00
grossmj
bec2270334 Fix non responsive console for Docker VMs. Fixes https://github.com/GNS3/gns3-gui/issues/2645 2018-11-30 17:06:21 +08:00
grossmj
56412b35e0 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/utils/asyncio/telnet_server.py
2018-11-30 12:38:02 +08:00
Dušan Dragić
817a053dfc docker_vm: fix x11vnc not starting 2018-11-29 00:37:20 +01:00
grossmj
60ac6d2dfe Telnet console resize support for Docker VM. 2018-11-27 15:06:56 +07:00
grossmj
c0a0a13bdd Avoid _fix_permissions() to be called twice when stopping Docker VM. Ref #1428 2018-11-26 15:53:24 +07:00
grossmj
a3044ede77 Fix _fix_permissions() garbles permissions in Docker VM. Ref #1428 2018-11-25 17:11:42 +07:00
grossmj
5cb0957f35 Require privileged access for uBridge when using VMware VMs and Docker containers. Fixes #1461. 2018-11-20 00:22:16 +07: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
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
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
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
f8ecd61a98 Notify users if xvfb process or x11vnc process have crashed. Ref #1401. 2018-09-05 15:16:07 +08: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
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
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
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
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
a12c5a95b0 Catch exceptions when using AsyncioTelnetServer. Fixes #1321. 2018-04-16 15:30:06 +08:00
grossmj
90ce6093d8 Some spring cleaning. 2018-03-15 14:17:39 +07:00
grossmj
658aa4bae9 Merge 2.1 into 2.2 branch 2018-03-12 13:38:50 +07:00
ziajka
e79e27a73f Handle docker env with last empty line, Fixes: #2420 2018-02-27 16:33:55 +01: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
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
630afc5469 Do not overwrites persistent Docker volumes. Fixes #2358. 2017-12-17 22:35:26 +01:00
grossmj
dd89b09f84 Fix error when updating packet filter on stopped Docker link. Fixes #1229. 2017-11-23 10:04:32 +07:00
ziajka
3d85bba9d4 Don't create directory structure during json dump. Fixes #2270 2017-10-02 10:41:57 +02:00
grossmj
a567b394f3 Restore file permissions fails for volumes with soft links. Fixes #1180. 2017-09-21 22:45:17 +08:00
Julien Duponchelle
a93f3b0576
Fix permission on exited container
If a container is exited we quickly start it to fix
the permissions.

Fix https://github.com/GNS3/gns3-gui/issues/2181
2017-07-26 14:52:16 +02:00
Bernhard Ehlers
ec4e69b0d8
Ensure, that the docker mount directory exists
Fix #1097

Signed-off-by: Julien Duponchelle <julien@gns3.net>
2017-07-20 16:12:20 +02:00
Julien Duponchelle
b33ba5f8ea
Don't allow user to overwrite GNS3 docker environment variables
Fix #1098
2017-07-20 15:37:56 +02:00
Julien Duponchelle
23c3d32e06
Filter support for Docker
Fix #1110
2017-07-12 19:44:15 +02:00
Julien Duponchelle
f557ec4bda
Fix regression in docker introduce by 2.0 merge 2017-07-12 17:59:29 +02:00
Julien Duponchelle
699ecb7c89
Merge branch 'master' into 2.1 2017-07-11 18:59:50 +02:00
ziajka
e0f0adf3c8 Added preferred Docker API version. Fixes #2136 2017-07-06 11:24:55 +02:00
ziajka
8e8b8bc5a5 WebSocket binary mode support for docker 2017-07-06 10:13:00 +02:00
ziajka
c6f9ec3758 More information on Docker WebSocket error 2017-07-05 10:36:58 +02:00
Julien Duponchelle
6a0345897d
Connector is no longer supported in ws_connect by aiohttp 2.0 2017-06-02 10:42:40 +02:00
Julien Duponchelle
7dfb634376
Fix for websocket usage with aiohttp 2.0
Fix #1050
2017-06-01 18:39:55 +02:00
Julien Duponchelle
93adef91d8
Merge branch '2.0' into 2.1 2017-05-31 16:58:31 +02:00
Julien Duponchelle
b8ee8d69c8
Fix unexpected keyword argument 'conn_timeout'
Fix #1047
2017-05-26 15:42:46 +02:00
Julien Duponchelle
5bb6c51698
Fix an error when logging Docker container fail to start 2017-05-23 13:31:04 +02:00
Julien Duponchelle
2a8911d19e
Keep DOCKER_MINIMUM_API_VERSION and DOCKER_MINIMUM_VERSION consistent 2017-05-23 11:00:15 +02:00
Bernhard Ehlers
8b7209ea78
Use docker version in error message of outdated docker installation 2017-05-23 10:41:42 +02:00
Bernhard Ehlers
7d48eba01b
Use versioned docker API
Since docker v1.13 the unversioned docker API is deprecated.
Backport of gns3-server 2.0, commit effbe59
2017-05-23 10:37:47 +02:00
Bernhard Ehlers
2191c487b6
Support images created by "docker commit". Fixes #1039 2017-05-23 10:23:11 +02:00
Julien Duponchelle
a4245fcf44
Aiohttp 2.0
Ref #1000
2017-05-17 18:42:17 +02:00
Bernhard Ehlers
ecba758c58
Docker aux console is a VT100 terminal
Without that program like nano can't work.

Signed-off-by: Julien Duponchelle <julien@gns3.net>
2017-05-03 10:30:43 +02:00
Bernhard Ehlers
1b0f5c63b8
Fix connection to websocket with last docker release
Fix https://github.com/GNS3/gns3-gui/issues/1994

Signed-off-by: Julien Duponchelle <julien@gns3.net>
2017-04-28 16:03:26 +02:00
Julien Duponchelle
1a90305baa
Docker minimum api is 1.25 2017-04-24 18:43:12 +02:00
Julien Duponchelle
effbe59414
Lock docker API to 1.27
Fix https://github.com/GNS3/gns3-gui/issues/1994
2017-04-24 17:51:55 +02:00
Julien Duponchelle
8b9f22c30c
Handling server disconnect error when docker daemon die
Fix #985
2017-04-24 17:37:41 +02:00
Julien Duponchelle
7302f65ffe
Catch timeout error on docker
Fix #981
2017-04-18 11:44:20 +02:00
Julien Duponchelle
fdd1084714
Fix bridge 'bridge0' already exist when we have trouble with a container
Fix #973
2017-04-10 16:58:00 +02:00
Julien Duponchelle
2564740665
Fix limit of 20 docker containers
Fix #963
2017-03-28 11:54:16 +02:00
Julien Duponchelle
132bc87081
Dissallow parallel pull of docker images
Fix #962
2017-03-27 20:46:25 +02:00
Julien Duponchelle
34f5a6f82c
Fix Session is closed when listing docker images
Fix #955
2017-03-20 23:50:31 +01:00
Julien Duponchelle
78c154e376
Cleanup docker source code 2017-03-20 20:30:59 +01:00
Julien Duponchelle
a571b1a2f8
Use aiohttp session for docker queries 2017-03-20 19:46:50 +01:00
Julien Duponchelle
a62b791c68
Fix TypeError: http_query() got an unexpected keyword argument 'timeout'
Fix #947
2017-03-20 17:06:00 +01:00
Julien Duponchelle
08bafc2dcc
Catch a timeout error in docker
Fix #936
2017-03-16 10:39:08 +01:00
Julien Duponchelle
666461277d
Fix a crash with some docker images
Fix #861
2017-01-10 10:09:34 +01:00
Julien Duponchelle
52adf45740
Fix an error when docker hub failed to anwser
Fix #843
2016-12-20 09:15:28 +01:00
Julien Duponchelle
8f6d25cc2b
Fix start all create error if a docker container is already running
Fix #839
2016-12-16 16:19:23 +01:00
Julien Duponchelle
46b6e7c5ee
Fix hot link issues in Docker
Fix #817
2016-12-14 16:53:20 +01:00
Julien Duponchelle
d0f65aebff
Fix Can't delete link between docker VM after they were in use
Fix #818
2016-12-14 12:01:34 +01:00
Bernhard Ehlers
a3495304ad
Code cleanup for docker interface creation
Fix #819

Signed-off-by: Julien Duponchelle <julien@gns3.net>
2016-12-13 16:07:59 +01:00