Commit Graph

648 Commits

Author SHA1 Message Date
Julien Duponchelle
b03b9226ff So we have running code for a qemu module
Now the handlers. The telnet code is not yet async
2015-02-19 16:46:57 +01:00
Julien Duponchelle
25bcbfb073 Allocation of console port in base vm 2015-02-19 11:45:43 +01:00
Jeremy
4a3e6632c1 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-18 18:40:16 -07:00
Jeremy
380c4d8211 Fixes capture directory path. 2015-02-18 18:40:01 -07:00
grossmj
3d1363150e Fixes ghost file path. 2015-02-18 18:24:35 -07:00
grossmj
610dee957d Use HTTP error 409 instead of 500 for VMError. 2015-02-18 17:48:02 -07:00
Julien Duponchelle
d65617657c Fix old project directories renames 2015-02-18 16:13:09 +01:00
Julien Duponchelle
3cb7213427 Fix crash in VPCS 2015-02-18 15:18:18 +01:00
Julien Duponchelle
03b6563864 Initial config path for IOU 2015-02-17 18:12:43 +01:00
Julien Duponchelle
dd1833c4f0 iourc_path is set from server settings file 2015-02-17 16:40:45 +01:00
Julien Duponchelle
0e98497a99 Add an endpoint for exporting the initial config file 2015-02-17 14:52:51 +01:00
Julien Duponchelle
57348d0508 Better organisation of the API documentation 2015-02-17 10:37:09 +01:00
Julien Duponchelle
5170428913 Fix a capture crash 2015-02-17 10:01:15 +01:00
grossmj
dc4df68c7a Keep Dynamips logs. 2015-02-16 21:30:31 -07:00
Jeremy
e6fd471dd5 Save Dynamips VM configs when closing a project. 2015-02-16 18:21:10 -07:00
Jeremy
516b882122 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-16 16:53:56 -07:00
Jeremy
3e95bb9748 Adapter settings and configs for Dynamips VMs. 2015-02-16 16:53:50 -07:00
Julien Duponchelle
6c3a926ce3 Capture is OK on server side 2015-02-16 20:08:04 +01:00
Julien Duponchelle
018e3c1451 Fix IOU closing 2015-02-16 17:40:13 +01:00
Julien Duponchelle
15f89776d3 All current iou code is async 2015-02-16 17:20:07 +01:00
Julien Duponchelle
d323234520 Harmonisation of slot, adapter notion 2015-02-16 10:19:50 +01:00
Julien Duponchelle
3ceb43fa62 Fix tests 2015-02-16 10:11:46 +01:00
Julien Duponchelle
605afa1d33 Fix bad execption name in IOU 2015-02-16 10:05:54 +01:00
grossmj
78ffe313fd Dynamips VM & device deletion and ghost support. 2015-02-15 22:13:24 -07:00
grossmj
26f7195288 Dynamips devices packet capture. 2015-02-15 17:45:53 -07:00
grossmj
f99e834c37 Dynamips devices support (packet capture to complete). 2015-02-15 12:18:12 -07:00
Jeremy
4f38d96522 Dynamips devices. 2015-02-13 20:01:18 -07:00
Jeremy
094339304c Packet capture for Dynamips VMs. 2015-02-13 15:41:56 -07:00
Jeremy
6ac6c7d796 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-13 15:11:19 -07:00
Jeremy
a5ac7c5481 Dynamips NIO connections. 2015-02-13 15:11:14 -07:00
Julien Duponchelle
e082cd8b1a Update the remote IOU initial config 2015-02-13 22:16:43 +01:00
Julien Duponchelle
83edc649d2 Rename NVRAM to the correct application id before start the server 2015-02-13 20:57:20 +01:00
Julien Duponchelle
a9a3bb1c38 Pep8 2015-02-13 20:57:09 +01:00
Julien Duponchelle
49f012cf4c Turn off documentation sidebar because it's broken 2015-02-13 18:27:08 +01:00
Julien Duponchelle
2cab5293c7 Add the notion of adapters and slot in the api 2015-02-13 18:09:50 +01:00
Julien Duponchelle
821eb5e92b Repare config file loading 2015-02-13 17:34:22 +01:00
Julien Duponchelle
ee019caa37 Support l1_keepalives in IOU 2015-02-13 16:57:35 +01:00
Julien Duponchelle
1550ca01e6 IOU support nio ethernet 2015-02-13 16:41:18 +01:00
Julien Duponchelle
3e1875b069 Set console host from port manager 2015-02-13 14:46:00 +01:00
Julien Duponchelle
68427eaddf Auto PEP8 cleanup 2015-02-13 14:43:28 +01:00
Julien Duponchelle
a4669689e7 Fix tests due to test reading the local config file 2015-02-13 11:15:11 +01:00
grossmj
0a5aaedc7c Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-12 19:15:47 -07:00
grossmj
8f089c45f5 Fixes a few problems in Dynamips implementation. 2015-02-12 19:15:35 -07:00
Julien Duponchelle
f99d825346 Support network for IOU 2015-02-12 22:29:34 +01:00
Julien Duponchelle
9160d3caf4 Remove old directories to avoid editing them by mistake... 2015-02-12 22:29:34 +01:00
Julien Duponchelle
3471b03ef9 Clarify JSON schema validation errors 2015-02-12 22:29:33 +01:00
Julien Duponchelle
8b61aa9ae7 Set ram, ethernet adapters, serial adapters 2015-02-12 22:29:33 +01:00
Julien Duponchelle
05df7001a3 Successfully create an iou device from the GUI via HTTP 2015-02-12 22:29:33 +01:00
Julien Duponchelle
4689024b50 Add a --live options to control livereload
Because the livereload bug due to timezone issues with Vagrant
2015-02-12 22:29:33 +01:00
Julien Duponchelle
ebc214d6fa Fix tests and rename path to iou_path 2015-02-12 22:29:33 +01:00
Julien Duponchelle
fb69c693f6 Start iouyap 2015-02-12 22:29:33 +01:00
Julien Duponchelle
faa7472670 IOUCON start when vm start 2015-02-12 22:29:33 +01:00
Julien Duponchelle
986c63f344 HTTP api start iou process
Now we need to start ioucon
2015-02-12 22:29:32 +01:00
Julien Duponchelle
2e99ef69a9 Modules support start iou process (not ioucon and iouyap) 2015-02-12 22:29:32 +01:00
Jeremy
79a57ca420 New Dynamips integration part 3 2015-02-11 19:21:34 -07:00
grossmj
37945585b9 New Dynamips integration part 2 2015-02-10 21:50:02 -07:00
Jeremy
46cbcd6132 New Dynamips integration part 1 2015-02-09 18:24:13 -07:00
Jeremy
648850c411 Server listen to 0.0.0.0 by default. 2015-02-09 13:42:50 -07:00
Jeremy
30c452e938 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-09 13:41:36 -07:00
Jeremy
98586b93ee Add timeout on stopping a VPCS just in case. 2015-02-09 13:41:31 -07:00
Julien Duponchelle
2f85d71f32 Correctly override the config from command line
The tests was long write but allow me to found some typos
bugs.
2015-02-09 21:30:22 +01:00
Julien Duponchelle
b31af0abcd Sub directory project-files 2015-02-09 11:26:42 +01:00
grossmj
0d7d0a05c3 Handle old projects. 2015-02-08 18:10:04 -07:00
grossmj
2a3b37a3bd VirtualBox packet capture. 2015-02-08 14:44:56 -07:00
grossmj
d499402491 VirtualBox implementation complete. 2015-02-06 17:31:13 -07:00
Julien Duponchelle
e81dcd4bba Add /projects before /project 2015-02-06 17:42:25 +01:00
Julien Duponchelle
571044b3e8 Fix server close tests 2015-02-06 11:31:54 +01:00
Jeremy
8118d7762f Parallel execution when closing VMs. 2015-02-05 14:24:06 -07:00
Jeremy
f2ff933b20 Fixes console and close in VirtualBox VM. 2015-02-05 11:58:10 -07:00
Julien Duponchelle
ab122d969e Allow empty project directory 2015-02-05 17:57:51 +01:00
Julien Duponchelle
5a0c224292 Allow user to change project path on local server 2015-02-05 17:52:37 +01:00
Julien Duponchelle
9f7b8574c8 Useless print 2015-02-05 17:15:40 +01:00
Julien Duponchelle
30f10a559e Fix crash in debug log 2015-02-05 16:34:18 +01:00
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