Commit Graph

575 Commits

Author SHA1 Message Date
Julien Duponchelle
0abf2e82d6 Improve server debug logging 2015-02-05 15:35:52 +01:00
Julien Duponchelle
41a8872819 Refactor VPCS script file loading
This allow to support moving the project on disk
2015-02-05 14:20:01 +01:00
Julien Duponchelle
869405738e Code cleanup 2015-02-05 13:55:53 +01:00
Julien Duponchelle
b92e065add Fix binary location change for VPCS 2015-02-05 12:00:34 +01:00
Julien Duponchelle
dae48b2de4 Update temporary status if project change location
This avoid race condition during file move.
2015-02-05 11:44:51 +01:00
Julien Duponchelle
8367a9eb30 Remove unused files (we can restore them later via git history) 2015-02-05 11:00:42 +01:00
Jeremy
291fac7084 Add project_id in all VM calls. 2015-02-04 17:13:35 -07:00
Jeremy
b680138073 Merge remote-tracking branch 'origin/asyncio' into asyncio
Conflicts:
	gns3server/modules/project.py
	tests/modules/test_project.py
2015-02-04 13:52:46 -07:00
Jeremy
1bea78194c Explicit ID names, remove {uuid} from URLs and add vms in URLs for VMs. 2015-02-04 13:48:29 -07:00
Julien Duponchelle
c5c219ffe1 Allow modification of path from the client 2015-02-04 21:17:00 +01:00
Julien Duponchelle
2ace014a3c Cleanup old temporary project at startup 2015-02-04 17:18:53 +01:00
Julien Duponchelle
ca354ae7f2 Doc API V1 2015-02-04 10:31:31 +01:00
Julien Duponchelle
08158884a4 Add api versionning 2015-02-04 10:24:59 +01:00
Jeremy
119bebee25 Documentation. 2015-02-03 18:44:04 -07:00
Jeremy
59c82e26df Use project_id instead of project_uuid for the API. 2015-02-03 18:40:13 -07:00
Jeremy
d2699f051d Change URL for projects: /project becomes /projects and project_id is used instead of uuid. 2015-02-03 18:23:11 -07:00
Julien Duponchelle
aeb83a7945 Support %h in VPCS config file 2015-02-03 21:48:20 +01:00
Julien Duponchelle
f572f3fc95 You can't modify startup script remotely 2015-02-03 20:29:28 +01:00
Julien Duponchelle
0ce344b1d2 PEP8 2015-02-03 10:49:21 +01:00
Jeremy
81f9252554 Fixes nasty bug when close a cloned VirtualBox VM. 2015-02-02 18:56:13 -07:00
Jeremy
66569f26a4 Make sure to wait for the unload coroutine to finish when the server is shutting down. 2015-02-02 17:01:25 -07:00
Jeremy
df72369b0e Fix VirtualBox VM close. 2015-02-02 17:00:29 -07:00
Jeremy
33d5882a4a Add traceback info when catching an exception to help with debugging. 2015-02-02 15:36:13 -07:00
Jeremy
471fbe576c Ignore OSError when checking for config file changes. 2015-02-02 15:00:56 -07:00
Jeremy
45ca493ecf Use module settings from the config file. 2015-02-02 14:52:58 -07:00
Julien Duponchelle
2c3fe2ad4b Repare debug log 2015-02-02 21:28:42 +01:00
Jeremy
aecd7dedba Fixes app name for the config file on Linux. 2015-02-02 13:13:56 -07:00
Julien Duponchelle
0ae8d8031a Override configuration from command line even in case of config reload 2015-02-02 15:08:46 +01:00
Julien Duponchelle
6abf420ce1 Support configuration live reload 2015-02-02 15:01:48 +01:00
Julien Duponchelle
21020a2753 Fix server configuration path 2015-02-02 10:49:46 +01:00
Jeremy
a3a304bd12 Load port ranges from the config file. 2015-02-01 20:43:55 -07:00
Jeremy
0c90393b5b Send explicit error message when client is checking for the server version. 2015-02-01 16:55:08 -07:00
Jeremy
8d471a89a8 Check for OSError when starting the server. 2015-02-01 15:56:10 -07:00
Jeremy
334835c985 PEP8 + documentation. 2015-01-31 14:34:49 -07:00
Jeremy
8a00d30e23 Change ports to adapters in VirtualBox API entry points. 2015-01-31 12:07:30 -07:00
Jeremy
22369ade49 Rename port_id to port_number for VPCS and adapter_id for VirtualBox to avoid confusion. 2015-01-31 12:01:23 -07:00
Jeremy
fa978b6a28 Send all VirtualBox settings when creating the VM. 2015-01-30 19:36:05 -07:00
Julien Duponchelle
8bc26420b7 If not script file is setted we use the default from VPCS 2015-01-30 14:57:25 +01:00
Julien Duponchelle
29a4a0634d Add console debug 2015-01-27 11:39:31 +01:00
Jeremy
e60366c5bb Change URL to get all VirtualBox VMs. 2015-01-26 20:29:02 -07:00
Julien Duponchelle
776bfea3d7 Clean enable debug mode 2015-01-26 17:40:41 +01:00
Julien Duponchelle
6764c6e866 Useless debug 2015-01-26 16:39:09 +01:00
Julien Duponchelle
9abf323e7d Send GNS 3 server version in header and upgrade aiohttp 2015-01-26 14:40:31 +01:00
Julien Duponchelle
df8bdcc152 Catch exceptions from rmtree 2015-01-26 13:54:44 +01:00
Julien Duponchelle
4518404706 Run rmtree in a different thread 2015-01-26 12:10:30 +01:00
Julien Duponchelle
1bfb201368 Enable code live reload only in debug mode 2015-01-26 09:51:29 +01:00
Julien Duponchelle
70faf76c10 PEP8, documentation update, test fix 2015-01-26 09:36:26 +01:00
Jeremy
50fea669b5 Network handler for UDP port allocation and server network interfaces. 2015-01-24 15:32:58 -07:00
Jeremy
c002bbfb23 Minimal SSL support. 2015-01-24 12:11:51 -07:00
Jeremy
365af02f37 Packet capture support for VirtualBox. 2015-01-23 18:33:49 -07:00
Jeremy
ff63530f52 Get all available VirtualBox VMs on the server. 2015-01-23 17:57:54 -07:00
Jeremy
6460e94311 More VirtualBox implementation. 2015-01-23 16:38:46 -07:00
Jeremy
bc3d63081b Unload should not delete VMs, just close them. 2015-01-23 16:36:58 -07:00
Jeremy
6e7a5ca8bd Adds debug and quiet command line args. 2015-01-23 13:10:57 -07:00
Jeremy
39e3ca91a9 Fixes module unload & adds host, port and allow-remote-console command line args. 2015-01-23 13:01:23 -07:00
Julien Duponchelle
59f940625a Flag --local 2015-01-23 18:37:29 +01:00
Julien Duponchelle
8e249b670d Set a location by default 2015-01-23 17:39:17 +01:00
Julien Duponchelle
7bed9f56bc Avoid crash when closing vms
Otherwise the size of dict change and Python raise
an exception.
2015-01-23 17:33:58 +01:00
Julien Duponchelle
017c5ac9f6 Allow changing location only for local usage 2015-01-23 16:58:14 +01:00
grossmj
4f2764c0b4 Fixes module unload. 2015-01-23 08:44:00 -07:00
Julien Duponchelle
547adf0dc6 Get project 2015-01-23 16:18:40 +01:00
Julien Duponchelle
0e76527ce2 Update a project 2015-01-23 16:13:58 +01:00
Julien Duponchelle
abc885049f Temporary project 2015-01-23 16:02:26 +01:00
Julien Duponchelle
7bf121c6da When we remove a VM, the VM is removed from the project. 2015-01-23 14:37:21 +01:00
Julien Duponchelle
3f5c2390cd Close a project 2015-01-23 14:07:10 +01:00
Julien Duponchelle
986a7f55ef Delete a project 2015-01-23 11:48:20 +01:00
Julien Duponchelle
f97c2b2cbe Delete a VM, mark it as destroyable 2015-01-23 11:28:58 +01:00
Julien Duponchelle
28308b10bc Add missing documentation 2015-01-23 10:11:40 +01:00
grossmj
0d503b779e Explicitly close VM when the server is shutdown. 2015-01-22 23:40:51 -07:00
grossmj
e61e976368 Adapters support for VirtualBox. 2015-01-22 21:31:26 -07:00
grossmj
2a8823b856 Use the Proactor event loop on Windows. 2015-01-22 21:11:57 -07:00
Jeremy
05c0efe39b More VirtualBox work. 2015-01-22 19:07:09 -07:00
Jeremy
d9b02efbfa Rename destroy to close or unload (more friendly). 2015-01-22 19:06:17 -07:00
Jeremy
2681defe27 Moves NIO creation to the base manager. 2015-01-22 18:04:24 -07:00
Jeremy
6ec4dea9b9 Fixes reload call in VPCS handler. 2015-01-22 15:04:44 -07:00
Julien Duponchelle
2c50bb607f VPCS Mac address / project 2015-01-22 18:47:27 +01:00
Julien Duponchelle
72c6182062 Typo 2015-01-22 17:04:14 +01:00
Julien Duponchelle
6644c640db Attribute mac address 2015-01-22 16:12:21 +01:00
Julien Duponchelle
08b2dc6369 Cleanup VMS when leaving 2015-01-22 11:49:22 +01:00
Julien Duponchelle
e12e6044dc Delete VPCS 2015-01-22 11:34:10 +01:00
Julien Duponchelle
545a3d2b58 PEP8 2015-01-22 10:57:08 +01:00
Julien Duponchelle
8d3ea60404 VPCS reload 2015-01-22 10:55:11 +01:00
Jeremy
3b7d08a80e Suspend and resume for VirtualBox. 2015-01-21 19:28:52 -07:00
Jeremy
87bd0d1869 VirtualBox VM almost done. 2015-01-21 19:26:39 -07:00
Jeremy
f231b06833 No need for start_vm and stop_vm in the manager. 2015-01-21 17:41:35 -07:00
Jeremy
0b1b27db8f Add module name to base manager. 2015-01-21 15:21:15 -07:00
Julien Duponchelle
f3e07d5ad9 Fix random failure related to ports 2015-01-21 22:21:01 +01:00
Julien Duponchelle
ef4ecbfb6a Improve VPCS port change test 2015-01-21 22:09:52 +01:00
Jeremy
7ce1cf3f84 Return correct status codes and fix tests. 2015-01-21 14:01:15 -07:00
Julien Duponchelle
368d1ff70b Update VPCS instance 2015-01-21 21:46:16 +01:00
Julien Duponchelle
7abb426d04 Get informations about a VPCS instance 2015-01-21 17:21:17 +01:00
Julien Duponchelle
87a089457f Update script file 2015-01-21 16:43:34 +01:00
Julien Duponchelle
df31b2ad5a Fix project path 2015-01-21 11:33:24 +01:00
Jeremy
ba91cbaac0 Remove find_unused_port from the attic. 2015-01-20 19:10:08 -07:00
Jeremy
7a19c9062e Pass *args to VM_CLASS.
Move Config the the base manager.
More checks for projects (UUID,  makedirs).
Return error 500 when a VMError exception is raised.
Some more progress to VirtualBox.
2015-01-20 19:02:22 -07:00
Jeremy
061d3223a7 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-01-20 15:28:45 -07:00
Jeremy
17f6223fb1 Try to fix VirtualBox create test. 2015-01-20 15:28:40 -07:00
Julien Duponchelle
fc66e4592a VPCS is trully async 2015-01-20 23:27:28 +01:00
Julien Duponchelle
984d47f9c8 Test work without vpcs binary 2015-01-20 22:50:26 +01:00
Julien Duponchelle
0eaa7be86a PEP 8 Enforcer. 2015-01-20 22:13:58 +01:00
Julien Duponchelle
649d4e5143 Allow user to set console port 2015-01-20 20:54:46 +01:00
Julien Duponchelle
f2289874af Raise exception if we try to reserve an already reserve port 2015-01-20 20:09:20 +01:00
Julien Duponchelle
fa57485f11 Support script file 2015-01-20 19:56:18 +01:00
Julien Duponchelle
54eb8d9e81 Drop decorator for async test 2015-01-20 18:55:17 +01:00
Julien Duponchelle
db31afeb63 Merge branch 'master' into asyncio
Conflicts:
	gns3server/old_modules/qemu/qemu_vm.py
	gns3server/version.py
