Jeremy
a6869379c3
Fixes console restoration when loading a VirtualBox project.
2015-03-02 17:28:28 -07:00
Jeremy
b673b898a8
Fixes problem when trying to convert VirtualBox projects without cloned VMs.
2015-03-02 13:04:30 -07:00
Julien Duponchelle
a9afaa028c
Garbage collect VM when closing a project
2015-03-02 17:17:28 +01:00
Julien Duponchelle
66860655b9
If a VM is already loaded, we return a VM instead of creating it twice
...
Partial fix for #81
2015-03-02 15:35:36 +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
grossmj
3ef529fb0e
Temporally fixes Dynamips console listening issues.
2015-03-01 18:53:03 -07:00
grossmj
518b037d54
Fixes connect call failed for Dynamips hypervisor #78 .
2015-03-01 14:25:09 -07:00
grossmj
7223005acd
Restore device IDs and fixes race condition when converting an old project.
2015-03-01 13:05:51 -07:00
grossmj
5ae8728ee6
Fixes ATM switch.
2015-03-01 10:41:27 -07:00
grossmj
dfce18a48f
Fixes migration issues for pre-1.3 projects.
2015-02-28 18:55:53 -07:00
grossmj
0f10d25c0b
Optional AUX console port allocation for Dynamips VMs.
2015-02-28 16:20:27 -07:00
grossmj
7fe2d6c367
Support to deactivate sparsemem or mmap globally for Dynamips VMs.
2015-02-28 15:53:21 -07:00
grossmj
d762c43314
Include the images directory when converting an old project.
2015-02-28 15:00:00 -07:00
grossmj
708f66b608
Fixes asyncio Lock instantiation issues on Windows.
...
Because the event loop is essentially a global variable, asyncio Lock objects that get instantiated early could grab a reference to the wrong loop (Selector instead of Proactor).
2015-02-27 22:12:43 -07:00
grossmj
666064f1ae
Revert commit: Remove lock for Ghost IOS (problem on Windows).
2015-02-27 22:01:37 -07:00
Jeremy
70d5dea256
Remove lock for Ghost IOS (problem on Windows).
2015-02-27 19:36:45 -07:00
Jeremy
ba95567886
Some info message and fixes ghost IOS activation/deactivation.
2015-02-27 19:35:31 -07:00
Jeremy
84870bf736
Some changes with config files on Windows.
2015-02-27 18:08:34 -07:00
Jeremy
0e8b8fa66f
Update hypervisors working dir when the project is moved.
2015-02-27 16:51:17 -07:00
Julien Duponchelle
ae7bf828cd
Fix tests on MacOS
2015-02-27 18:30:22 +01:00
Julien Duponchelle
ebb865d973
Export vpcs config path
2015-02-27 13:38:57 +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
Julien Duponchelle
62afef06af
After an iou reload you can write on the console
2015-02-26 15:47:47 +01:00
Julien Duponchelle
5e59145948
If you type reload inside iou you are no longer disconnected
2015-02-26 15:09:15 +01:00
Julien Duponchelle
29e8d91745
Do not output debug for ioucon standard telnet commands
2015-02-26 13:07:26 +01:00
Julien Duponchelle
5a58f6efc8
Fix a crash with Python 3.4 when you stop IOU
...
http://bugs.python.org/issue23140
2015-02-26 11:29:57 +01:00
Julien Duponchelle
c07b8c746e
Drop poll from Qemu
2015-02-26 10:18:52 +01:00
Jeremy
0eaad579c2
IOU + VirtualBox conversion of old projects.
2015-02-25 18:55:35 -07:00
Jeremy
85518a3cd6
Fixes race condition when generating an ghost IOS file.
2015-02-25 17:38:55 -07:00
Jeremy
9dc713f31d
Fixes race condition when deleting empty legacy project files dir.
2015-02-25 17:38:36 -07:00
Jeremy
473eb0280e
Support for relative path in Dynamips.
2015-02-25 17:19:37 -07:00
Jeremy
de1be0961f
Do not return an error when creating the same project multiple times (for now).
2015-02-25 17:19:12 -07:00
Jeremy
54fc873be5
Prevent multiple projects with the same ID to be created.
2015-02-25 16:05:57 -07:00
Jeremy
349d9d4540
Fixes small issues when deleting Dynamips devices.
2015-02-25 11:52:52 -07:00
Julien Duponchelle
f12d3f07f7
Drop the old -files in the project
2015-02-25 18:23:41 +01:00
Julien Duponchelle
8434a286b6
Fix IOU old project import
...
Fixes #69
2015-02-25 16:35:13 +01:00
Julien Duponchelle
818676ce5e
Support relative path in iou
2015-02-25 16:26:17 +01:00
Julien Duponchelle
47f8ac00c0
Remove debug
2015-02-25 16:04:18 +01:00
Julien Duponchelle
4ea25739e5
Correctly check if qemu is running
...
Fixes #71
Related to #70
2015-02-25 15:46:05 +01:00
grossmj
3528efb1e0
Fixes packet capture for devices when spaces are present in the output file.
2015-02-24 23:12:09 -07:00
Jeremy Grossmann
e910167a85
Quick change warning -> debug
2015-02-23 22:19:03 -07:00
Jeremy
49f3c9295f
Some debug messages to help with port allocation debugging.
2015-02-23 19:59:19 -07:00
Jeremy
42c07cee1a
Properly release UDP ports when closing a project or deleting a link.
2015-02-23 19:00:34 -07:00
Jeremy
3d3300e83a
Rename console methods in port manager to use the generic tcp term in the name.
...
Fixes bug when a console port is allocated to a Ghost VM instance and not released.
Warnings at exit when TCP/UDP ports are still allocated.
2015-02-23 17:42:55 -07:00
Jeremy
182d2e465e
Use projects_path & images_path.
2015-02-23 17:08:34 -07:00
Julien Duponchelle
4d1f08c96e
Turn off Qemu graphics if no display is available
...
Fixes #66
2015-02-23 20:21:00 +01:00
Julien Duponchelle
c9314ec509
autopep8 et upload files
2015-02-23 17:21:39 +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
47be57dca7
Fix qemu close
2015-02-20 17:31:02 +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
b393948b67
Fixes iouyap shutdown.
2015-02-19 16:58:44 -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
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
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
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
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
68427eaddf
Auto PEP8 cleanup
2015-02-13 14:43:28 +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
05df7001a3
Successfully create an iou device from the GUI via HTTP
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
98586b93ee
Add timeout on stopping a VPCS just in case.
2015-02-09 13:41:31 -07: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
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
5a0c224292
Allow user to change project path on local server
2015-02-05 17:52:37 +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
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
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
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
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
45ca493ecf
Use module settings from the config file.
2015-02-02 14:52:58 -07:00
Jeremy
a3a304bd12
Load port ranges from the config file.
2015-02-01 20:43:55 -07:00
Jeremy
334835c985
PEP8 + documentation.
2015-01-31 14:34:49 -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
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
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
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
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
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
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
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
Julien Duponchelle
2c50bb607f
VPCS Mac address / project
2015-01-22 18:47:27 +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
Julien Duponchelle
368d1ff70b
Update VPCS instance
2015-01-21 21:46:16 +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
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
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
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
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
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