Commit Graph

426 Commits

Author SHA1 Message Date
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
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
Julien Duponchelle
8e307c8cbb Use PATH environnement variable for searching binary 2015-01-16 20:23:43 +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
7a767a6b92 Merge 1.2.2 into asyncio
Conflicts:
	gns3server/version.py
2015-01-16 09:43:58 +01: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
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
Jeremy
2ef45781ad Checks connection failure to Qemu monitor. 2015-01-11 18:24:13 -07:00
Raizo62
cbbb89f69c Add snapshot named reset to linked cloned Vbox 2015-01-11 12:22:59 +00:00
Jeremy
29896151e7 Support spaces in the controller name of VirtualBox clones. 2015-01-06 15:31:50 -07:00
Jeremy
7f6f7022b0 Support to run VirtualBox as another user. 2015-01-05 16:18:33 -07:00
Jeremy Grossmann
c77ebca036 Merge pull request #62 from shmygov/qemunio
Dynamically configure network connections of running QEMU VMs
2015-01-05 15:46:09 -07:00
Jeremy
881cc6f592 Fixes wrong IOS config paths. 2015-01-04 18:51:55 -07:00
Jeremy
5265818365 Support for IOURC file on the server side. 2015-01-04 15:59:00 -07:00
Jeremy
d1e186317c Console switching from local/remote to remote/local while a VirtualBox VM is running. 2015-01-04 14:56:17 -07:00
Jeremy
a6fd457cff Bump the maximum network adapters to 32 for Qemu. 2015-01-03 16:16:07 -07:00
Dmitry Shmygov
4eedc9c74c Dynamically configure network connections of running QEMU VMs (including new QEMU versions) 2015-01-03 05:04:52 +03:00
Dmitry Shmygov
ccb4ccd612 Return QEMU monitor responses as Match Objects (more flexibility for future uses) 2014-12-29 01:59:45 +03:00
Dmitry Shmygov
c775b05d33 Dynamically configure network connections of running QEMU VMs 2014-12-29 01:43:56 +03:00
Dmitry Shmygov
9cedb1cc99 Add sleep after write to QEMU monitor (to work with new QEMU versions) 2014-12-27 12:44:10 +03:00
Jeremy
1f615430ae Checks for broken symbolic links. 2014-12-24 17:19:42 -07:00
Jeremy
2de1a97076 Merge remote-tracking branch 'origin/master' 2014-12-24 15:47:07 -07:00
Jeremy
747c0ee7a3 More checks on minimum RAM for IOS routers and updates default values to match the latest IOS image requirements. 2014-12-24 15:46:59 -07:00
grossmj
d9f44edcaf Fixes incompatibility for IOS startup-config and private-config paths created on Windows and loaded from a project on Linux/Mac OS X. 2014-12-23 15:29:27 -07:00
Dmitry Shmygov
84511d7b39 QEMU VM suspend/resume and reload 2014-12-23 14:42:58 +03:00
Dmitry Shmygov
3590985c07 Add QEMU monitor port to control running QEMU VMs 2014-12-23 14:42:58 +03:00
Jeremy
7785c03eac Ignore Unicode errors when executing vboxmanage. 2014-12-19 15:47:12 -07:00
Jeremy
7f37f649da Catch OSError exception for subprocess calls. 2014-12-11 12:15:24 -07:00
Jeremy
acb5103119 Merge remote-tracking branch 'origin/master' 2014-12-09 19:17:53 -07:00
Jeremy
823344bf44 Get Windows interface list from the registry if the COM service fails. 2014-12-09 19:17:25 -07:00
Jeremy Grossmann
ecf7ebc26b Merge pull request #58 from dlintott/fix_gns3-gui_158
Remove extra line that was over-writing the auto Idle-PC value
2014-12-09 16:16:05 -07:00
Daniel Lintott
317a37147e Remove extra line that was over-writing the auto Idle-PC value
Fixes GNS3/gns3-gui#158
2014-12-09 19:39:22 +00:00
Jeremy Grossmann
0f238c5bb7 Merge pull request #54 from planctechnologies/dev
Qemu cloud improvements
2014-12-09 12:36:38 -07:00
Jerry Seutter
f1503ae655 Handle initrd and kernel paths in qemu 2014-12-08 20:14:55 -07:00
Jeremy
20592f72c0 Fixes UID bit test. 2014-12-08 14:54:06 -07:00
Jerry Seutter
00f49e337d Merge branch 'master' into dev 2014-12-08 14:22:31 -07:00
Jeremy
f58c7960c9 Use bundled Qemu on Windows and OSX by default and checks if remote server are registered. 2014-12-04 12:25:49 -07:00
Jeremy
5a468888c8 Bump version to 1.2.1.dev2 2014-12-02 18:52:28 -07:00
Jeremy
8f53d51c05 Support for CPU throttling and process priority for Qemu. 2014-12-02 18:12:37 -07:00
Jeremy
1e01c85be9 Change search paths for Qemu on Windows. 2014-12-02 14:49:39 -07:00
grossmj
fed02ee167 Adds default path for VBoxManage on Mac OS X. 2014-11-29 16:42:57 -07:00
grossmj
632134a02a Support for older Qemu versions like the 0.11.0 on Windows. 2014-11-29 14:11:51 -07:00
Jeremy
183a6aed44 Do not use universal_newlines in subprocess. 2014-11-26 15:07:15 -07:00
Jeremy
d97ba11728 Fixes C7200 IO cards insert/remove issues and makes C7200-IO-FE the default. 2014-11-24 17:02:00 -07:00
Jerry Seutter
ef8c6b603c Add debugging to deadman process 2014-11-24 14:32:06 -07:00
Jeremy
4918675cd5 Fixes Qemu version detection. 2014-11-24 11:44:27 -07:00
Jeremy
6ef614103e Ignore inaccessible VirtualBox VMs. 2014-11-24 11:15:30 -07:00
Jeremy
09948a366f Use SubprocessError to catch Subprocess exceptions. 2014-11-22 17:45:04 -07:00
grossmj
fd92189d51 Restore dock widgets. 2014-11-19 10:22:09 -07:00
Jeremy
cb913416ef Bump to version 1.2.dev3 2014-11-15 16:47:30 -07:00
Jeremy
5a7e482dac Linked clone support for VirtualBox (still problems with temporary projects). 2014-11-15 16:05:55 -07:00
Jeremy
e2e4f4f38b Fixes remote server issue when creating a new project while already in a project. 2014-11-14 19:59:06 -07:00
Jeremy Grossmann
e75dde3ebf Merge pull request #48 from planctechnologies/pr3
Add support for Qemu devices on cloud instances (server)
2014-11-12 21:19:15 -07:00
Jeremy Grossmann
bba2c2b0d3 Merge pull request #47 from planctechnologies/pr2
Support IOU devices on cloud instances
2014-11-12 21:17:57 -07:00
Jeremy
a9e924934a Fixes important issue when searching for a free port. 2014-11-12 19:49:02 -07:00
Jeremy
f6561bf684 Automatically extract IOS configs when a project is closed. 2014-11-10 13:50:17 -07:00
Jerry Seutter
5b73786653 Move image path manipulation to server side 2014-11-10 11:28:19 -07:00
Jeremy
f44fbd1f16 Option to allow console connections to any local IP address when using the local server. 2014-11-09 23:01:13 -07:00
Jeremy
1982ff8100 Allows Qemu VM to have 0 interface. 2014-11-09 18:27:40 -07:00
Jeremy
7a6f27fed9 New VirtualBox guest property: ProjectDirInGNS3. 2014-11-09 16:10:30 -07:00
Jeremy
747ca7bb90 Base for VirtualBox linked clones (not completed yet). 2014-11-09 11:50:47 -07:00
Jerry Seutter
faa3ef8cb4 Add support for Qemu devices on cloud instances 2014-11-07 20:42:08 -07:00
Jerry Seutter
0b0830976f Support IOU devices on cloud instances 2014-11-06 15:50:46 -07:00
grossmj
31db1a4e84 Merge remote-tracking branch 'origin/master'
Conflicts:
	gns3server/modules/virtualbox/virtualbox_vm.py