2015-01-20 16:45:09 +01:00
Julien Duponchelle
bbee5f90a0 Yet another PEP 8 :) 2015-01-20 16:37:18 +01:00
Julien Duponchelle
7cf409c392 Kill VPCS process when the server exit 2015-01-20 16:24:46 +01:00
Julien Duponchelle
78237e9fb6 Bold parameter in documentation in order to improve readability 2015-01-20 15:31:27 +01:00
Julien Duponchelle
f5ac73d1ca Fix documentation generation 2015-01-20 15:27:28 +01:00
Julien Duponchelle
0b97509a74 Do not color logger message 2015-01-20 15:18:57 +01:00
Julien Duponchelle
4488cc3960 Colored logs 2015-01-20 15:10:38 +01:00
Julien Duponchelle
db41076ce5 Use the project working directory for VPCS VM 2015-01-20 14:31:47 +01:00
Julien Duponchelle
f5ed9fbcf1 PEP 8 clean thanks to auto pep8 2015-01-20 13:24:00 +01:00
Julien Duponchelle
7f185663d1 VPCS Device => VPCS VM 2015-01-20 13:12:26 +01:00
Julien Duponchelle
68d0e5f42d PEP8 2015-01-20 13:04:20 +01:00
Julien Duponchelle
0695e75e77 Fix tests 2015-01-20 12:46:15 +01:00
Jeremy
7fff25a9a9 UUID support for VMs.
Basic VirtualBox support (create, start and stop).
Some refactoring for BaseVM class.
Updated CURL command in tests.
2015-01-19 18:30:57 -07:00
Jeremy
fe22576ae2 Some quick cleaning. 2015-01-19 14:43:35 -07:00
Julien Duponchelle
345b471c47 Drop unused code 2015-01-19 17:58:01 +01:00
Julien Duponchelle
ed973dbcf2 Project handler use ProjectManager 2015-01-19 17:12:36 +01:00
Julien Duponchelle
f0094cc0d0 Project Manager 2015-01-19 17:07:32 +01:00
Julien Duponchelle
240d83411c Create a project entity 2015-01-19 16:23:41 +01:00
Julien Duponchelle
a9a09cc0bc Temporaru drop old tornado logging 2015-01-19 15:05:44 +01:00
Julien Duponchelle
a06d935ef4 Drop tornado 2015-01-19 14:21:08 +01:00
Julien Duponchelle
f0880c4a37 Drop queue codes because it's too specific 2015-01-19 13:47:20 +01:00
Julien Duponchelle
73a481e510 Refactor port manager 2015-01-19 11:22:24 +01:00
Jeremy
ae8e2f4199 Prepare VirtualBox module. 2015-01-18 16:26:56 -07:00
Jeremy
b6212fc885 Improve Port Manager to handle UDP ports. 2015-01-18 15:41:53 -07:00
Jeremy
1cfce6ac5e Merge remote-tracking branch 'origin/asyncio' into asyncio
Conflicts:
	gns3server/handlers/vpcs_handler.py
	tests/api/test_version.py
	tests/api/test_vpcs.py
