1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-12-27 09:18:09 +00:00
Commit Graph

797 Commits

Author SHA1 Message Date
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
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
Julien Duponchelle
914ea0326c Fix tests 2015-03-02 15:26:57 +01: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
Julien Duponchelle
ebb865d973 Export vpcs config path 2015-02-27 13:38:57 +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
aa40e6097e Fix tests 2015-02-26 10:45:37 +01:00
Jeremy
0eaad579c2 IOU + VirtualBox conversion of old projects. 2015-02-25 18:55:35 -07:00
Jeremy
54fc873be5 Prevent multiple projects with the same ID to be created. 2015-02-25 16:05:57 -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
4ea25739e5 Correctly check if qemu is running
Fixes #71
Related to #70
2015-02-25 15:46:05 +01:00
Julien Duponchelle
67be24a412 Fix doc generation 2015-02-24 11:39:17 +01:00
Julien Duponchelle
fd03b36258 Fix tests 2015-02-24 10:07:22 +01: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
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
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
Julien Duponchelle
cecf2f5014 Async qemu monitor reading 2015-02-21 00:15:56 +01:00
Julien Duponchelle
71357fa7ab Fix tests 2015-02-20 17:45:27 +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
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
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
57348d0508 Better organisation of the API documentation 2015-02-17 10:37:09 +01:00
Julien Duponchelle
6c3a926ce3 Capture is OK on server side 2015-02-16 20:08:04 +01:00
Julien Duponchelle
ff7f014423 Fix test 2015-02-16 19:14:45 +01:00
Julien Duponchelle
15f89776d3 All current iou code is async 2015-02-16 17:20:07 +01:00
Julien Duponchelle
605afa1d33 Fix bad execption name in IOU 2015-02-16 10:05:54 +01:00
Jeremy
4f38d96522 Dynamips devices. 2015-02-13 20:01:18 -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
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
Julien Duponchelle
a4669689e7 Fix tests due to test reading the local config file 2015-02-13 11:15:11 +01:00
Julien Duponchelle
b419001813 Fix test on Travis with Python 3.3 2015-02-13 11:02:56 +01: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
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
Julien Duponchelle
f0add73d80 Cleanup 2015-02-10 17:27:54 +01:00
Julien Duponchelle
a6da2406a0 Fix tests 2015-02-10 17:24:38 +01: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
e1a80a9fab Remove debug 2015-02-09 19:58:23 +01:00
Julien Duponchelle
b31af0abcd Sub directory project-files 2015-02-09 11:26:42 +01:00
Julien Duponchelle
e99c0f6ac5 I hope it's fix tests on Travis Python 3.3 2015-02-09 11:19:56 +01:00
Julien Duponchelle
bf29e0319e Test logger and PEP8 2015-02-09 10:38:34 +01:00
Julien Duponchelle
64c197c719 Fix tests 2015-02-09 10:18:37 +01: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
Julien Duponchelle
5c3969ae79 Fix tests creating garbage project in ~/GNS3/project 2015-02-06 11:15:27 +01: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
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
Julien Duponchelle
08158884a4 Add api versionning 2015-02-04 10:24:59 +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
f572f3fc95 You can't modify startup script remotely 2015-02-03 20:29:28 +01:00
Jeremy
d199778745 Fixes tests. 2015-02-02 19:41:26 -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
Jeremy
57b35d5758 Fix tests + PEP8 + documentation 2015-02-01 17:22:31 -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
e7c9139045 Rename /udp entry point to /ports/udp. 2015-01-31 11:58:34 -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
f682e1c474 Complete documentation 2015-01-27 15:06:55 +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
ff63530f52 Get all available VirtualBox VMs on the server. 2015-01-23 17:57:54 -07:00
Jeremy
499a8f10ae Update tests. 2015-01-23 16:38:59 -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
8e249b670d Set a location by default 2015-01-23 17:39:17 +01:00
Julien Duponchelle
017c5ac9f6 Allow changing location only for local usage 2015-01-23 16:58:14 +01:00
Julien Duponchelle
4848eeabad Add missing curl example 2015-01-23 16:21:26 +01: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
9a0b260c56 Small change in order to avoid a PEP8 warning 2015-01-23 11:30:49 +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
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
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
1a43ff118c Fix tests and clean. 2015-01-21 19:30:24 -07:00
Jeremy
0b1b27db8f Add module name to base manager. 2015-01-21 15:21:15 -07:00
Julien Duponchelle
97cefa23fb Move fixtures to conftest 2015-01-21 22:32:33 +01:00
Julien Duponchelle
f3e07d5ad9 Fix random failure related to ports 2015-01-21 22:21:01 +01:00
Julien Duponchelle
8d9da999e6 Update examples only when launching test with documentation.sh 2015-01-21 22:09:52 +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
ce9fd3cb25 Test start / stop. And check if the mocked function is really called 2015-01-21 17:11:21 +01:00
Julien Duponchelle
87a089457f Update script file 2015-01-21 16:43:34 +01:00
Julien Duponchelle
f99538ccef Cleanup test 2015-01-21 15:50:35 +01:00
Julien Duponchelle
df31b2ad5a Fix project path 2015-01-21 11:33:24 +01:00
Julien Duponchelle
3530b85b56 Fix virtualbox test 2015-01-20 23:40:03 +01: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
c30f7ce9a1 Fix tests 2015-01-20 19:23:35 +01:00
Julien Duponchelle
54eb8d9e81 Drop decorator for async test 2015-01-20 18:55:17 +01:00
Julien Duponchelle
bbee5f90a0 Yet another PEP 8 :) 2015-01-20 16:37:18 +01:00
Julien Duponchelle
531265eced Get a stable example between tests for project creation 2015-01-20 15:35: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
Julien Duponchelle
927e6b540d Fix tests 2015-01-20 09:58:58 +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
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
7de95cd60a Fix tests 2015-01-19 11:28:51 +01:00
Julien Duponchelle
73a481e510 Refactor port manager 2015-01-19 11:22:24 +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
42920e5059 Haiku theme 2015-01-16 21:44:56 +01: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
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
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
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
6d20a122f8 Adds tests and documentation script. 2015-01-13 17:26:24 -07:00
Daniel Lintott
6a81390808 Update test with correct hypervisor IP 2014-12-09 13:49:45 +00:00
Daniel Lintott
20dc779fd8 Fix test for dynamips c7200 NPE (Default is now NPE-400) 2014-09-27 19:27:26 +01:00
Daniel Lintott
ad287d3434 Remove un-needed imports 2014-08-08 19:14:36 +01:00
Daniel Lintott
4a4a57e1a3 Further test fixes
+ tests/dynamips/test_hypervisor.py: Increase sleep time to prevent
   random test failures
 + tests/iou/test_iou_device.py: Rework test skipping based on presence
   of IOU image rather than environment variable
