Commit Graph

645 Commits

Author SHA1 Message Date
grossmj
de5e8f852d Cleaner and generic way to set Qemu & IOU VM settings. 2015-04-12 15:09:37 -06:00
Julien Duponchelle
3b4a060ae9 Fix missing IOU documentation
Fix #143
2015-04-07 16:09:27 +02:00
Julien Duponchelle
b330b2c157 The upload web page return a 200 in case of error
Otherwise IE doesn't display error messages...

Fix #132
2015-04-01 21:46:23 +02:00
grossmj
056ff14437 Fixes unicode decode error when saving IOS router configs. Fixes #115. 2015-03-28 18:09:53 -06:00
Julien Duponchelle
be199b77a5 Homepage cleanup 2015-03-27 10:04:16 +01:00
Julien Duponchelle
bff164afcb Merge pull request #106 from aka001/homepage_added
Added homepage
2015-03-27 09:46:42 +01:00
Jeremy
81ce86a8a7 Fixes use_default_iou_values param was not set. 2015-03-26 16:47:55 -06:00
Jeremy
879ed9e4e6 Fixes issue when exporting IOS router configs. 2015-03-25 14:58:04 -06:00
grossmj
588088ca93 Fixes bug when remove_nio() is not a coroutine for ATM and FR switches. 2015-03-24 22:15:49 -06:00
grossmj
980e63e667 Allocate a random port for Qemu monitor. Fixes issue with pre 1.3 projects. 2015-03-23 22:52:02 -06:00
grossmj
73310105a8 Fixes default chassis bug. 2015-03-23 21:13:22 -06:00
Akash Agrawall
a25b17fe95 Removed merge conflict 2015-03-24 02:42:38 +05:30
grossmj
24300b2502 Adds project id when requesting UDP port. 2015-03-21 22:27:40 -06:00
grossmj
628dfef0d3 Initialize chassis when creating an IOS router. Fixes #107. 2015-03-21 13:58:52 -06:00
Akash Agrawall
257735255c Added homepage 2015-03-20 17:09:53 +05:30
Jeremy
8415117d2d Save IOS router configs when saving the project (done right this time). 2015-03-18 15:34:31 -06:00
Julien Duponchelle
4a9f578784 Support IOURC update 2015-03-17 19:00:14 +01:00
Julien Duponchelle
66cdf39ea2 Support uploading iourc 2015-03-17 16:31:45 +01:00
Jeremy
2de817214f Do not hide non-executable file in the UploadHandler. 2015-03-16 19:16:15 -06:00
Jeremy
cc9b575b77 Bind UDP tunnels to the correct source address. Fixes #96. 2015-03-16 12:45:21 -06:00
Julien Duponchelle
3a6a04b8e5 Fix version test 2015-03-16 10:18:37 +01:00
Jeremy
cf92bfe81e Alternative local server shutdown (mostly intended for Windows). 2015-03-13 18:57:27 -06:00
Jeremy
4ccca5dc99 Support RAM setting for VirtualBox VMs. 2015-03-13 17:13:36 -06:00
Jeremy
a81d2274cd Adds info either the server is started as a local server in VersionHandler response. 2015-03-13 15:15:27 -06:00
grossmj
c596147b59 List the iourc file in upload handler. 2015-03-12 20:56:10 -06:00
Jeremy
03796ca729 Server handler to shutdown a local server. 2015-03-12 18:44:05 -06:00
grossmj
ad5548f70b Convert more that IOU pre 1.3 projects but also other modules on remote servers. 2015-03-09 21:46:23 -06:00
grossmj
95766fa30d Let the server know about the project name and convert old IOU projects on remote servers. 2015-03-08 19:13:01 -06:00
grossmj
c3014632a4 Fixes rename bug for linked clones in VirtualBox. 2015-03-08 12:32:36 -06:00
Julien Duponchelle
be1e0fa1f2 Upload IOURC file via the web interface 2015-03-07 14:38:38 +01:00
Julien Duponchelle
d126db1fe9 The upload interfaces allow user to choose an image type 2015-03-07 13:52:40 +01:00
Jeremy
ee578d3c12 Fixes Qemu networking. 2015-03-06 20:08:00 -07:00
Julien Duponchelle
d657f94c18 Fix crash when you start capture on a non running IOU 2015-03-06 14:48:46 +01:00
Jeremy
7a6136ed14 Fixes adapter bug with VirtualBox. 2015-03-04 18:24:15 -07:00
Jeremy
6e89f2c7c7 Remove console_host from IOU and Qemu handlers. 2015-03-02 19:17:13 -07:00
Jeremy
a6869379c3 Fixes console restoration when loading a VirtualBox project. 2015-03-02 17:28:28 -07:00
Jeremy
f269ec9527 Fixes Qemu networking. 2015-03-02 16:34:28 -07:00
Julien Duponchelle
91ccd6167c API for reloading server config 2015-03-02 20:46:05 +01:00
Julien Duponchelle
a9afaa028c Garbage collect VM when closing a project 2015-03-02 17:17:28 +01:00
grossmj
c48ca212bd Stop Dynamips hypervisors used by devices before the project is closed.
This is to avoid locked files by hypervisors preventing temporary project working directories to be deleted.
2015-03-01 19:20:33 -07:00
Jeremy
0e8b8fa66f Update hypervisors working dir when the project is moved. 2015-02-27 16:51:17 -07:00
Julien Duponchelle
d0c386860e Fix curl sample generation in the documentation 2015-02-27 18:47:08 +01:00
Julien Duponchelle
ae7bf828cd Fix tests on MacOS 2015-02-27 18:30:22 +01:00
Jeremy
985c23a40e Explicitly import handlers so freezing application can find and include the right modules.
Do not import IOU on Windows to avoid importing unknown modules like fcntl on that platform.
2015-02-26 19:31:18 -07:00
Jeremy
58d92f1584 Fixes Dynamips console/aux ports restoration when loading a project. 2015-02-26 16:15:44 -07:00
Jeremy
54fc873be5 Prevent multiple projects with the same ID to be created. 2015-02-25 16:05:57 -07:00
Julien Duponchelle
7c2329d870 Garbage collect the lock 2015-02-25 11:19:16 +01:00
Julien Duponchelle
46b348e46a VM concurrency 2015-02-24 21:53:38 +01:00
Julien Duponchelle
250bb38d7c Crash report with Sentry 2015-02-24 17:40:01 +01:00
Julien Duponchelle
1ca445d5f5 Fix dynampis resume API 2015-02-24 10:02:06 +01:00
Jeremy
182d2e465e Use projects_path & images_path. 2015-02-23 17:08:34 -07:00
Jeremy
fb9f5d3c14 List only executable files in upload handler. 2015-02-23 15:56:40 -07:00
Jeremy
8b19029d97 List only executable files in upload handler. 2015-02-23 15:56:10 -07:00
Jeremy
0e8c184987 Recursive listing of the images directory & fixes bug when uploading no files. 2015-02-23 15:49:05 -07:00
Julien Duponchelle
4ffb2c8c20 Fix tests 2015-02-23 17:32:55 +01:00
Julien Duponchelle
89b7d62ec6 Some code cleanup 2015-02-23 17:28:17 +01:00
Julien Duponchelle
c9314ec509 autopep8 et upload files 2015-02-23 17:21:39 +01:00
Julien Duponchelle
259f6249e2 Fix tests 2015-02-23 16:09:52 +01:00
Julien Duponchelle
f7cd09d5fb Display an upload form (upload is not yet ready) 2015-02-23 11:28:33 +01:00
Jeremy
210aa6f12a Bit of cleaning. 2015-02-22 19:56:52 -07:00
Jeremy
565a7b35a6 Default NVRAM and Idle-PC for some IOS images. 2015-02-21 17:24:39 -07:00
Jeremy
9a745ed3f4 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-20 16:53:57 -07:00
Jeremy
af700e9bcb Idle-PC and auto idle-pc for Dynamips. 2015-02-20 16:53:51 -07:00
Julien Duponchelle
cecf2f5014 Async qemu monitor reading 2015-02-21 00:15:56 +01:00
Julien Duponchelle
15036837bb No project for qemu binaries list 2015-02-20 16:54:23 +01:00
Julien Duponchelle
8aa5514890 Qemu binary list 2015-02-20 14:39:13 +01:00
Jeremy
90f71e7581 Idle-PC proposals for Dynamips. 2015-02-19 19:14:30 -07:00
Jeremy
8d02f464c5 Dynamips import/export configs. 2015-02-19 16:04:15 -07:00
Julien Duponchelle
48f5c7c8b3 All params for qemu 2015-02-19 20:22:30 +01:00
Julien Duponchelle
d0244824bf Get a working Qemu handler. Next step add all parameters 2015-02-19 19:43:45 +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
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
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
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
2cab5293c7 Add the notion of adapters and slot in the api 2015-02-13 18:09:50 +01:00
Julien Duponchelle
ee019caa37 Support l1_keepalives in IOU 2015-02-13 16:57:35 +01:00
Julien Duponchelle
3e1875b069 Set console host from port manager 2015-02-13 14:46:00 +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
8b61aa9ae7 Set ram, ethernet adapters, serial adapters 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
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
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
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
5a0c224292 Allow user to change project path on local server 2015-02-05 17:52:37 +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
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
f572f3fc95 You can't modify startup script remotely 2015-02-03 20:29:28 +01:00
Jeremy
81f9252554 Fixes nasty bug when close a cloned VirtualBox VM. 2015-02-02 18:56:13 -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
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
Jeremy
e60366c5bb Change URL to get all VirtualBox VMs. 2015-01-26 20:29:02 -07:00
Julien Duponchelle
4518404706 Run rmtree in a different thread 2015-01-26 12:10:30 +01:00
Jeremy
50fea669b5 Network handler for UDP port allocation and server network interfaces. 2015-01-24 15:32:58 -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
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
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
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
72c6182062 Typo 2015-01-22 17:04:14 +01:00
Julien Duponchelle
e12e6044dc Delete VPCS 2015-01-22 11:34:10 +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
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
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
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
17f6223fb1 Try to fix VirtualBox create test. 2015-01-20 15:28:40 -07:00
Julien Duponchelle
649d4e5143 Allow user to set console port 2015-01-20 20:54:46 +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
f5ed9fbcf1 PEP 8 clean thanks to auto pep8 2015-01-20 13:24:00 +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
Julien Duponchelle
ed973dbcf2 Project handler use ProjectManager 2015-01-19 17:12:36 +01:00
Julien Duponchelle
240d83411c Create a project entity 2015-01-19 16:23:41 +01: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
Julien Duponchelle
77db08c39e Remove NIO from VPCS 2015-01-16 21:39:58 +01: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
c1ef406311 A basic implementation of port manager 2015-01-15 16:59:01 +01:00
Julien Duponchelle
6c35cc304e Dirty stop start for VPCS 2015-01-14 18:52:02 +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
Jeremy
61344a1669 New base server. 2015-01-13 17:05:26 -07:00
Jerry Seutter
c4afc33ea8 IOS devices can be deployed on cloud instances. 2014-10-27 18:12:56 -06:00
grossmj
b88abb7c91 Remote servers and load-balancing (still things to improve). 2014-10-19 17:29:04 -06:00
Jerry Seutter
ee88d6f808 Merge branch 'master' into dev 2014-09-29 17:24:52 -06:00
Jerry Seutter
b132c901c9 Disabling auth from version string 2014-09-18 20:39:12 +00:00
Michael
4fa87005bc Enabled HTTP Auth, SSL and DMS disabling based on cloud.conf availability 2014-09-08 21:51:56 -06:00
Michael
b84dda3c8e HTTP auth added to file_upload and jsonrpc 2014-09-03 22:12:34 -06:00
Michael
382e693fc8 Added authentication handler for basic auth check 2014-09-03 00:05:06 -06:00
Daniel Lintott
578bb5741d Override check_origin from tornado.websocket 2014-08-06 22:43:37 +01:00
grossmj
1fb4ab7e33 Minimal VirtualBox integration. 2014-07-17 15:28:02 -06:00
grossmj
4b5c38495a Change default projects directory from ~/Documents/GNS3/projects to ~/GNS3/projects. 2014-06-29 10:14:15 -06:00
grossmj
cb763e0926 Use Dynamips, IOU and VPCS identifiers to correctly load a topology. 2014-06-15 05:18:33 -06:00
grossmj
f9ee38dd55 Fixes issues to restore the correct working directories for IOU and VPCS devices when loading a project.
Prevent multiple clients to use the same server (this is not supported yet).
2014-06-10 09:33:27 -06:00
grossmj
7b58f14681 Some PEP8 style fixes. 2014-05-28 06:26:20 -06:00
grossmj
85ef421d72 Catch exceptions in file upload handler. 2014-05-17 18:39:37 -06:00
grossmj
c0a876af68 Move cloud code (module independent) to a builtin package. 2014-05-07 19:31:53 -06:00
grossmj
ed8b93dee2 Possibility to get the server version over JSON-RPC/Websocket. 2014-05-01 15:10:06 -06:00
grossmj
28ca12367a Proper server shutdown. 2014-04-26 17:51:47 -06:00
grossmj
724e3051fd Send the server version when a client connects. 2014-04-24 19:50:58 -06:00
grossmj
2ebac2f20a Update upload template. 2014-04-19 18:37:10 -06:00
grossmj
ada36e5382 Bump version to 1.0-alpha2. 2014-04-16 12:43:59 -06:00
grossmj
872515fa78 Use the FileExistsError exception. 2014-04-12 16:46:02 -06:00
grossmj
96231e3f7f More specific path checks (file vs directory). 2014-04-11 14:48:30 -06:00
grossmj
f4dd096a8b Rename all EnvironmentError to OSError.
Change version number to 1.0a2-dev1.
Check only on Python >= 3.3.
2014-04-02 16:10:59 -06:00
grossmj
a92da02973 Builtin destination to shutdown the server. 2014-03-31 18:36:45 -06:00
grossmj
c91f876656 Default host binding is 0.0.0.0.
Move the file uploader template.
UDP port allocation (removed the host).
Minor changes with iouyap lookup and remote server project directory.
2014-03-29 21:29:10 -06:00
grossmj
0f75dbc68a IOU integration.
Improvements on module management.
File upload support.
Config file for the server.
2014-03-11 15:45:04 -06:00
grossmj
687d5b75ab Renaming things & more inline docs. 2014-02-27 21:50:46 -07:00
grossmj
cef29e53aa General work on the Dynamips backend (need to finish and polish). 2014-01-31 16:31:34 -07:00
grossmj
0cb98318b5 Remove STOMP over Websockets implementation. 2013-12-21 17:37:49 -07:00
grossmj
e28079096e JSON-RPC over Websockets implementation. 2013-12-21 17:34:51 -07:00
grossmj
2f23a092e3 Polishing base server implementation 2013-12-05 21:39:27 -07:00