2014-11-06 13:59:05 -07:00
grossmj
e07347a961 Rename "enable console" to "remote console". 2014-11-06 13:56:19 -07:00
Jeremy
a4e20cd6f6 Add VirtualBox guest property "NameInGNS3". 2014-11-06 10:11:39 -07:00
Jeremy
a98a8b1acc Change default VirtualBox adapter type. 2014-11-04 19:00:01 -07:00
Jeremy
7809160ea1 Add detection of qemu and qemu.exe binaries. 2014-11-03 17:36:14 -07:00
grossmj
087f0e82de Fixes issues with VirtualBox Telnet server on Windows. 2014-11-02 18:06:15 -07:00
grossmj
393a312e7e New Telnet server for VirtualBox. 2014-11-02 15:47:44 -07:00
grossmj
4d23c5917c Add REUSE flag to socket when scanning for unused ports. 2014-11-01 15:44:18 -06:00
Jeremy Grossmann
89e80fd74b Merge pull request #43 from planctechnologies/dev
Download IOS images from Cloud Files to a cloud instance
2014-11-01 11:19:12 -06:00
Jeremy
a48aff6ce5 Fixes some issues with VirtualBox support. 2014-10-31 17:41:12 -06:00
Jerry Seutter
e5fa52fcb5 Adding back a line that was mistakenly removed. 2014-10-31 10:26:53 -06:00
Jerry Seutter
ff02bb977a Merge branch 'master' into dev 2014-10-31 10:02:58 -06:00
grossmj
7b531cf094 Fixes issue when getting the VirtualBox VM list. 2014-10-30 21:10:14 -06:00
Jeremy
dab72cf036 New VirtualBox support (under testing). 2014-10-30 18:53:17 -06:00
grossmj
95a89ac91b Change find an unused port. 2014-10-29 10:15:22 -06:00
grossmj
f5540ee147 Change find an unused port. 2014-10-28 21:03:51 -06:00
Jerry Seutter
5f9554b86c Cleanup 2014-10-28 11:07:44 -06:00
Jerry Seutter
7830bf8b1a Merge branch 'dev' into gns-110 2014-10-28 10:39:03 -06:00
Jerry Seutter
c4afc33ea8 IOS devices can be deployed on cloud instances. 2014-10-27 18:12:56 -06:00
grossmj
88b9d946da Fixes SecureCRT issue when disconnecting from an IOU device on Windows. 2014-10-25 18:03:24 -06:00
grossmj
20acca64b5 Bump version to 1.2.dev1 2014-10-25 18:01:14 -06:00