2014-08-08 17:54:30 +01:00
Daniel Lintott
9b010d6388 Update test_hypervisor.py
+ test_stdout: use system dynamips
 + test_stdout: correct host address to start dynamips on
2014-08-08 15:00:44 +01:00
Daniel Lintott
8fc4667d2c Modify the TRAVIS environment check 2014-08-08 14:49:10 +01:00
Daniel Lintott
7cbce0f81b Fix test suite
+ Install VPCS and dynamips from GNS3 PPA
 + Drop netifaces-py3 from requirements.txt
 + Fix/update tests to use installed VPCS and dynamips
2014-08-08 14:32:32 +01:00
grossmj
7b58f14681 Some PEP8 style fixes. 2014-05-28 06:26:20 -06:00
Jeremy Grossmann
db4280713c Merge pull request #11 from joebowen/master
Initial pull request for VPCS module
2014-05-13 15:06:12 -06:00
grossmj
17b56810d1 Fixes bug where IOS nvram/disk files were not kept after closing a
topology.
2014-05-06 12:22:38 -06:00
Joe Bowen
476a3c42b6 Added NIO TAP support 2014-05-06 10:42:38 -06:00
Joe Bowen
ec08a5a72a Update file structure 2014-05-06 10:06:10 -06:00
Joe Bowen
46c653998e First draft of VPCS module 2014-05-06 09:06:25 -06:00
Joe Bowen
c6b4ac04e1 Revert "Test"
This reverts commit a61686a436.
2014-05-06 09:05:05 -06:00
Joe Bowen
a61686a436 Test 2014-05-06 08:50:34 -06:00
grossmj
96231e3f7f More specific path checks (file vs directory). 2014-04-11 14:48:30 -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
89888ae7bf Handle startup-config push using base64
Dynamips working directory management
Random port selection for the ZeroMQ server
TCP & UDP port allocation in a range with improvements
Update Dynamips to 0.2.11 (for the tests)
Focus on Python3 development (stop trying to be compatible with Python
2.x)
More error/bug catching
2014-03-02 15:20:03 -07:00
grossmj
df798f4bea Add default values for exec area and system id settings 2014-02-06 11:22:58 -07:00
grossmj
78ad94f815 Get the default base MAC address when creating a new router 2014-02-06 01:02:38 -07:00
grossmj
49345aedd1 Update Dynamips for the tests and uncomment the system id test 2014-02-06 00:52:05 -07:00
grossmj
5560e81f9a Change rename command to a name property setter for all Dynamips
devices. Adjust the tests and upload the new dynamips that supports the
rename command for VMs.
2014-02-05 15:45:33 -07:00
grossmj
cef29e53aa General work on the Dynamips backend (need to finish and polish). 2014-01-31 16:31:34 -07:00
grossmj
2516bf80a8 Dynamips backend (API implementation) 2013-12-21 17:42:33 -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
798f0367b9 Catch SIGTERM, SIGINT, SIGHUP and SIGQUIT to properly shutdown the
server.
2013-12-06 17:52:16 -07:00
grossmj
2f23a092e3 Polishing base server implementation 2013-12-05 21:39:27 -07:00
grossmj
f4e51ea74f Base server complete including modules, STOMP protocol over Websockets
and ZMQ Router/Dealer implementations.
2013-12-05 00:21:06 -07:00
grossmj
58f93edaf7 Base server & plugin system & first unit tests 2013-10-30 15:58:17 -06:00
grossmj
c4ed47b2dc Initial project structure 2013-10-04 17:45:15 -06:00