Commit Graph

639 Commits

Author SHA1 Message Date
Julien Duponchelle
871fea33e0
Cleanup unbreakable space 2016-05-18 11:23:45 +02:00
Julien Duponchelle
f052299eb1
Return status in all cases 2016-05-17 19:51:06 +02:00
Julien Duponchelle
b07dcf552c
Add an endpoint for listing the links of a project 2016-05-17 16:10:47 +02:00
Julien Duponchelle
ce0d715895
Fix Deleted node are still return by the API
Fix #529
2016-05-17 13:11:43 +02:00
Julien Duponchelle
a496aaab9e
Send node.updated event and tests are green
Fix #524
2016-05-16 21:12:32 +02:00
Julien Duponchelle
cb70cfecd7
Fix docker test 2016-05-16 19:37:47 +02:00
Julien Duponchelle
a9b95eb242
If the compute node is remote do not send project path 2016-05-16 18:17:24 +02:00
Julien Duponchelle
26c7aedba6
Fix docker test about vm suspended 2016-05-16 17:39:32 +02:00
Julien Duponchelle
ac24922300
Node deleted event
Fix #527
2016-05-16 14:31:00 +02:00
grossmj
51738e19c3 Some spring cleanup for Docker VM. 2016-05-13 19:28:53 -06:00
grossmj
f1bc2f22c3 Start, stop, suspend and reload endpoints for all nodes belonging to a project. Fixes #1212. 2016-05-13 19:26:50 -06:00
grossmj
6cea6c9162 Some more (spring) cleaning. 2016-05-13 18:48:10 -06:00
grossmj
f81d35cc29 Handlers: cleanup and fixes. 2016-05-13 18:00:07 -06:00
Julien Duponchelle
885d93be02
Delete a node work 2016-05-13 17:50:07 +02:00
Julien Duponchelle
2857d9a070
Send a field status in the node object 2016-05-12 19:15:46 +02:00
Julien Duponchelle
d43e78a1d7
Support all characters for compute ID 2016-05-12 16:41:05 +02:00
Julien Duponchelle
b46a0ff4ae
Endpoint for getting information about a compute node 2016-05-12 16:35:14 +02:00
Julien Duponchelle
5280644327
Return command_line and node_directory via the controller 2016-05-12 10:39:50 +02:00
Julien Duponchelle
885a870ae8
Rebuild documentation 2016-05-12 08:44:38 +02:00
Julien Duponchelle
e457df1777
Test are OK 2016-05-12 08:42:11 +02:00
grossmj
ef7b4ef020 Fixes tests and some PEP8. 2016-05-11 15:19:00 -06:00
grossmj
483431438a Merge remote-tracking branch 'origin/2.0' into 2.0
Conflicts:
	gns3server/controller/project.py
	tests/compute/test_project.py
	tests/controller/test_project.py
2016-05-11 11:41:45 -06:00
grossmj
5a76f81271 Refactoring to use a common node class for all VMs and other (future) objects. 2016-05-11 11:35:36 -06:00
Julien Duponchelle
9ccb55206d
Cleanup code for getting the default project directory 2016-05-11 18:42:55 +02:00
Julien Duponchelle
a0344576ba
Show version for debug 2016-05-11 16:31:16 +02:00
Julien Duponchelle
c2da568543
Protect controller and compute about path outside project directory
Fix #503
2016-05-11 15:59:32 +02:00
Julien Duponchelle
390401000f
A client could not erase the local compute node config in the controller
Fix #499
2016-05-11 15:02:35 +02:00
Julien Duponchelle
4342b4346e
Fix tests 2016-05-11 11:22:59 +02:00
Julien Duponchelle
cd836f146e
Create the project on compute only when needed 2016-05-11 10:56:43 +02:00
Julien Duponchelle
9dca7dfe4a
Merge branch '1.5' into 2.0 2016-05-10 17:51:40 +02:00
Jeremy Grossmann
c7d58eb3b3 Merge pull request #518 from GNS3/detect_eth
Wait for all interfaces available in container
2016-05-09 10:54:37 -06:00
Julien Duponchelle
2cdfd6c0d7
Wait for all interfaces available in container
Fix #511
2016-05-06 19:07:18 +02:00
Julien Duponchelle
57cf57b408
Improve parse_version
Ref #515
2016-05-06 17:09:03 +02:00
Julien Duponchelle
5fd385159c
HTTP support for docker
Fix #509
2016-05-03 16:49:33 +02:00
Julien Duponchelle
e9fb7f4981
Make sure an image is not partially uploaded
Fix #505
2016-05-02 17:25:46 +02:00
Julien Duponchelle
d952718f30
Fix RuntimeWarning: You have iterated over the result of
pkg_resources.parse_version. This is a legacy behavior