2015-01-18 12:23:42 -07:00
Jeremy
d142a9a885 Rename vpcs_id to id. Must be an integer in the route definition. 2015-01-18 12:12:11 -07:00
Jeremy
c47081f363 Bump version to 1.2.3 2015-01-16 17:58:09 -07:00
Jeremy
3793789732 Fixes broken -netdev + legacy virtio in Qemu support. 2015-01-16 17:44:07 -07:00
Julien Duponchelle
77db08c39e Remove NIO from VPCS 2015-01-16 21:39:58 +01:00
Julien Duponchelle
8e307c8cbb Use PATH environnement variable for searching binary 2015-01-16 20:23:43 +01:00
Jeremy
4c010b466d Bump version to 1.2.3.dev1 2015-01-16 10:43:44 -07:00
Julien Duponchelle
bf6f62e629 Serialize NIO 2015-01-16 17:09:45 +01:00
Julien Duponchelle
0cdc1c3042 VCPS create NIO work and tested 2015-01-16 16:20:10 +01:00
Julien Duponchelle
aff834f565 Oops bad merge 2015-01-16 10:18:02 +01:00
Julien Duponchelle
7a767a6b92 Merge 1.2.2 into asyncio
Conflicts:
	gns3server/version.py
2015-01-16 09:43:58 +01:00
Jeremy
701a1626f7 Bump version to 1.2.2 2015-01-15 17:44:09 -07:00
Jeremy
2ee49fed57 Some cleaning. 2015-01-15 17:43:06 -07:00
Jeremy
9e83329f14 Rename Device to VM. 2015-01-15 16:50:36 -07:00
Julien Duponchelle
c1ef406311 A basic implementation of port manager 2015-01-15 16:59:01 +01:00
Julien Duponchelle
3abcac43ab Test the stop method 2015-01-15 14:27:33 +01:00
Julien Duponchelle
6bb2b88f1a It's was hard but i have finally a beginning of test for start VPCS 2015-01-15 13:02:43 +01:00
Jeremy
e6e83ffa8a Update the VM name in VirtualBox for linked clones. 2015-01-14 16:48:32 -07:00
Julien Duponchelle
6c35cc304e Dirty stop start for VPCS 2015-01-14 18:52:02 +01:00
Julien Duponchelle
1431c66c54 Documentation generation 2015-01-14 12:32:56 +01:00
Julien Duponchelle
aab944fb6c Move old test to old_tests directory 2015-01-14 11:43:23 +01:00
Jeremy
369cd06279 Merge latest changes from the POC. 2015-01-13 18:26:32 -07:00