Fix #504
2016-05-02 17:14:15 +02:00
Julien Duponchelle
a3b243c501
Merge branch '1.5' into 2.0 2016-05-02 17:08:15 +02:00
Julien Duponchelle
978ec1b5be
Fix test 2016-05-02 17:06:51 +02:00
Julien Duponchelle
98b32cd9e2
Merge branch '1.5' into 2.0 2016-05-02 16:59:56 +02:00
Julien Duponchelle
936faaba5a
gns3z => gns3project 2016-05-02 10:33:04 +02:00
Julien Duponchelle
92d1594afd
Return link object when start capturing 2016-04-26 18:13:15 +02:00
Julien Duponchelle
76b2ca2bc0
Return the full path to the capture 2016-04-26 17:36:24 +02:00
Julien Duponchelle
264254e657
Captures written in the captures directory on the controller 2016-04-26 17:10:33 +02:00
Julien Duponchelle
9a1eeb57e9
Controll of the project directory in the controller 2016-04-26 14:34:49 +02:00
Julien Duponchelle
7390d833ba
Merge branch 'master' into 2.0 2016-04-26 11:50:16 +02:00
Julien Duponchelle
1d08d4a5fa
Merge branch 'master' into 1.5 2016-04-26 11:49:24 +02:00
Julien Duponchelle
6d6e8196d2
Allow only .pcap to be downloaded from remote stream API
Fix #500
2016-04-26 09:52:18 +02:00
Julien Duponchelle
75196b8a55
Fix incrementation of qemu mac address
Fix #501
2016-04-25 16:36:20 +02:00
Julien Duponchelle
1ce576c020
Stream pcap from compute to controller to client 2016-04-22 16:22:03 +02:00
Julien Duponchelle
48e71617d6
Store capture in a temporary directory on compute node 2016-04-21 17:27:49 +02:00
Julien Duponchelle
1a22fb9250
Expose the capture status in controller link API 2016-04-21 16:11:42 +02:00
Julien Duponchelle
549a6280c0
Data link type is on the capture not on the link 2016-04-21 13:49:29 +02:00
Julien Duponchelle
04a1b2df3b
Method for start / stop capture on a link
Ref https://github.com/GNS3/gns3-gui/issues/1117
2016-04-21 12:14:09 +02:00
Julien Duponchelle
f6593663b5
APi for listing VM in controller 2016-04-20 14:38:14 +02:00
Julien Duponchelle
c8c61f2ae8
Add endpoint to list the compute nodes 2016-04-19 16:53:41 +02:00
Julien Duponchelle
f5e5cf5059
Save the list of compute node
Fix #494
2016-04-19 15:35:50 +02:00
Julien Duponchelle
ce5461aee8
Raise error if we try to controll a non controller server
Fix #451
2016-04-19 10:47:53 +02:00
Julien Duponchelle
6b9e46950c
Update VPCS and delete VPCS via controller 2016-04-18 18:56:03 +02:00
Julien Duponchelle
d7ed37ce02
Update and delete VM on controller 2016-04-18 17:36:38 +02:00
Julien Duponchelle
6c11ad5fa6
Reload VM 2016-04-18 16:57:02 +02:00
Julien Duponchelle
58d4a529d4
Rename hypervisor to compute
Fix #487
2016-04-15 17:59:59 +02:00
Julien Duponchelle
2055cdea5e
/start /stop and /suspend API for VM via container 2016-04-12 18:02:36 +02:00
Julien Duponchelle
ad7ca86f32
Fix 1.5 merge 2016-04-12 16:21:35 +02:00
Julien Duponchelle
6b61811f9d
Merge branch '1.5' into 2.0 2016-04-12 16:14:37 +02:00
Julien Duponchelle
b7a859fa30
Import / Export with images
Ref https://github.com/GNS3/gns3-gui/issues/1173
2016-04-12 10:11:45 +02:00
Julien Duponchelle
cd393491d5
At export use only relative image path
Fix https://github.com/GNS3/gns3-gui/issues/1176
2016-04-11 17:18:03 +02:00
Julien Duponchelle
f6d0971f15
Fix tests 2016-04-11 16:57:59 +02:00
Julien Duponchelle
9e8fcab65c
Merge branch '1.5' into 2.0 2016-04-08 17:40:27 +02:00
Julien Duponchelle
2109fd4f4d
Test docker resolution 2016-04-07 14:33:04 +02:00
Julien Duponchelle
977ccabf98
Server support for VNC console resolution
Ref https://github.com/GNS3/gns3-gui/issues/1165
2016-04-07 13:29:11 +02:00
Jeremy Grossmann
6bc54b17c7 Merge pull request #481 from GNS3/import_linux
Flatten the project at export and support import for Linux
2016-04-06 11:55:46 -06:00
Jeremy Grossmann
bb63f51f80 Merge pull request #478 from GNS3/qcow2_rebase
Qcow2 rebase
2016-04-06 11:55:06 -06:00
Julien Duponchelle
9b9eddb30c
Fix VNC broke after container update
Fix https://github.com/GNS3/gns3-gui/issues/1163
2016-04-06 14:57:52 +02:00
Julien Duponchelle
e564c84529
Flatten the project at export and support import for Linux
The client will send a flag to say if the import should be done
on the VM or not

Ref https://github.com/GNS3/gns3-gui/issues/1151
2016-04-06 12:08:00 +02:00
Julien Duponchelle
9ed15e55af
Move more import code to the server
https://github.com/GNS3/gns3-gui/issues/1156
2016-04-05 18:32:48 +02:00
Julien Duponchelle
2651a48102
Fix the docker aux port is lost after an update
Fix https://github.com/GNS3/gns3-gui/issues/1155
2016-04-05 16:33:40 +02:00
Julien Duponchelle
57394dfebf
Rebase the qcow2 when starting the VM if needed
Ref #466
2016-04-05 12:41:26 +02:00
Julien Duponchelle
7422b31b2c
Refactor code for avoid duplicate in disk management for Qemu 2016-04-05 12:35:07 +02:00
Julien Duponchelle
06b9e46cd2
Create Qcow2 class for reading Qcow2 and rebase it
Ref #466
2016-04-05 12:20:37 +02:00
Julien Duponchelle
3b04f556b3
In the export rename the .gns3 to project.gns3 2016-03-30 17:56:55 +02:00
Julien Duponchelle
bd71f0cf4c
Import API 2016-03-30 17:42:00 +02:00
Julien Duponchelle
879591eaf5
Export API 2016-03-30 17:42:00 +02:00
Julien Duponchelle
f39af9deb7
Fix tests 2016-03-30 17:41:37 +02:00
Julien Duponchelle
c563dbba8a
Change default port to 3080
Fix #487
2016-03-25 15:31:17 +01:00
Julien Duponchelle
2a20333877 Merge pull request #461 from GNS3/ehlers-docker-init
Support /etc/network/interfaces
2016-03-25 11:34:05 +01:00
Julien Duponchelle
23c48f5e3d
Add to project an API to write a file 2016-03-24 17:34:41 +01:00
Julien Duponchelle
e6ddce86b3
Docker init supports /etc/network/interfaces
* Generate an /etc/network/interfaces
* Use busybox also for aux console

Ref #460
2016-03-24 17:10:53 +01:00
Julien Duponchelle
40f496c7e9
Merge branch '1.5' into 2.0 2016-03-24 10:11:58 +01:00
Julien Duponchelle
d2c32bb570
Merge branch 'master' into 1.5 2016-03-24 09:17:52 +01:00
Julien Duponchelle
dcc4ddf11b
Add a test for \r\n
Fix #458
2016-03-21 16:54:03 +01:00
Julien Duponchelle
bc14d5d78e
Notif forwarded from hypervisor to controller 2016-03-18 16:56:23 +01:00
Julien Duponchelle
de61ed316c
The controller has a streaming API
Now we need to link the hypervisor to the controller.
2016-03-17 17:32:37 +01:00
Julien Duponchelle
76a0120d3e
PEP8 2016-03-17 15:16:09 +01:00
Julien Duponchelle
b55969d381
Notification feed for the hypervisor 2016-03-17 15:15:30 +01:00
Julien Duponchelle
dd2fdcc574
Merge branch '1.5' into networkv2 2016-03-16 16:35:23 +01:00
Julien Duponchelle
174e7cccea
Merge branch 'master' into 1.5 2016-03-16 16:35:03 +01:00
Julien Duponchelle
75212cda3f
Improve tests on Travis 2016-03-16 16:34:36 +01:00
Julien Duponchelle
aa6c44a470
Fix crash when a n hypervisor return no body 2016-03-16 16:10:06 +01:00
Julien Duponchelle
757ee34dac
Support auth for network V2 hypervisors 2016-03-16 15:55:07 +01:00
Julien Duponchelle
c0e452133d
Web interface for debbuging controller 2016-03-15 11:32:10 +01:00
Julien Duponchelle
7a095478fe
Success to add a dynamips with apiv2 2016-03-15 10:45:05 +01:00
Julien Duponchelle
8fed1d9b9f
API for deleting a link 2016-03-14 20:54:05 +01:00
Julien Duponchelle
ed291da566
Rebuild doc 2016-03-14 20:37:07 +01:00
Julien Duponchelle
9062490be3
API for deleting a list 2016-03-14 17:40:27 +01:00
Julien Duponchelle
9771b33b68
Create link using UDP work 2016-03-14 16:51:47 +01:00
Julien Duponchelle
65099b9364
Link API should work now need to implement the client 2016-03-11 20:13:52 +01:00
Julien Duponchelle
6a19e4d822
Rebuild link sample 2016-03-11 17:20:09 +01:00
Julien Duponchelle
8c1560332e
Remove /controller from the api endpoint 2016-03-11 17:16:09 +01:00
Julien Duponchelle
e3580d52c3
Dummy link api documentation 2016-03-11 17:02:50 +01:00
Julien Duponchelle
abdda4d3b3
Link API (do nothing for the moment) 2016-03-11 16:51:35 +01:00
Julien Duponchelle
6fad82c61d
Rebuild documentation 2016-03-11 15:49:28 +01:00
Julien Duponchelle
7d0b780dcc
Documentation 2016-03-11 15:21:21 +01:00
Julien Duponchelle
be4aa41dda
Create VPCS VM on controller 2016-03-11 15:06:14 +01:00
Julien Duponchelle
4326d412f9
API for creating a VM 2016-03-10 21:51:29 +01:00
Julien Duponchelle
58f1abff35
Close, commit and delete supported for projects in controller 2016-03-10 10:32:07 +01:00
Julien Duponchelle
3296b97f59
Rename modules => hypervisor 2016-03-08 16:12:46 +01:00
Julien Duponchelle
6fa2491255
Rename /controller/servers to /controller/hypervisors 2016-03-08 16:04:12 +01:00
Julien Duponchelle
8114c1d4be
Return just version number for API /v1/version for compatibility 2016-03-07 18:17:24 +01:00
Julien Duponchelle
b2ce7ee8d7
API V2 2016-03-07 17:57:12 +01:00
Julien Duponchelle
664cec97ba
Create /hypervisor and /controller namespace 2016-03-07 15:01:35 +01:00
Julien Duponchelle
e4b12f49d1
Build doc support controller 2016-03-04 17:50:17 +01:00
Julien Duponchelle
0921df520c
Return controller version as server version (temporary) 2016-03-04 16:58:53 +01:00
Julien Duponchelle
0532b4de8a
Fix logging issues with the controller 2016-03-04 16:55:59 +01:00
Julien Duponchelle
4d77b2918e
Raise an error if server flagged as local but should not
If the controller is not started with --local but the server ID
is local it's raise an error.
2016-03-04 16:11:31 +01:00
Julien Duponchelle
ee4b094160
Fix tests on @ehlers Docker init patch 2016-03-04 09:08:40 +01:00
Julien Duponchelle
aad69e9650
Create a /server API for register servers
This allow to push to the controller information about
the connection to a server.
2016-03-03 16:05:09 +01:00
Julien Duponchelle
84eb8356e8
Create a container class and a flag for enable it from command line
Ref #417
2016-03-02 09:49:52 +01:00
Julien Duponchelle
eae6f33e29
Inject an init script
It's very basic for the moment

Ref #1089
2016-03-01 18:38:03 +01:00
Julien Duponchelle
59c1e125d3
Change the name of veth to avoid bugs :(
Fun stuff the name create different behavior with
network manager.

Ref #440
2016-03-01 15:33:30 +01:00
Julien Duponchelle
dab1b26569
Aux console for Docker
Fix https://github.com/GNS3/gns3-gui/issues/1039
2016-03-01 14:53:43 +01:00
Julien Duponchelle
03ffce0a75
Docker VNC support
Ref https://github.com/GNS3/gns3-gui/issues/947
2016-02-29 23:09:47 +01:00
Julien Duponchelle
9d28f4c0c3
Refactor aux port allocation
This move the allocation of aux port to the base vm.
Also now the free of console port during the close is in the
base VM.

An aux port is allocated to the docker container but not used
for the moment.

Ref https://github.com/GNS3/gns3-gui/issues/1039
2016-02-29 10:44:08 +01:00
Julien Duponchelle
c333e9451f
Fix pull of images
Fix #445
2016-02-24 17:08:28 +01:00
Julien Duponchelle
2d42f32d71
Restart the container if running and you change the hostname
Fix #439
2016-02-24 15:47:53 +01:00
Julien Duponchelle
057b637961
Set the hostname for docker containers
Fix #437
2016-02-23 19:22:35 +01:00
Julien Duponchelle
f35c742b07
Avoid consuming 100% of CPU when stopping docker container
Fix #427
2016-02-19 17:53:17 +01:00
Julien Duponchelle
f4f9e6eba6
Fix Docker has returned an error: 500 b'No command specified'
Fix #433
2016-02-19 17:01:28 +01:00
Julien Duponchelle
7aedfc92fa
Fix test 2016-02-17 10:37:22 +01:00
Julien Duponchelle
01e2fcf225
Fix docker console port lost during update
Fix https://github.com/GNS3/gns3-gui/issues/1026
2016-02-12 16:38:16 +01:00
Julien Duponchelle
1532b3ed9b
Support for mounting volumes
Fix #425
2016-02-12 11:57:56 +01:00
Julien Duponchelle
9b0088728f
Catch docker namespace error
Fix #424
2016-02-11 15:49:28 +01:00
Julien Duponchelle
5a8408cdb9
Fix a crash in Travis tests
Fix #422
2016-02-10 17:14:14 +01:00
Julien Duponchelle
a7ec224b6d
Docker capture and refactor common capture code
Fix https://github.com/GNS3/gns3-gui/issues/891
2016-02-09 16:07:33 +01:00
Julien Duponchelle
89e86b7778
Create veth for docker even if link is not connected
Fix #406
2016-02-09 14:22:37 +01:00
Julien Duponchelle
f6fb0623be
Merge branch 'master' into 1.5 2016-02-08 13:14:30 +01:00
Julien Duponchelle
373113545f
Code cleanup 2016-02-05 10:07:13 +01:00
Julien Duponchelle
5bee927481
Disallow creating project with " in the path
It's not supported by dynamips.

Fix https://github.com/GNS3/gns3-gui/issues/987
2016-02-04 11:47:48 +01:00
Jeremy Grossmann
3e4423f663 Merge pull request #418 from GNS3/no_spice
Do not list qemu binary with -spice in the name
2016-02-03 13:45:03 -08:00
Julien Duponchelle
537122daba
Do not list qemu binary with -spice in the name
It's create confusion and you can enable spice with the -spice
options.

Fix https://github.com/GNS3/gns3-gui/issues/981
2016-02-03 16:40:39 +01:00
Julien Duponchelle
fd22cd8361
Send command line used to start the VM to client
Add a command_line attribute to the VM object with
the command line used to start the VM.

Now /start return the object in order to get
this new attribute. And the HTTP status code
is 200 instead of 204 because 204 disallow body.

Support:
* Qemu
* Dynamips
* IOU

Ref https://github.com/GNS3/gns3-gui/issues/513
2016-02-02 18:25:17 +01:00