Compare commits

...
974 Commits
Author SHA1 Message Date
Julien Duponchelle 1b4613fbaf Version 1.3.2 2015-04-28 21:06:04 +02:00
grossmj 30ff5510d9 Merge remote-tracking branch 'origin/master' 2015-04-28 12:02:33 -06:00
grossmj cc03017739 Cleanup the VirtualBox Media Manager after closing a project. Fixes #145. 2015-04-28 12:02:21 -06:00
Julien Duponchelle bad740d32a Fix test on Linux 2015-04-28 15:31:00 +02:00
grossmj a884af983f Avoid Cygwin warning with VPCS on Windows. 2015-04-27 22:23:27 -06:00
Jeremy Grossmann 4f021054e0 Merge pull request #158 from GNS3/keep_iou_config
Do not erase the IOU initial-config if there is one when creating the IOU VM.
2015-04-27 18:37:17 -06:00
Jeremy 8503472c77 Close VirtualBox VM linked clone disks after the VM is unregistered. Fixes #145. 2015-04-27 17:10:32 -06:00
Julien Duponchelle e7ae1776f4 Final fixes for windows test suite 2015-04-27 23:28:12 +02:00
Julien Duponchelle 3f26ada081 Comment broken test 2015-04-27 23:20:01 +02:00
Julien Duponchelle 77f54848e3 Fix some tests on Windows 2015-04-27 23:12:13 +02:00
Julien Duponchelle bf3444933e Fix test qemu now raise 409 if nio_ethernet 2015-04-27 22:54:24 +02:00
Jeremy f208b472a1 TAP interface support for QEMU VMs. Fixes #153. 2015-04-27 14:38:15 -06:00
Jeremy b6a935aeb8 Return an explicit error when a NIO type is not supported by a VM. 2015-04-27 14:19:17 -06:00
Julien Duponchelle 324a4f73d0 Do not erase the IOU config 2015-04-27 18:22:54 +02:00
Julien Duponchelle d5ae4750e9 Do not load IOU handler on Windows during tests
Fix #159
2015-04-27 16:21:56 +02:00
Julien Duponchelle 4df95efdec Skip IOU test on Windows
Fix #159
2015-04-27 15:09:42 +02:00
Julien Duponchelle 834a554fea Fix VPCS tests 2015-04-27 10:14:46 +02:00
grossmj 271cb527d4 Explicit utf-8 decoding. 2015-04-26 21:19:39 -06:00
grossmj 6edf1e3649 Check NIO exists when stopping an IOU capture. 2015-04-26 21:15:15 -06:00
grossmj 017997e0a3 Fixes c7200 NPE setting. 2015-04-26 18:35:12 -06:00
grossmj 3e6996903f Fixes VPCS process termination. 2015-04-26 12:57:06 -06:00
grossmj da2b895c99 Catch FileNotFoundError exception in os.getcwd() 2015-04-26 12:49:29 -06:00
grossmj 683a512917 Fixes #150. 2015-04-25 15:20:15 -06:00
grossmj 80a0e0ebf7 Explicit utf-8 encoding where necessary to avoid Unicode errors on Windows (we require/set an utf-8 locale on other systems). 2015-04-25 11:58:34 -06:00
grossmj d68bf1c263 Removes unnecessary sleep in VirtualBox VM. 2015-04-25 09:36:28 -06:00
Jeremy fa544ef888 Fixes #270. Relative paths management with empty ones. 2015-04-24 17:27:32 -06:00
Julien Duponchelle 24bfd8ab53 New crash report key and doesn't send report for developers 2015-04-24 18:30:31 +02:00
Julien Duponchelle 6b862b8397 Correctly show the host in templates
Fix #157
2015-04-23 14:32:10 +02:00
grossmj 3680c40e23 Catch COM errors when connecting to WMI. 2015-04-23 00:03:44 -06:00
grossmj 30f6263146 Don't assume the PATH environment variable exists. 2015-04-22 21:42:36 -06:00
grossmj 161adb781b Use UUIDs instead of the VM names for VirtualBox pipe paths. 2015-04-22 20:29:52 -06:00
Julien Duponchelle 9c549b175f Add --log options for daemon support 2015-04-22 17:28:58 +02:00
Julien Duponchelle fc289fd868 Basic upstart script 2015-04-22 17:13:39 +02:00
Julien Duponchelle 531e95463c Add qemu-kvm to the list of binary 2015-04-20 10:12:17 +02:00
Julien Duponchelle 3926390d30 Fix tests broken by a previous commit 2015-04-18 09:22:37 +02:00
grossmj 343e007809 Ignore the "OSError: [WinError 0] The operation completed successfully" exception in Windows. 2015-04-16 20:17:06 -06:00
grossmj c6dbf296cf Merge remote-tracking branch 'origin/master' 2015-04-16 13:24:48 -06:00
Julien Duponchelle b5e01f7560 Fix IOU licence check flag 2015-04-16 09:51:02 +02:00
grossmj 4136c29b0f Config paths are not used when updating Dynamips or IOU VM settings. 2015-04-15 19:50:40 -06:00
grossmj aeab9780d8 Fixes initial-configs that were not restored when opening a project containing IOU VMs. 2015-04-15 19:49:40 -06:00
Julien Duponchelle e367f95f96 Drop darwin specific tests 2015-04-15 16:42:26 +02:00
Julien Duponchelle 26a7f83db2 Remove the workaround for dynamips OSX 2015-04-15 15:58:31 +02:00
Julien Duponchelle def453c116 Restore "iourc_path" until I speak with jeremy about it 2015-04-15 15:50:34 +02:00
Julien Duponchelle 997f7cbd6f Fix noise in logs 2015-04-15 15:40:07 +02:00
Julien Duponchelle 750958bd12 Fix tests 2015-04-15 14:33:51 +02:00
grossmj aab4a7243b Merge remote-tracking branch 'origin/master' 2015-04-14 18:21:42 -06:00
Julien Duponchelle aa2472fb30 Rewrote image search
This code is more generic and support all cases. Previously
we had bug where the user lost his image path if the image
was not located in image directory.
2015-04-14 18:46:55 +02:00
Julien Duponchelle e51a129216 Prevent parallel execution of VBox commands
In theory it should not be a problem.
But It's create issues like this one:

Fix: https://github.com/GNS3/gns3-gui/issues/261
2015-04-14 15:00:45 +02:00
Julien Duponchelle 6ec081c774 Include tests in Pypi package
Require by gentoo maintainer
2015-04-14 14:53:01 +02:00
Julien Duponchelle 55fed02299 Fix a crash when in some cases you can't access to VBOX state
Fix #137
2015-04-14 14:35:48 +02:00
Julien Duponchelle 45ca995dea Fix crash if VirtualBox doesn't return API version
Fix #136
2015-04-14 14:32:44 +02:00
Julien Duponchelle af942dc419 Fix a crash in VirtualBox vm creation
Fix #138
2015-04-14 14:24:13 +02:00
grossmj 443842e9b8 Allocate random names for Dynamips NIOs. 2015-04-12 18:14:45 -06:00
grossmj 78bc6e29a8 Explicitly delete Dynamips NIOs and unmap VCs for ATM and Frame-Relay switches. 2015-04-12 18:09:53 -06:00
grossmj de5e8f852d Cleaner and generic way to set Qemu & IOU VM settings. 2015-04-12 15:09:37 -06:00
Julien Duponchelle c99998d73c Fix version 2015-04-12 11:08:30 +02:00
Julien Duponchelle c4963abcba 1.3.2 dev1 2015-04-11 13:59:22 +02:00
Julien Duponchelle 1ba9a2fcfa Prepare 1.3.1 2015-04-11 09:34:20 +02:00
Julien Duponchelle eac751948e Prepare RC4 2015-04-09 10:57:25 +02:00
Julien Duponchelle b2e53a94d4 Initial config file content can be empty 2015-04-09 10:53:18 +02:00
Julien Duponchelle 2d507fd17a Fix crash if IOU initial config is emtpy
Fix #147
2015-04-09 10:27:50 +02:00
Julien Duponchelle 202032f334 Fix error messages in JSON schema 2015-04-09 10:24:11 +02:00
Julien Duponchelle 1d997d9da5 Return more informations about bad requests for crash reports 2015-04-09 10:22:25 +02:00
Julien Duponchelle 2b6945664b Allow less strict dependencies
Fix #146
2015-04-09 09:50:26 +02:00
Julien Duponchelle 9b79cce488 Dev4 version 2015-04-09 09:22:04 +02:00
Julien Duponchelle 2d0f73454f Missing project name in documentation 2015-04-09 09:21:49 +02:00
grossmj 7e8b0a48ab Merge remote-tracking branch 'origin/master' 2015-04-08 11:17:49 -06:00
grossmj 7d7972afb3 Some spring cleaning. 2015-04-08 11:17:34 -06:00
Julien Duponchelle f799fc1ab7 Prepare 1.3.1rc3 2015-04-07 16:16:19 +02:00
Julien Duponchelle 3b4a060ae9 Fix missing IOU documentation
Fix #143
2015-04-07 16:09:27 +02:00
Julien Duponchelle db6db31b60 Add missing project name in curl documentation 2015-04-07 15:28:18 +02:00
Julien Duponchelle 1c4a059982 Look in old IOU images location in order to smooth transition
Fix #141
2015-04-07 15:25:53 +02:00
Julien Duponchelle 4189089e1b Prepare 1.3.1rc2 2015-04-06 21:34:32 +02:00
Julien Duponchelle 7efb7c2978 Do not overwrite initial-config IOU if client send an empty
Fix #140
2015-04-06 21:30:57 +02:00
Julien Duponchelle d16a389d1f Fix documentation about /ports/udp 2015-04-06 11:57:05 +02:00
Julien Duponchelle e3239b7e36 Prepare 1.3.1rc1 2015-04-05 11:47:56 +02:00
grossmj 1c4202187a Fixes TAP interface use with VPCS. 2015-04-03 19:11:28 -06:00
grossmj 631d7a1e25 Avoid disconnecting valid VirtualBox VM adapter backends. 2015-04-03 19:08:29 -06:00
Jeremy Grossmann 19c5fdb1fd Merge pull request #135 from GNS3/fix_virtualbox_adapters
Fixes missing adapters in VBox Virtual Machines.
2015-04-04 00:13:58 +00:00
Julien Duponchelle b46e2cf013 Fix issues with macos X dynamips not freeing UDP port
Fix #133
2015-04-03 13:32:07 +02:00
Julien Duponchelle 1acc9398d5 Fix encoding error when saving dynamips configuration
Fix #134
2015-04-03 12:13:07 +02:00
Julien Duponchelle 8fc256da6d Fix missing adapters in VBox Virtual Machines
If you have 4 network adapter and attach only ethernet 1 and 4.
You will see eth0, eth1, eth2 and eth3 with eth0 and eth3 attached.

https://github.com/GNS3/gns3-gui/issues/255
2015-04-03 12:08:18 +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
Julien Duponchelle 990f243f15 Do not crash if dynamips config contain non ascii chars
But I don't know why user can want to do that.

Fix #123
2015-04-01 19:55:11 +02:00
Julien Duponchelle 49f36a83bd Test path with chinese charcaters in Qemu
Refs #120
2015-04-01 18:24:36 +02:00
Julien Duponchelle a3c8201bcc Do not crash if no console port is available for VBox
I don't know how user manage to fall in this situation.

Fix #127
2015-04-01 17:59:58 +02:00
Julien Duponchelle 90d55fcb8a Raise a DynamipsError if we can't access to VM status
Fix #129
2015-04-01 17:39:37 +02:00
Julien Duponchelle 4cd5ec5613 Check name of the VBoxManage executable
Fix #118
2015-04-01 17:36:22 +02:00
Julien Duponchelle b2d8a8d810 Exclude docs and tests package from distribution
Fix #131
2015-04-01 16:41:11 +02:00
Julien Duponchelle 026fe3df9b Catch error when qemu additional options are invalid
Fix #119
2015-03-31 22:14:08 +02:00
Julien Duponchelle 220d585dcc Fix ClientDisconnectedError
Fix #124
2015-03-31 22:05:50 +02:00
Julien Duponchelle 93344e9427 Fix crash when NIO doesn't exist
Fix #122
2015-03-31 22:00:05 +02:00
Julien Duponchelle 6d6cfacdc8 Turn off crash report if raven not available
Fix #121
2015-03-31 21:52:00 +02:00
Julien Duponchelle 36f5fd2865 Fix crash when IOU script file is incorrect
Fix #125
2015-03-31 21:50:47 +02:00
Jeremy 47ffdbd4ed Bump version to 1.3.1.dev1 2015-03-30 13:09:05 -06:00
Jeremy ddf0194e8e 1.3.0 release 2015-03-30 10:10:03 -06:00
Julien Duponchelle 9bf875699f Fix coveralls 2015-03-30 17:24:03 +02:00
Julien Duponchelle 420a1c2da2 Fix rare crash in tests for travis and fix coverage 2015-03-30 17:03:49 +02:00
Julien Duponchelle da00aa030a Fix missing /v1 in api documentation
Fix #116
2015-03-30 11:05:54 +02:00
grossmj ee8362d89a Fixes issue when asyncio read is cancelled and data is still sent by Dynamips hypervisor. Fixes #113. 2015-03-28 19:23:01 -06:00
grossmj 056ff14437 Fixes unicode decode error when saving IOS router configs. Fixes #115. 2015-03-28 18:09:53 -06:00
Julien Duponchelle 3c917c59fb Fix error when missing adapter
Fix #112
2015-03-27 16:20:31 +01:00
Julien Duponchelle 4a0879f2d1 Branches inscrtructions 2015-03-27 10:32:29 +01:00
Julien Duponchelle 533ce78b90 Fix crash if we call stop on dynamips on non started process
Fix #111
2015-03-27 10:08:03 +01: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 1df8f61035 Merge remote-tracking branch 'origin/master' 2015-03-26 15:11:41 -06:00
Jeremy c7034c25ef Fixes issue when IOURC environment variable is set to None. 2015-03-26 15:11:36 -06:00
Julien Duponchelle 2e72bc2d3a Fix tests 2015-03-26 17:43:00 +01:00
Julien Duponchelle 64152c1af8 Fix a crash in CI, making log impossible to read 2015-03-26 15:49:51 +01:00
Jeremy 879ed9e4e6 Fixes issue when exporting IOS router configs. 2015-03-25 14:58:04 -06:00
Jeremy ec6a761e04 Fixes check if VPCS process is running. 2015-03-25 14:43:51 -06:00
Jeremy 7d8ff54c78 Merge remote-tracking branch 'origin/master' 2015-03-25 14:37:10 -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 07067d6765 Fixes how to test if iou and iouyap are running. 2015-03-24 22:04:48 -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 7b1a707967 Bump version to 1.3.0.dev3 2015-03-23 21:22:10 -06:00
grossmj 73310105a8 Fixes default chassis bug. 2015-03-23 21:13:22 -06:00
Jeremy 1c0c300ded Bump version to 1.3.0.dev3 2015-03-23 18:37:42 -06:00
Jeremy 51659b6087 Bump version to 1.3.0rc2 2015-03-23 15:41:10 -06:00
Akash Agrawall a25b17fe95 Removed merge conflict 2015-03-24 02:42:38 +05:30
Julien Duponchelle 6d0d945d6c Changelog 2015-03-23 20:25:44 +01:00
Jeremy b5aabd4cc5 Fixes initial-config not loading for IOU L2. 2015-03-23 12:30:27 -06:00
Julien Duponchelle cde5c3d994 Fix tests 2015-03-23 15:56:18 +01:00
Julien Duponchelle f4c7212e33 Update sentry key for the RC2
This allow to revoke crash report for old releases
2015-03-23 15:24:57 +01:00
grossmj f451ed144e Prevent error when suspend/resume is not supported in QEMU VM. 2015-03-22 20:40:19 -06:00
grossmj a77023d1ee Bump version to 1.3.0.dev2 2015-03-21 22:47:12 -06:00
grossmj 24300b2502 Adds project id when requesting UDP port. 2015-03-21 22:27:40 -06:00
grossmj 153914bf97 Make sure used ports in a project are cleaned up when closing it. 2015-03-21 17:19:12 -06:00
grossmj 2d6d153262 Save configs when project is committed. 2015-03-21 14:52:17 -06:00
grossmj 628dfef0d3 Initialize chassis when creating an IOS router. Fixes #107. 2015-03-21 13:58:52 -06:00
Jeremy 17d5b3a7bc Remove unnecessary locks. 2015-03-20 19:19:49 -06:00
Jeremy Grossmann 5b08677537 Merge pull request #104 from GNS3/dynamips_hypervisor_lock
Asyncio lock for Dynamips hypervisor.
2015-03-21 00:24:54 +00:00
Akash Agrawall 257735255c Added homepage 2015-03-20 17:09:53 +05:30
Julien Duponchelle 01bcbe2fd9 Lock the dynamips reader an writer
Fix #103
2015-03-20 10:21:40 +01:00
grossmj 7473dec5ad Bump version to 1.3.0.dev1 2015-03-19 19:56:31 -06:00
Julien Duponchelle 29b7f0e164 Merge branch 'asyncio' 2015-03-19 17:46:30 +01:00
Julien Duponchelle 533baf0445 1.3.0rc1 2015-03-19 17:46:03 +01:00
Julien Duponchelle 253ab4e2b5 PEP8 2015-03-19 17:42:43 +01:00
Julien Duponchelle ddb8a9f06e Fix an issue in IOU relative path looking 2015-03-19 15:36:06 +01:00
Jeremy f31071d510 Bump version to 1.3.0rc1.dev3 2015-03-18 15:40:02 -06:00
Jeremy 8415117d2d Save IOS router configs when saving the project (done right this time). 2015-03-18 15:34:31 -06:00
Jeremy f6b122cdfa Look in legacy IOU images dir when looking for relative IOU image path. 2015-03-17 19:28:43 -06:00
Jeremy 44c8396997 Bump version to 1.3.0rc1.dev2 2015-03-17 19:08:18 -06:00
Jeremy fb0490d8e3 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-03-17 18:53:36 -06:00
Jeremy 163d1e375d Save IOS configs when a project is committed. 2015-03-17 18:53:24 -06:00
Julien Duponchelle 6330e99ff1 More robust IOUVM support 2015-03-17 22:18:55 +01:00
Julien Duponchelle 386b311755 Fix iou key verification for large hostid 2015-03-17 20:15:01 +01:00
Julien Duponchelle 4a9f578784 Support IOURC update 2015-03-17 19:00:14 +01:00
Julien Duponchelle 8ca9c2121a Do not crash if iourc file is missing 2015-03-17 18:34:23 +01:00
Julien Duponchelle b5f134dbb2 Merge pull request #102 from vivek425ster/master
Modify README.rst to specify how to run tests.
2015-03-17 16:56:18 +01:00
Vivek Jain 42f51ddc00 Modify README.rst to specify how to run tests. 2015-03-17 21:10:28 +05:30
Julien Duponchelle 66cdf39ea2 Support uploading iourc 2015-03-17 16:31:45 +01:00
Julien Duponchelle 64eb54ae3d Merge pull request #101 from aka001/modified_README
Modified README
2015-03-17 15:42:55 +01:00
Julien Duponchelle 964ea0f577 Fix random behavior in tests 2015-03-17 15:40:58 +01:00
Akash Agrawall dc1c12b7d0 Modified README 2015-03-17 20:04:20 +05:30
Julien Duponchelle bb7eda63af Support more all QEMU status
Fix #98
2015-03-17 11:02:14 +01:00
Julien Duponchelle 54bccb0628 Restore configuration live reload
Closes #94
2015-03-17 10:22:18 +01:00
Jeremy 2de817214f Do not hide non-executable file in the UploadHandler. 2015-03-16 19:16:15 -06:00
Jeremy 93a5f4be79 Temporarily deactivate IOS router saveconfigs. 2015-03-16 17:36:23 -06:00
Jeremy 87d12452f9 Disable the netifaces dependency which creates issues. 2015-03-16 16:35:02 -06:00
Jeremy 46fe973a96 Save IOS router configs when the user saves a project. 2015-03-16 16:33:37 -06:00
Jeremy cc9b575b77 Bind UDP tunnels to the correct source address. Fixes #96. 2015-03-16 12:45:21 -06:00
Julien Duponchelle bcb1ce02ab Refactor config management in tests 2015-03-16 15:03:41 +01:00
Julien Duponchelle e54649accd Fix dynamips tests 2015-03-16 14:42:00 +01:00
Julien Duponchelle c05edfe415 Fix test manager 2015-03-16 12:08:23 +01:00
Julien Duponchelle cf247a9301 Fix iou tests and add tests 2015-03-16 11:52:22 +01:00
Julien Duponchelle 3a6a04b8e5 Fix version test 2015-03-16 10:18:37 +01:00
grossmj 21587fda5a Removes confreg setting for IOS routers. 2015-03-14 16:31:15 -06:00
grossmj 30ed89847b Adds netifaces module in the setup dependencies. 2015-03-14 15:40:00 -06:00
grossmj 6d56da03e5 Fixes tests. 2015-03-14 13:16:27 -06:00
grossmj 25b778aec0 Bump version to 1.3.0rc1.dev1 2015-03-13 22:42:25 -06:00
grossmj a90805135d Bump version to 1.3.0beta2 2015-03-13 22:02:28 -06:00
grossmj 95f9431b59 Update CHANGELOG 2015-03-13 22:00:19 -06: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
Jeremy 221befa73e Option to record curl requests into a file (to replay them later). 2015-03-13 14:43:39 -06:00
Jeremy db69b93100 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-03-13 11:46:03 -06:00
Jeremy 81420c60c7 Changes words in upload template. 2015-03-13 11:46:02 -06:00
Jeremy f7d3af4a59 Fixes hostid retrieval. 2015-03-13 11:45:38 -06:00
grossmj c596147b59 List the iourc file in upload handler. 2015-03-12 20:56:10 -06:00
Jeremy 5637b7be86 Bump version to 1.3.0beta2.dev1 2015-03-12 18:51:22 -06:00
Jeremy 500b7112f5 Assert host and port are not None when creating the Server instance. 2015-03-12 18:50:38 -06:00
Jeremy 36daa3627e Ignore exception in asyncio loop on Windows when the local server gets a signal. 2015-03-12 18:48:07 -06:00
Jeremy 03796ca729 Server handler to shutdown a local server. 2015-03-12 18:44:05 -06:00
Jeremy 6d901e8295 Fixes issue when VBoxManage returns an error. 2015-03-12 16:53:22 -06:00
grossmj 4f7b896a6a Fixes tests. 2015-03-11 23:09:01 -06:00
grossmj 38fa3e9a86 Update CHANGELOG. 2015-03-11 22:33:51 -06:00
grossmj 34c4649d0b Bump version to 1.3beta1 2015-03-11 22:09:43 -06:00
Jeremy 54c2d34185 Optional IOU license key check. 2015-03-11 18:59:57 -06:00
Jeremy aebcd9f08b Relative path support of IOU, IOS and Qemu images. 2015-03-11 15:04:11 -06:00
Jeremy c41bec0516 Do not give attachment warning for generic attachments in VirtualBox. 2015-03-11 12:05:22 -06:00
Jeremy 223f3ee705 Should fix ProcessLookupError exceptions. 2015-03-11 10:53:09 -06:00
grossmj 1610067eee Support for HDC and HDD disk images in Qemu. 2015-03-10 11:50:30 -06:00
grossmj 062e5a5986 Fixes bug when starting a packet capture in VirtualBox with the project path containing spaces. 2015-03-10 11:05:52 -06:00
grossmj 4c68fd0d52 Renames server.conf and server.ini to gns3_server.conf and gns3_server.ini respectively. 2015-03-10 11:00:32 -06:00
grossmj 03dfd177f9 Use TCP instead of Telnet to communicate with Qemu monitor. 2015-03-10 00:34:57 -06:00
grossmj 5910b4b0be Have the server look in the right place for relative image paths. 2015-03-09 21:57:21 -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 5ca65093e4 Fixes bugs when checking if this is a local project. 2015-03-09 12:45:02 -06:00
grossmj 4f1674f50c Bump version to 1.3.0beta1.dev2 2015-03-09 11:38:02 -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 2934232afb Convert legacy IOU directories on remote servers. 2015-03-08 17:45:29 -06:00
grossmj b1eccc0ace Properly restore configs for Dynamips routers. 2015-03-08 14:13:19 -06:00
grossmj c3014632a4 Fixes rename bug for linked clones in VirtualBox. 2015-03-08 12:32:36 -06:00
grossmj 2b34e35027 Pypi doesn't like Python 3.5... yet
Upload failed (400): Invalid classifier "Programming Language :: Python :: 3.5"
2015-03-07 20:19:52 -07:00
grossmj 0d379f428e Makes absolute path checks work on Windows. 2015-03-07 18:16:46 -07:00
Julien Duponchelle be1e0fa1f2 Upload IOURC file via the web interface 2015-03-07 14:38:38 +01:00
Julien Duponchelle ed2e4e43f2 Support the options use_default_iou_values
Fix #92
2015-03-07 14:27:09 +01:00
Julien Duponchelle d126db1fe9 The upload interfaces allow user to choose an image type 2015-03-07 13:52:40 +01:00
Julien Duponchelle 1b68a54234 Look for qemu images in ~/GNS3/images 2015-03-07 11:56:51 +01:00
Jeremy ee578d3c12 Fixes Qemu networking. 2015-03-06 20:08:00 -07:00
Jeremy d87ebb3ed2 Fixes suspend and resume for Qemu. 2015-03-06 15:16:19 -07:00
Jeremy f188bc43e1 Includes SSL cacert file path in the warnings. 2015-03-06 11:25:25 -07:00
Jeremy 053fd9cc0c Adds warnings if the cacert.pem file cannot be found. 2015-03-06 11:20:28 -07:00
Jeremy b58f9e10f9 Bump version to 1.3.0beta1.dev1 2015-03-06 10:34:02 -07:00
Julien Duponchelle e37392c482 Correctly recover id when closing VMS
Fixes #91
2015-03-06 15:48:16 +01:00
Julien Duponchelle d657f94c18 Fix crash when you start capture on a non running IOU 2015-03-06 14:48:46 +01:00
grossmj 18f3859e87 Fixes Telnet server initialization issue in VirtualBox. Fixes #88. 2015-03-05 21:20:02 -07:00
Jeremy a64dfdd694 Disconnect network cable if adapter is not attached in VirtualBox vNIC. 2015-03-05 19:11:33 -07:00
Jeremy 2bae814eb1 Remove redundant code for Dynamips hypervisor connections. 2015-03-05 18:00:17 -07:00
Jeremy c012e8ddb3 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-03-05 16:11:50 -07:00
Jeremy b5e8aaf682 Support for Raven to send crash report from a frozen state. 2015-03-05 16:11:43 -07:00
Julien Duponchelle 2679c03fe2 Drop cloud from config 2015-03-05 23:15:06 +01:00
Julien Duponchelle a3e4b81837 Drop cloud for the moment 2015-03-05 23:13:54 +01:00
Julien Duponchelle 01ab91722b Proper format of crash report 2015-03-05 20:12:56 +01:00
Julien Duponchelle a4da6c6a74 Add more informations in crash reports 2015-03-05 20:05:46 +01:00
Julien Duponchelle 1d0ffe4b2e Add more informations to crash reports 2015-03-05 17:44:01 +01:00
Julien Duponchelle 83c1ada63e Drop unused cloud code, this cleanup the dependencies 2015-03-05 17:15:16 +01:00
Julien Duponchelle 3407ba802e Rename vlan dat file for IOU 2015-03-05 17:00:25 +01:00
Jeremy 7a6136ed14 Fixes adapter bug with VirtualBox. 2015-03-04 18:24:15 -07:00
Julien Duponchelle bae5b6edb4 Fix version notation in changelog 2015-03-03 18:48:28 +01:00
Jeremy 94bcd1cf11 Bump to version 1.3.0alpha1 2015-03-03 10:47:02 -07:00
Jeremy b9d057854c Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-03-03 10:43:52 -07:00
Jeremy 69f8b7de6a Bump to version 1.3alpha1 2015-03-03 10:43:44 -07:00
Julien Duponchelle 4c2dbbbebc Changelog 2015-03-03 18:43:17 +01:00
Julien Duponchelle 80fd857658 Fix tests 2015-03-03 14:37:34 +01:00
Julien Duponchelle 10296f4f19 Do not send garbage to console in case of sentry not available 2015-03-03 13:05:10 +01:00
Julien Duponchelle 16dc0d1a8a Send crash report synchronous to avoid lost of events 2015-03-03 12:41:30 +01:00
Jeremy 6208cb997d Fixes Qemu adapters support. 2015-03-02 19:59:44 -07:00
Jeremy 6e89f2c7c7 Remove console_host from IOU and Qemu handlers. 2015-03-02 19:17:13 -07:00
Jeremy 3472f19519 Use console_host from the PortManager. 2015-03-02 18:19:11 -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
Jeremy 7ace6fc7e9 Fixes old projects loading issue with Qemu. 2015-03-02 14:37:48 -07:00
Jeremy 466c6142af Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-03-02 13:04:35 -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 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 16f6fe9d3b Send criticals errors to Sentry
Fixes #77
2015-03-02 09:05:32 +01:00
grossmj 46b0ead329 Close connections for auto-reload. 2015-03-01 21:13:51 -07: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 0c767e1c0e Bump to version 1.3.dev3 2015-02-28 21:39:52 -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
Jeremy b55719186e Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-02-27 13:27:40 -07:00
Jeremy 1d6d2a39f0 Allow signals to be processed on Windows. 2015-02-27 12:51:39 -07:00
Julien Duponchelle d0c386860e Fix curl sample generation in the documentation 2015-02-27 18:47:08 +01:00
Julien Duponchelle ebd72d1149 Add a curl sample sessions 2015-02-27 18:39:20 +01:00
Julien Duponchelle ae7bf828cd Fix tests on MacOS 2015-02-27 18:30:22 +01:00
Julien Duponchelle 38326f7d72 Add changelog file 2015-02-27 16:13:30 +01:00
Julien Duponchelle f6448bb05d Turn off collored log output on windows 2015-02-27 15:27:13 +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 aa40e6097e Fix tests 2015-02-26 10:45:37 +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
Julien Duponchelle 0713724a97 Properly handle when client cancel's query 2015-02-25 11:42:02 +01:00
Julien Duponchelle 7c2329d870 Garbage collect the lock 2015-02-25 11:19:16 +01:00
Julien Duponchelle 545acd1f06 Limitation documentation 2015-02-25 10:29:20 +01:00
Julien Duponchelle 36bb510ac1 Add api limitations in the documentation 2015-02-25 09:47:55 +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
grossmj 550cc7f508 Rename vms_lock to vm_locks. 2015-02-24 21:02:37 -07:00
Jeremy 6bb7ab20b3 Fixes vm concurrency and support for devices. 2015-02-24 15:26:03 -07:00
Julien Duponchelle 46b348e46a VM concurrency 2015-02-24 21:53:38 +01:00
Julien Duponchelle 9153b42b9d Fix crash in crash report 2015-02-24 20:22:10 +01:00
Julien Duponchelle 250bb38d7c Crash report with Sentry 2015-02-24 17:40:01 +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
Julien Duponchelle 1ca445d5f5 Fix dynampis resume API 2015-02-24 10:02:06 +01: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
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 4d1f08c96e Turn off Qemu graphics if no display is available
Fixes #66
2015-02-23 20:21:00 +01:00
Julien Duponchelle cad708f4ab Add warning unstable at the beginning of the API 2015-02-23 18:00:59 +01: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 da11343647 Fixes aiohttp.errors.ClientDisconnectedError errors when SIGINT is received. 2015-02-22 12:36:44 -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 45a48cfcc1 Embeded debugging shell 2015-02-20 22:40:20 +01:00
Julien Duponchelle a0f4c6d021 Repare live reload 2015-02-20 22:23:09 +01:00
Julien Duponchelle 71357fa7ab Fix tests 2015-02-20 17:45:27 +01:00
Julien Duponchelle 47be57dca7 Fix qemu close 2015-02-20 17:31:02 +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 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 3797e27de5 Update documentation 2015-02-19 20:23:27 +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 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 0977af1c00 Add a dedicated glossary page 2015-02-18 11:06:13 +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
Julien Duponchelle 70ad9fff26 Documentation update 2015-02-17 09:46:18 +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 ff7f014423 Fix test 2015-02-16 19:14:45 +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 d86e880ff7 Definitions of port and adapter 2015-02-13 18:40:40 +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
Julien Duponchelle b419001813 Fix test on Travis with Python 3.3 2015-02-13 11:02:56 +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
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
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 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
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 27cbfbbdc6 Useless requirement 2015-02-06 12:35:31 +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
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 2786d0f044 Update aiohttp 0.14.4 2015-02-05 15:04:59 +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
Julien Duponchelle ed41384e22 Add PyPi badge 2015-02-05 10:49:27 +01:00
Julien Duponchelle 2df3525ffe Add code coverage 2015-02-05 10:46:27 +01:00
Julien Duponchelle 132c06a2d4 Add travis icon on README 2015-02-05 10:41:55 +01:00
Jeremy 4e690a6d06 Update required aiohttp version to 0.14.4 2015-02-04 17:59:16 -07:00
Jeremy c12d3ff739 Update documentation. 2015-02-04 17:48:33 -07: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 568e203580 Increase timeout time for test in order to avoid false negative 2015-02-04 17:33:58 +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 a12f753136 Update documentation 2015-02-03 21:27:15 +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 d199778745 Fixes tests. 2015-02-02 19:41:26 -07: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 57b35d5758 Fix tests + PEP8 + documentation 2015-02-01 17:22:31 -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 e7c9139045 Rename /udp entry point to /ports/udp. 2015-01-31 11:58:34 -07:00
Jeremy fa978b6a28 Send all VirtualBox settings when creating the VM. 2015-01-30 19:36:05 -07:00
Jeremy 6e29e7711c Update dependencies. 2015-01-30 15:40:00 -07:00
Julien Duponchelle 58fd9043ed Clean dependencies 2015-01-30 17:55:46 +01: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 4b62d4d82c py.test timeout and capture log 2015-01-28 15:57:11 +01:00
Julien Duponchelle f682e1c474 Complete documentation 2015-01-27 15:06:55 +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 c409819382 Add missing documentations and add julien email to travis build 2015-01-26 09:40:48 +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 499a8f10ae Update tests. 2015-01-23 16:38:59 -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 4848eeabad Add missing curl example 2015-01-23 16:21:26 +01:00
Julien Duponchelle 77ee6501b9 Update documentation documentation 2015-01-23 16:20:12 +01:00
Julien Duponchelle 977ff0fb57 Build documentation 2015-01-23 16:19:17 +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
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
Jeremy 1fea7593ef Update README 2015-01-22 14:39:20 -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
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 55052c9bca Add missing documentations 2015-01-22 10:56:02 +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 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 beb27b3f69 Merge remote-tracking branch 'origin/asyncio' into asyncio 2015-01-21 15:21:20 -07:00
Jeremy 0b1b27db8f Add module name to base manager. 2015-01-21 15:21:15 -07:00
Julien Duponchelle 0249a21409 Build doc 2015-01-21 22:33:41 +01: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
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
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 0eaa7be86a PEP 8 Enforcer. 2015-01-20 22:13:58 +01:00
Julien Duponchelle 649d4e5143 Allow user to set console port 2015-01-20 20:54:46 +01:00
Julien Duponchelle 57c3463edc Ignore vpcs.hist 2015-01-20 20:11:39 +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 db31afeb63 Merge branch 'master' into asyncio
Conflicts:
	gns3server/old_modules/qemu/qemu_vm.py
	gns3server/version.py
2015-01-20 16:45:09 +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 531265eced Get a stable example between tests for project creation 2015-01-20 15:35:46 +01:00
Julien Duponchelle 78237e9fb6 Bold parameter in documentation in order to improve readability 2015-01-20 15:31:27 +01:00
Julien Duponchelle f5ac73d1ca Fix documentation generation 2015-01-20 15:27:28 +01:00
Julien Duponchelle 0b97509a74 Do not color logger message 2015-01-20 15:18:57 +01:00
Julien Duponchelle 4488cc3960 Colored logs 2015-01-20 15:10:38 +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
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 78015b800e Install vpcs on travis 2015-01-19 17:56:38 +01:00
Julien Duponchelle ed973dbcf2 Project handler use ProjectManager 2015-01-19 17:12:36 +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 a9a09cc0bc Temporaru drop old tornado logging 2015-01-19 15:05:44 +01:00
Julien Duponchelle a06d935ef4 Drop tornado 2015-01-19 14:21:08 +01:00
Julien Duponchelle f0880c4a37 Drop queue codes because it's too specific 2015-01-19 13:47:20 +01:00
Julien Duponchelle 2c3b0061a2 Cleanup travis build 2015-01-19 11:58:22 +01:00
Julien Duponchelle 9e5a2fcc42 Skip .tox directory during tests 2015-01-19 11:37:24 +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 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
Jeremy 1900966751 Update documentation script to use Python3. 2015-01-18 13:58:19 -07: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
Jeremy c47081f363 Bump version to 1.2.3 2015-01-16 17:58:09 -07:00
Jeremy 3793789732 Fixes broken -netdev + legacy virtio in Qemu support. 2015-01-16 17:44:07 -07:00
Julien Duponchelle 869ad026ff Do not add a show source in documenation 2015-01-16 21:59:51 +01:00
Julien Duponchelle 9f82f3826b Default doc style 2015-01-16 21:58:02 +01:00
Julien Duponchelle 2c9a802cca Default documentation theme 2015-01-16 21:53:04 +01:00
Julien Duponchelle 878532325a Nature 2015-01-16 21:48:03 +01: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
Jeremy 4c010b466d Bump version to 1.2.3.dev1 2015-01-16 10:43:44 -07: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 aff834f565 Oops bad merge 2015-01-16 10:18:02 +01:00
Julien Duponchelle 7a767a6b92 Merge 1.2.2 into asyncio
Conflicts:
	gns3server/version.py
2015-01-16 09:43:58 +01:00
Jeremy 701a1626f7 Bump version to 1.2.2 2015-01-15 17:44:09 -07: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
Julien Duponchelle 0afea48e63 Merge branch 'asyncio' of github.com:GNS3/gns3-server into asyncio 2015-01-15 10:15:30 +01:00
Julien Duponchelle 77686b35c2 Drop zmq and tornado from Readme 2015-01-15 10:13:12 +01:00
Jeremy e6e83ffa8a Update the VM name in VirtualBox for linked clones. 2015-01-14 16:48:32 -07:00
Jeremy 5618556b42 Updates dependencies in setup.py 2015-01-14 15:05:33 -07:00
Julien Duponchelle 6c35cc304e Dirty stop start for VPCS 2015-01-14 18:52:02 +01:00
Julien Duponchelle 482fdf9031 Drop documentation it's already in script directory 2015-01-14 17:38:03 +01:00
Julien Duponchelle 1431c66c54 Documentation generation 2015-01-14 12:32:56 +01:00
Julien Duponchelle aab944fb6c Move old test to old_tests directory 2015-01-14 11:43:23 +01:00
Julien Duponchelle efad58a2af Enable travis for all branches 2015-01-14 10:39:46 +01:00
Julien Duponchelle f1a9cc9f01 PEP8 2015-01-14 10:37:49 +01:00
Julien Duponchelle 1af5513c86 Update dependencies 2015-01-14 10:33:01 +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
Jeremy 61344a1669 New base server. 2015-01-13 17:05:26 -07:00
Jeremy 5e665cc67a Update dependencies in setup.py 2015-01-13 13:39:06 -07:00
Jeremy 2bfe098866 Bump version to 1.2.2.dev2 2015-01-12 16:30:09 -07:00
Jeremy 2ef45781ad Checks connection failure to Qemu monitor. 2015-01-11 18:24:13 -07:00
Jeremy Grossmann 14cc6d414f Merge pull request #63 from Raizo62/master
Add snapshot named reset to linked cloned Vbox
2015-01-11 17:16:16 -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
Jeremy Grossmann e9991affc3 Merge pull request #60 from shmygov/suspendqemu
QEMU VM suspend/resume and reload
2014-12-23 12:27:18 -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
Jeremy Grossmann 93934cf554 Merge pull request #55 from dlintott/fix_broken_test
Update test with correct hypervisor IP
2014-12-09 12:36:01 -07:00
Daniel Lintott 6a81390808 Update test with correct hypervisor IP 2014-12-09 13:49:45 +00: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 fc04a94dce Bump version to 1.2.2.dev1 2014-12-05 13:53:30 -07:00
Jeremy ba357b0541 Bump version to 1.2.1 2014-12-04 12:49:40 -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 9ec1373d36 dms terminates instance if id matches 2014-11-24 16:49:01 -07:00
Jerry Seutter b220cffcf4 Updating dms to look for cloud_region instead of region 2014-11-24 16:40:55 -07:00
Jerry Seutter 7ef8dd794a Copy updated cloud/ module from gns3-gui 2014-11-24 16:24:57 -07:00
Jerry Seutter b9a4531544 Ensuring dead_time is an integer 2014-11-24 15:35:09 -07:00
Jerry Seutter cfdff773c4 deadtime -> dead_time 2014-11-24 15:08:58 -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
Jeremy 3bd88178a0 Bump to version 1.2.1.dev1 and fixes vboxmanage lookup on Windows. 2014-11-20 19:01:00 -07:00
Jeremy 95f5c73e33 Bump to version 1.2 2014-11-19 19:28:21 -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 Grossmann 2509ee70e8 Merge pull request #51 from DimArmen/patch-1
Update setup.py
2014-11-15 10:21:49 -07:00
Dimitris Armenatzoglou a765bed3da Update setup.py
missing comma causes installation to fail...
2014-11-15 18:37:44 +02: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
jseutter 387896fa69 Merge pull request #10 from planctechnologies/gns-129
Move image path manipulation to server side
2014-11-12 14:22:10 -07:00
jseutter 4d9d6ae5dd Merge pull request #9 from planctechnologies/gns-125
Add support for Qemu devices on cloud instances
2014-11-12 14:19:58 -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
Nasrullah Taha f94a900b95 Merge pull request #8 from planctechnologies/gns-123
Support IOU devices on cloud instances
2014-11-06 16:18:27 -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 410729c998 Check for duplicate node names in Preferences. 2014-11-03 15:06:07 -07:00
grossmj 3a85e2dba7 Fixes missing cloud settings on Windows. 2014-11-02 18:09:35 -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
Nasrullah Taha bf0b6ee534 Merge pull request #7 from planctechnologies/gns-110
Support launching devices from cloud file images
2014-10-30 14:23:43 -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
Jeremy Grossmann 8c47522a18 Merge pull request #39 from planctechnologies/dev
Improve logging, PEP8 cleanup
2014-10-28 16:39:58 -06:00
Jerry Seutter d2798a969e Cleanup 2014-10-28 11:27:41 -06:00
Jerry Seutter 148b99c553 Cleanup 2014-10-28 11:09:43 -06:00
Jerry Seutter 5f9554b86c Cleanup 2014-10-28 11:07:44 -06:00
Jerry Seutter 3a157b5e6d Handle a missing cloud server section in the config file 2014-10-28 11:01:17 -06:00
Jerry Seutter 7830bf8b1a Merge branch 'dev' into gns-110 2014-10-28 10:39:03 -06:00
Jerry Seutter ee1dbd6cd3 Merge branch 'master' into dev 2014-10-28 09:38:37 -06:00
Jerry Seutter c4afc33ea8 IOS devices can be deployed on cloud instances. 2014-10-27 18:12:56 -06:00
Jeremy f1f44078ba Update README. 2014-10-27 15:58:13 -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
grossmj 440148aa0b Bump version to 1.1 2014-10-22 22:43:48 -06:00
grossmj f48c9117b0 Serial console for VirtualBox. 2014-10-22 21:59:11 -06:00
grossmj 666c8ea922 Pedantic: make sure Idle-PC is spelled that way. 2014-10-22 20:47:59 -06:00
Jerry Seutter 91894935bf Merge branch 'dev' into gns-110 2014-10-21 15:39:14 -06:00
grossmj 3b3c47c858 Bump version to 1.1.dev1. 2014-10-21 10:02:07 -06:00
grossmj f0c344939b Polish and bump up to version 1.0! 2014-10-20 18:40:05 -06:00
grossmj e261263aab Add path lookup directory for Qemu on OSX. 2014-10-20 11:56:30 -06:00
Jerry Seutter 6d80d3e70d Merge branch 'master' into dev 2014-10-20 11:22:04 -06:00
grossmj b88abb7c91 Remote servers and load-balancing (still things to improve). 2014-10-19 17:29:04 -06:00
Jerry Seutter c08e1011ed Make the server download images from cloud files 2014-10-15 15:51:00 -06:00
Jerry Seutter a833925497 Copied fresh cloud files from gns gui repo 2014-10-15 15:50:24 -06:00
grossmj 5f4b3c547b Bump to version 1.0.dev1. 2014-10-14 17:47:52 -06:00
grossmj f854752c84 Bump to version 1.0-beta4. 2014-10-14 17:20:28 -06:00
Jerry Seutter f287f5141a Update .gitignore file 2014-10-14 13:55:17 -06:00
grossmj 4195bdc7dd Auto idle-pc feature and improvements/bug fixes for GNS3 preferences. 2014-10-13 19:53:17 -06:00
Jerry Seutter c0fc093ab7 Merge branch 'master' into dev 2014-10-10 15:24:08 -06:00
grossmj b68c11e33e Bump version to 1.0-beta4.dev2 2014-10-09 21:26:07 -06:00
Jeremy Grossmann b3e86be182 Merge pull request #37 from planctechnologies/server_security2
Add secure communication between gui and server 2/2
2014-09-30 11:24:28 -06:00
Jeremy Grossmann 5802c2b9f5 Merge pull request #36 from planctechnologies/server_security
Add secure communication between gui and server 1/2
2014-09-30 11:23:04 -06:00
Jeremy Grossmann 83cef60c0f Merge pull request #35 from planctechnologies/deadman2
Deadman switch support 2/2
2014-09-30 11:20:39 -06:00
Jeremy Grossmann e39c93c91a Merge pull request #34 from planctechnologies/deadman
Deadman switch support 1/2
2014-09-30 11:20:01 -06:00
grossmj 1a96a150bc Fix shemas for QEMU. 2014-09-30 11:15:15 -06:00
Michael 65fdafda40 Merge pull request #6 from planctechnologies/gns-108
Add a --quiet mode to gns3server
2014-09-29 19:55:36 -06:00
Jerry Seutter c66fbbdb36 Merge improved ssl and auth support 2014-09-29 18:24:28 -06:00
Jerry Seutter 03fb75437b Add cert and auth support to gns3server. 2014-09-29 18:19:35 -06:00
Jerry Seutter 3833803244 Copy deadman switch code from old repository into gns3server. 2014-09-29 18:14:07 -06:00
Jerry Seutter 7c446796fe gns3server now controls the deadman switch. 2014-09-29 18:09:16 -06:00
Jerry Seutter ee88d6f808 Merge branch 'master' into dev 2014-09-29 17:24:52 -06:00
Jerry Seutter d4d774055a Remove unused parameter 2014-09-29 16:01:39 -06:00
Jerry Seutter efc80ff17a Revert version number change 2014-09-29 15:59:49 -06:00
Jerry Seutter 91fba4aca4 Use logging config to set destination of copyright info 2014-09-29 15:56:01 -06:00
grossmj 46495b9265 Merge remote-tracking branch 'origin/master' 2014-09-28 18:23:51 -06:00
grossmj a8193fa063 Split the PATH environment variable using os.pathsep 2014-09-28 18:23:27 -06:00
Jeremy Grossmann e3eecb6584 Merge pull request #33 from dlintott/fix_broken_test
Fix test for dynamips c7200 NPE (Default is now NPE-400)
2014-09-27 15:07:20 -06:00
Jeremy Grossmann 35f3434b2f Merge pull request #32 from noplay/osx_installation
Instruction for development on MacOS X
2014-09-27 13:56:28 -06:00
Daniel Lintott 20dc779fd8 Fix test for dynamips c7200 NPE (Default is now NPE-400) 2014-09-27 19:27:26 +01:00
Julien Duponchelle 04f670cb50 Instruction for development on MacOS X 2014-09-27 19:59:58 +02:00
Jerry Seutter 23686215fe Add a --quiet mode to gns3server 2014-09-25 14:42:37 -06:00
grossmj 6dce005594 Bump to version 1.0-beta1.dev1. 2014-09-24 11:14:28 -06:00
grossmj a49f107af2 Bump to version 1.0-beta3. 2014-09-24 11:01:33 -06:00
grossmj e7141685cc Tweaks to support Qemu on Windows. 2014-09-23 21:38:51 -06:00
grossmj aca9e0de56 Qemu integration stage 2, support for ASA and IDS. 2014-09-22 21:24:55 -06:00
Jerry Seutter 3b465890b6 Increase sleep to work around Rackspace slowness 2014-09-22 09:10:30 -06:00
Jerry Seutter cf59240bef Bugfixes with cloud server communication 2014-09-21 21:41:51 -06:00
grossmj d1715baae1 Base QEMU support. 2014-09-18 15:47:43 -06:00
Jerry Seutter b132c901c9 Disabling auth from version string 2014-09-18 20:39:12 +00:00
Michael a0e2fe551a Added web user and password to start_server output 2014-09-15 21:25:09 -06:00
jseutter 800d4d91f9 Merge pull request #5 from planctechnologies/gns3-87-bugfixes
Gns-87 bugfixes
2014-09-11 14:48:26 -06:00
Michael 6c6c9200e4 Add CN support to cert as command line arg 2014-09-08 22:07:33 -06:00
Michael 4fa87005bc Enabled HTTP Auth, SSL and DMS disabling based on cloud.conf availability 2014-09-08 21:51:56 -06:00
Michael 17e4b51d18 Testing out dummy config 2014-09-08 20:45:36 -06:00
Jerry Seutter 6421367259 Importing changeset from gns3dms repo 2014-09-08 15:35:22 +00:00
jseutter 6ff2c654d9 Merge pull request #4 from planctechnologies/gns3-87
Gns3 87 - add server security and startup scripts
2014-09-08 09:25:28 -06:00
Michael f876a862c4 GNS3 server will now create the heardbeat file durining initialization 2014-09-06 21:13:09 -06:00
Michael ef492d4690 Update gns3dms to support cloud.conf 2014-09-06 20:46:06 -06:00
Michael 36e539382c Added support for cloud.conf file and startup script 2014-09-06 00:51:43 -06:00
Michael 6f9e0f6d2e Moved certs to .config 2014-09-03 22:19:59 -06:00
Michael b84dda3c8e HTTP auth added to file_upload and jsonrpc 2014-09-03 22:12:34 -06:00
Jerry Seutter e2f3d2aca8 Pull from dev 2014-09-03 20:39:02 +00:00
Michael 382e693fc8 Added authentication handler for basic auth check 2014-09-03 00:05:06 -06:00
Michael a95cc678e9 Added server.py ssl mode dependant on cert existence 2014-09-02 22:33:45 -06:00
Michael bcf0aae531 Added HOME support and cert dir to create_cert script 2014-09-02 22:17:06 -06:00
grossmj b483f87c2f Bump version to 1.0-beta3.dev1. 2014-09-02 15:49:39 -06:00
grossmj 9d2e18328b Bump version to 1.0-beta2. 2014-09-02 13:06:26 -06:00
Michael 174013da80 Merge pull request #2 from planctechnologies/deadman
GNS-42 - Move deadman switch into gns3server codebase
2014-08-31 23:50:41 -06:00
Michael 99a8f5f21a Added create_cert.sh and ssl_options to enable SSL 2014-08-30 01:32:48 -06:00
Jerry Seutter 5e72fcbe14 GNS-42 - Move deadman switch into gns3server codebase 2014-08-29 18:05:56 +00:00
Michael e688d96c36 Add start, stop, restart and heartbeat handling to DeadMan module 2014-08-28 23:06:28 -06:00
Michael 3845cab84b Adding initial module 2014-08-28 22:09:38 -06:00
Michael 98e3a2e088 Updated requirements.txt 2014-08-28 22:01:23 -06:00
grossmj 76b357c1ce Do not activate sparse memory by default for c1700 and c2600 platforms.
https://github.com/GNS3/dynamips/issues/54
2014-08-26 17:07:48 -06:00
grossmj 80ab81190c Add "enable console" option to VirtualBox VMs (True by default).
Add "start at" option to VirtualBox VMs (adapter start index, 0 by default).
2014-08-26 15:27:43 -06:00
grossmj 934404cc90 Change default port ranges. 2014-08-25 15:40:04 -06:00
grossmj 6e39630b9b Required VirtualBox wrapper is >= 9.1 2014-08-22 17:39:57 -06:00
grossmj 569a68a486 VirtualBox support refactoring. 2014-08-22 17:36:12 -06:00
grossmj 77c583ca39 Check if the VirtualBox COM service is installed on Windows. 2014-08-21 18:13:41 -06:00
grossmj ea05744e1c Force to rebuild the COM cache on Windows (for VirtualBox support). 2014-08-17 15:15:07 -06:00
grossmj e0f0c98ffd Do not look for vboxwrapper on non Windows platforms. 2014-08-13 12:11:41 -06:00
grossmj a8d740ef21 Fix version from 1.0beta2-dev1 to 1.0beta2.dev1 2014-08-11 22:13:21 -06:00
Jeremy Grossmann 90c8c4312c Merge pull request #27 from dlintott/master
Override check_origin and fix test suite
2014-08-10 15:27:49 -06:00
Daniel Lintott e5642546f1 Remove commented line, not needed anymore 2014-08-09 12:26:24 +01:00
Daniel Lintott 4a33b2021c Further optimise the Travis testing and improve running tests for a user
+ Convert setup.py test to run py.test instead of tox
  + Tox should now run setup.py test
  + TravisCI will create a job for each TOX_ENV and then execute
    tox to run the tests for that TOX_ENV
2014-08-09 12:05:31 +01:00
Daniel Lintott a4bc96af28 revert not installing requirements outside of tox 2014-08-08 19:20:20 +01:00
Daniel Lintott d8f622d438 Streamline TravisCI build
+ As we use Tox there's no need to run seperate builds for
   python3.3 and python3.4
 + There's no need to install the requirements in main
   environment as all dependencies are handled in the Tox
   virtualenv's
2014-08-08 19:15: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
Daniel Lintott 578bb5741d Override check_origin from tornado.websocket 2014-08-06 22:43:37 +01:00
grossmj 0cfb446146 Bump version to beta1. 2014-07-18 22:50:22 -06:00
grossmj ae0feb8c9c Fixes packet capture when spaces are in the capture file path. 2014-07-18 22:43:01 -06:00
grossmj 7ff218a5fc Fixes issue when adding multiple VirtualBox VMs.
Remove early release dialog.
2014-07-18 21:10:46 -06:00
grossmj cdc778c159 Fixes issue with VirtualBox integration on Windows. 2014-07-18 18:04:21 -06:00
grossmj 19d24975c2 Remove privileged access checks for Dynamips. 2014-07-17 20:48:11 -06:00
grossmj 65d70bacfa Telnet to pipe support for VirtualBox. 2014-07-17 20:02:18 -06:00
grossmj 9ac2716826 Adds VirtualBox API for Python3 (not official). 2014-07-17 18:28:55 -06:00
grossmj 53ee3dc5cc Remove vboxapi_py3 package. 2014-07-17 18:24:21 -06:00
grossmj 64f78bb847 Fixes some inconsistencies when exporting configs. 2014-07-17 18:22:27 -06:00
grossmj f5cf7363da Work around for the c7200 reload bug in Dynamips <= 0.2.13. 2014-07-17 18:03:21 -06:00
grossmj 1fb4ab7e33 Minimal VirtualBox integration. 2014-07-17 15:28:02 -06:00
grossmj 0ef727ce4b Base for VirtualBox support. 2014-07-12 13:18:25 -06:00
grossmj 88e03ae312 Bump to version 1.0b1.dev1. 2014-07-11 16:44:42 -06:00
grossmj d6efd9ced0 Bump version to 1.0a8. 2014-07-09 17:08:22 -06:00
grossmj 6ffba35742 Use Windows interface names instead of their GUID (more user friendly).
Ask for an alternative interface if one cannot be found.
2014-07-08 14:01:45 -06:00
grossmj 9fc7650f3f Find an alternative IOS or IOU image if one cannot be found when importing a topology. 2014-07-06 16:34:38 -06:00
grossmj 551b98880b Default preferences for remote servers. 2014-07-04 15:18:13 -06:00
grossmj 7c99ee9de8 New feature: import/export device configs. 2014-07-03 18:56:37 -06:00
grossmj 9ac5b86431 Fixes IOU and VPCS renaming issues. 2014-07-03 09:02:25 -06:00
grossmj 329891fc83 Check for VPCS version >= 0.5b1 2014-07-02 15:04:39 -06:00
grossmj 15bc2221b9 Bump to version 1.0a8.dev1 and reactivate cloud features. 2014-07-01 08:19:19 -06:00
grossmj 4b5c38495a Change default projects directory from ~/Documents/GNS3/projects to ~/GNS3/projects. 2014-06-29 10:14:15 -06:00
grossmj c9a729b369 Bump version to 1.0a7. 2014-06-29 03:59:35 -06:00
Jeremy Grossmann 47d43a91ff Merge pull request #21 from planctechnologies/master
Create cloud server images
2014-06-27 11:04:17 -06:00
grossmj 9bc0287540 New feature: packet capture for IOU (not working, issue with iouyap). 2014-06-27 09:42:34 -06:00
Jerry Seutter fd6e4954e4 Merge branch 'master' into dev 2014-06-27 14:26:58 +00:00
Jerry Seutter ab42b41d39 Merge remote-tracking branch 'origin/gns-80-cloud-image' into dev
Conflicts:
	cloud-image/create_image.py
2014-06-27 14:19:17 +00:00
grossmj 33787d486a New feature: packet capture for the Ethernet hub and Ethernet, ATM and Frame relay switches. 2014-06-27 07:26:47 -06:00
Jerry Seutter ff0201bb4f Syntax cleanup 2014-06-26 14:35:19 +00:00
Kieron Bulloch 868935f5e8 Improving readability. 2014-06-26 13:44:03 +00:00
Kieron Bulloch d6c5dffae6 Switching script creation method to use string.Template 2014-06-26 13:44:03 +00:00
Kieron Bulloch e16c269f6d Adding readme.txt 2014-06-26 13:44:03 +00:00
Kieron Bulloch 7d8aee98fd Adding GNS3-server code source info to default image name.
Fixing spacing, etc before pull request.
2014-06-26 13:44:03 +00:00
Kieron Bulloch b4f4bad21a Moving cloud image creation script to gns3-server project. 2014-06-26 13:44:03 +00:00
grossmj 606f773f3d New feature: packet capture for IOS routers. 2014-06-26 03:06:58 -06:00
Kieron Bulloch 2d4656621b Improving readability. 2014-06-24 23:34:50 -04:00
Kieron Bulloch aedd750251 Switching script creation method to use string.Template 2014-06-24 23:07:28 -04:00
grossmj 14bb12d3fb Check for sticky bit when checking for executable access. 2014-06-21 06:53:47 -06:00
grossmj 49506ada3f Fixes inconsistencies with startup and private config paths when renaming an IOS router. 2014-06-18 07:22:57 -06:00
grossmj 587ddf7646 IOU: rename startup-config to initial-config because it makes more sense. 2014-06-18 06:08:00 -06:00
Kieron Bulloch 8dc3f288b3 Adding readme.txt 2014-06-17 00:11:25 -04:00
Kieron Bulloch 8b3c5c54a4 Adding GNS3-server code source info to default image name.
Fixing spacing, etc before pull request.
2014-06-17 00:02:17 -04:00
Kieron Bulloch a01cdd9978 Moving cloud image creation script to gns3-server project. 2014-06-16 01:20:35 -04: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 9ef715e341 Update README. 2014-05-31 14:43:07 -06:00
grossmj 3a57539f77 Bump to version alpha7.dev1 2014-05-31 10:51:19 -06:00
grossmj e5f5228329 Bump to version 1.0-alpha6. 2014-05-30 13:49:52 -06:00
grossmj 61ef750da3 Replace decode errors when reading device configs. 2014-05-29 12:59:13 -06:00
grossmj e817c13738 Catch BlockingIOError in ioucon. 2014-05-29 03:10:45 -06:00
grossmj a0a5705fd8 Fixes issue with Frozen server and templates directory. 2014-05-29 01:30:18 -06:00
grossmj 7b58f14681 Some PEP8 style fixes. 2014-05-28 06:26:20 -06:00
grossmj a39a693cda Hostname management refactoring. 2014-05-27 11:23:06 -06:00
grossmj 3a0439c9ae New hostnames management for the Dynamips module. 2014-05-27 03:59:22 -06:00
grossmj d7b9ed33f8 Bump to version 1.0a6.dev2 2014-05-25 01:51:57 -06:00
grossmj f2fbdf618f Fixes privileged access checks for IOU. 2014-05-22 13:06:29 -06:00
grossmj 9da5aa1107 Fixes validation issue with c2600 XM chassis. 2014-05-22 10:54:34 -06:00
grossmj 0f5d2927df Fixes VPCS start on Linux/UNIX. Fixes #15. 2014-05-22 10:14:09 -06:00
grossmj f1d346f958 Bump to version 1.0a6.dev1 2014-05-21 23:34:19 -06:00
grossmj 909915ceeb Bump version to alpha5. 2014-05-21 19:13:32 -06:00
grossmj 72b204dfe6 Use SIGBREAK to stop VPCS on Windows. 2014-05-21 19:11:28 -06:00
grossmj 3d6ec140b7 Forbid additional properties in schemas, add missing ones. 2014-05-20 18:06:28 -06:00
grossmj b42d751e89 Fix console port restoration for IOU and VPCS (when loading a project). 2014-05-20 17:21:45 -06:00
grossmj 566c48ffed Send error if L1 keepalive messages are not supported. 2014-05-20 10:37:11 -06:00
grossmj 77b845a17f Revert "Fix a potential issue in ioucon."
This reverts commit 08cb3de683.
2014-05-20 10:28:59 -06:00
grossmj 08cb3de683 Fix a potential issue in ioucon. 2014-05-19 22:21:15 -06:00
grossmj 119eb635cf Changes how to look for vpcs and iouyap locations. 2014-05-19 18:52:59 -06:00
grossmj e41afbb5c6 IOU layer 1 keepalive messages support. 2014-05-19 15:50:27 -06:00
grossmj babdfd5086 Amend device configs when renaming. 2014-05-19 13:14:57 -06:00
grossmj 7182e59892 Clean delete for IOU & VPCS devices. 2014-05-19 12:05:30 -06:00
grossmj 6c0918312c Use SIGTERM instead of SIGUSR1 to stop vpcs. 2014-05-18 22:29:41 -06:00
grossmj 3b05d89837 Fix issue with VPCS create request. 2014-05-18 19:20:05 -06:00
grossmj 0af4ea81ff Working VPCS implementation. 2014-05-18 19:12:46 -06:00
grossmj 85ef421d72 Catch exceptions in file upload handler. 2014-05-17 18:39:37 -06:00
grossmj f4ab8e2dd0 UDP connection checks. 2014-05-17 18:07:16 -06:00
Jeremy Grossmann 0f8d1bc6da Merge pull request #12 from joebowen/master
Fixes for the VPCS path setting and base_script_file setting
2014-05-16 13:32:59 -06:00
grossmj 6a839c4b7b Wait more time for ioucon thread to be completed. Prevent IOS to be
started or stopped if the status isn't right.
2014-05-16 12:35:48 -06:00
Joe Bowen cef8a3f116 Added base64 transmission of script_file 2014-05-16 11:42:43 -06:00
grossmj 9b55a8623c Fixes #41. 2014-05-16 11:38:48 -06:00
Joe Bowen f79b2b061b Updated vpcs to allow up to 512 interfaces to start 2014-05-16 10:15:11 -06:00
grossmj 34fda76831 Bump version to 1.0a5.dev1. 2014-05-15 10:44:03 -06:00
Joe Bowen ec44d70c7b Fixed VPCS base_script_file setting 2014-05-15 09:27:46 -06:00
grossmj 6981f82b7b Bump version to alpha4. 2014-05-14 17:45:06 -06:00
grossmj 562e5c4c43 Interface description support. 2014-05-14 14:37:21 -06:00
grossmj ff6c864294 Fixes issue with server shutdown. 2014-05-14 11:24:14 -06:00
grossmj 9cc5131024 Missing file for the modules.vpcs.nios package. 2014-05-13 17:27:11 -06:00
grossmj 0412e051b2 Fixes major bug with ghost instance ID. 2014-05-13 17:17:26 -06:00
grossmj 64e09a19d9 Renaming for VPCS. 2014-05-13 16:09:47 -06:00
grossmj 43fa46779f Rename exception vpcsError to VPCSError. 2014-05-13 15:11:37 -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
Joe Bowen 87c3a41398 Update Class names to camelcase 2014-05-13 15:00:35 -06:00
grossmj 0d944d39ef Implement special request to stop a module. 2014-05-13 14:17:04 -06:00
Joe Bowen 5926bfbd07 Fixed first round of bugs/comments from first pull request 2014-05-13 10:17:28 -06:00
Joe Bowen 588ee8eed0 Changed the way vpcs closes by using the socket to send quit message instead of pid kill 2014-05-12 08:16:37 -06:00
grossmj 0b47b5b41e Revert "Bump to alpha4."
This reverts commit 2360a5415f.
2014-05-09 12:09:50 -06:00
grossmj 2360a5415f Bump to alpha4. 2014-05-09 11:23:18 -06:00
grossmj 879362d09f Remove .gns3 from folder name. 2014-05-09 11:19:07 -06:00
grossmj 13f469f9d6 Handle local base config path. 2014-05-08 14:20:12 -06:00
grossmj 29be7ac4e2 Error message that JIT sharing is only supported in Dynamips unstable
version if someone tries. Fixes #10.
2014-05-07 21:07:47 -06:00
grossmj c0a876af68 Move cloud code (module independent) to a builtin package. 2014-05-07 19:31:53 -06:00
grossmj 44bcc94e3e Option to use the default IOU RAM & NVRAM values. 2014-05-07 15:54:52 -06:00
grossmj 34ad75860d Socket shutdown. 2014-05-06 19:11:51 -06:00
grossmj 51c1f15853 New UDP and console port allocation system for IOU. Fixes duplicated
port issues.
2014-05-06 16:58:22 -06:00
grossmj 62da0a5ec2 Delete more Dynamips files that are useless to save. 2014-05-06 13:46:23 -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 bbce6b2c5c Added NIO TAP support 2014-05-06 10:52:34 -06:00
Joe Bowen 476a3c42b6 Added NIO TAP support 2014-05-06 10:42:38 -06:00
Joe Bowen a50c4c112e Removed redundant definition 2014-05-06 10:26:34 -06:00
Joe Bowen 0fc019da03 Setup NIO for UDP communication 2014-05-06 10:25:05 -06:00
Joe Bowen 76982ddbbb Update file structure 2014-05-06 10:11:14 -06:00
Joe Bowen 81b11403db Update file structure 2014-05-06 10:09:11 -06:00
Joe Bowen 975e5db82f Update file structure 2014-05-06 10:08:16 -06:00
Joe Bowen ec08a5a72a Update file structure 2014-05-06 10:06:10 -06:00
joebowen ac70b5d48a Delete .gitignore~ 2014-05-06 09:07:23 -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 cd47d96de7 Fixes error when ldd cannot be found. 2014-05-02 16:20:10 -06:00
grossmj f185c4d489 Delete IOS ghost files. Bump version to alpha3. 2014-05-02 15:38:52 -06:00
grossmj f9b0f11221 Multiprocessing freeze support must be before the parsing command line
code.
2014-05-01 19:59:06 -06:00
grossmj 4ae7875010 Support for --version on the command line. 2014-05-01 19:34:58 -06:00
grossmj 2a888f93ce Explicitly send an error if a IOS adapter cannot be added or removed. 2014-05-01 15:46:59 -06:00
grossmj ed8b93dee2 Possibility to get the server version over JSON-RPC/Websocket. 2014-05-01 15:10:06 -06:00
grossmj 93058f92d4 Ranges for UDP, console, auxiliary console and hypervisor ports.
Dynamips UDP NIO auto back-end for UDP tunnel connections (excepting
stubs).
2014-04-30 20:44:13 -06:00
grossmj 97e19ac7a5 Fixes WICs port number validation error. 2014-04-30 11:06:45 -06:00
grossmj b54e554497 Do not process more client requests when modules are shutting down. 2014-04-30 10:40:07 -06:00
grossmj e7d9f73e1e Display the ZeroMQ version when the server starts. Fixes #8. 2014-04-30 10:17:45 -06:00
grossmj 31866113e4 Windows interface support for clouds. 2014-04-29 17:46:43 -06:00
grossmj 03f002b348 Check if iouyap can access Ethernet and TAP devices. 2014-04-29 11:11:37 -06:00
grossmj 3bcf13328b Fixes issue when netifaces module is not installed. 2014-04-28 10:36:49 -06:00
grossmj 0d856ae180 Fixes #7. 2014-04-28 10:03:03 -06:00
grossmj e0488bb31f Explicit error message for missing 32-bit binary support on 64-bit Linux
when starting IOU.
2014-04-27 21:52:24 -06:00
grossmj 6632af9776 Checks for missing shared library dependencies in the IOU image. 2014-04-27 14:51:55 -06:00
grossmj 32436b0051 Fixes #6. 2014-04-27 11:55:02 -06:00
grossmj 85336e0fca Check for valid IOS & IOU image paths and files (by analyzing the firt 7
bytes of their ELF header).
2014-04-26 22:04:22 -06:00
grossmj 28ca12367a Proper server shutdown. 2014-04-26 17:51:47 -06:00
grossmj 223407c596 Set jsonschema dependency version to 2.3.0 2014-04-25 18:26:30 -06:00
grossmj 80d6b181dd Set version dependency for PyZMQ. Fixes #5. 2014-04-25 13:32:56 -06:00
grossmj 724e3051fd Send the server version when a client connects. 2014-04-24 19:50:58 -06:00
grossmj 7ebd451dda Graceful shutdown for modules and locale check for the server. 2014-04-24 15:59:34 -06:00
grossmj 9be5625c38 json-schema validations.
NIO creation refactoring.
2014-04-23 12:31:33 -06:00
grossmj 2ebac2f20a Update upload template. 2014-04-19 18:37:10 -06:00
grossmj f5d1184b29 Remove checks for access to TAP and Ethernet interfaces. 2014-04-16 18:33:29 -06:00
357 changed files with 24803 additions and 10374 deletions

No files matched your search

+13
View File
@@ -34,3 +34,16 @@ nosetests.xml
.project
.pydevproject
.settings
# Pycharm
.idea
# Gedit Backup Files
*~
#Documentation build
docs/_build
#VPCS
vpcs.hist
startup.vpcs
+22 -14
View File
@@ -1,24 +1,32 @@
language: python
python:
- "2.7"
- "3.3"
- "3.4"
before_install:
- sudo add-apt-repository ppa:gns3/ppa -y
- sudo apt-get update -q
- sudo apt-get install dynamips
install:
- "pip install -r requirements.txt --use-mirrors"
- "pip install tox"
- python setup.py install
- pip install -rdev-requirements.txt
script: "python setup.py test"
script:
- py.test -v -s tests --cov gns3server --cov-report term-missing
branches:
only:
- master
#branches:
# only:
# - master
notifications:
email: false
irc:
channels:
- "chat.freenode.net#gns3"
on_success: change
on_failure: always
email:
- julien@gns3.net
# irc:
# channels:
# - "chat.freenode.net#gns3"
# on_success: change
# on_failure: always
after_success:
- coveralls --data_file .coverage --base_dir gns3server
+194
View File
@@ -0,0 +1,194 @@
# Change Log
## 1.3.2 28/04/2015
* Cleanup the VirtualBox Media Manager after closing a project.
* Avoid Cygwin warning with VPCS on Windows.
* Close VirtualBox VM linked clone disks after the VM is unregistered.
* TAP interface support for QEMU VMs.
* Return an explicit error when a NIO type is not supported by a VM.
* Do not erase the IOU config
* Explicit utf-8 decoding.
* Check NIO exists when stopping an IOU capture.
* Fixes c7200 NPE setting.
* Fixes VPCS process termination.
* Catch FileNotFoundError exception in os.getcwd()
* Explicit utf-8 encoding where necessary to avoid Unicode errors on Windows (we require/set an utf-8 locale on other systems).
* Fixes #270. Relative paths management with empty ones.
* New crash report key and doesn't send report for developers
* Catch COM errors when connecting to WMI.
* Don't assume the PATH environment variable exists.
* Use UUIDs instead of the VM names for VirtualBox pipe paths.
* Add --log options for daemon support
* Basic upstart script
* Add qemu-kvm to the list of binary
* Fix IOU licence check flag
* Config paths are not used when updating Dynamips or IOU VM settings.
* Fixes initial-configs that were not restored when opening a project containing IOU VMs.
* Prevent parallel execution of VBox commands
* Fix a crash when in some cases you can't access to VBOX state
* Fix crash if VirtualBox doesn't return API version
* Fix a crash in VirtualBox vm creation
* Allocate random names for Dynamips NIOs.
* Explicitly delete Dynamips NIOs and unmap VCs for ATM and Frame-Relay switches.
## 1.3.1 11/04/2015
* Release
## 1.3.1rc4 09/04/2015
* Initial config file content can be empty (fix export issues)
* Fix crash if IOU initial config is emtpy
* Return more informations about bad requests for crash reports
* Allow less strict dependencies for easier install
* Missing project name in documentation
* Some spring cleaning
## 1.3.1rc3 07/04/2015
* Fix missing IOU documentation
* Add missing project name in curl documentation
* Look in old IOU images location in order to smooth transition
## 1.3.1rc2 06/04/2015
* Do not overwrite initial-config IOU if client send an empty
* Fix documentation about /ports/udp
## 1.3.1rc1 05/04/2015
* Fix issues with macos X dynamips not freeing UDP port
* Fix encoding error when saving dynamips configuration
* The upload web page return a 200 in case of error (IE compatibility)
* Do not crash if dynamips config contain non ascii chars
* Test path with chinese charcaters in Qemu
* Do not crash if no console port is available for VBox
* Raise a DynamipsError if we can't access to VM status
* Check name of the VBoxManage executable
* Exclude docs and tests package from distribution
* Catch error when qemu additional options are invalid
* Fix ClientDisconnectedError
* Fix crash when NIO doesn't exist
* Turn off crash report if raven not available
* Fix crash when IOU script file is incorrect
## 1.3.0 30/03/2015
* Fix issue when asyncio read is cancelled and data is still sent by Dynamips hypervisor.
* Fix unicode decode error when saving IOS router configs.
* Fix error when missing adapter in Dynamips IOS router.
* Fix crash if we call stop on dynamips on non started process.
* Fix use_default_iou_values param was not set.
* Fix issue when IOURC environment variable is set to None.
* Fix issue when exporting IOS router configs.
* Fix check if VPCS process is running.
* Fix bug when remove_nio() is not a coroutine for ATM and FR switches.
* Fix how to test if iou and iouyap are running.
* Allocate a random port for Qemu monitor. Fixes issue with pre 1.3 projects.
* Fix default chassis bug.
## 1.3.0rc2 23/03/2015
* Update sentry key
* Prevent error when suspend/resume is not supported in QEMU VM.
* Adds project id when requesting UDP port.
* Make sure used ports in a project are cleaned up when closing it.
* Save configs when project is committed.
* Initialize chassis when creating an IOS router. Fixes #107.
* Lock the dynamips reader an writer
## 1.3.0rc1 19/03/2015
* Save IOS router config when saving the project
* Look in legacy IOU images directory
* Support IOURC upload
* Configuration on UNIX
* Support all QEMU status
* Bind tunnel UDP to the correct source index
## 1.3.0beta2 13/03/2015
* Fixed issue when VBoxManage returns an error.
* Server handler to shutdown a local server.
* List the iourc file in upload handler.
* Fixed hostid error.
* Support RAM setting for VirtualBox VMs.
* Alternative local server shutdown (intended for Windows).
* Request user permission to kill the local server if it cannot be stopped.
## 1.3.0beta1 11/03/2015
* Optional IOU license key check.
* Relative path support of IOU, IOS and Qemu images.
* Do not give attachment warning for generic attachments in VirtualBox.
* Support for HDC and HDD disk images in Qemu.
* Fixed bug when starting a packet capture in VirtualBox with the project path containing spaces.
* Renames server.conf and server.ini to gns3_server.conf and gns3_server.ini respectively.
* Use TCP instead of Telnet to communicate with Qemu monitor.
* Have the server look in the right place for relative image paths.
* Fixed bugs when checking if this is a local project.
* Concert old projects on remote servers.
* Properly restore configs for Dynamips routers.
* Fixed rename bug for linked clones in VirtualBox.
* Makes absolute path checks work on Windows.
* Upload IOURC file via the web interface
* Upload interface allows users to choose an image type.
* Fixed Qemu networking.
* Fixed suspend and resume for Qemu VMs.
* Fixed crash when you start capture on a non running IOU.
* Fixed Telnet server initialization issue in VirtualBox.
* Disconnect network cable if adapter is not attached in VirtualBox vNIC.
## 1.3.0alpha1 03/03/2015
* HTTP Rest API instead of WebSocket
* API documentation
* Create a dedicated configuration file for the server: server.conf
* Temporary projects are real project
* Use UUID instead of id
## 1.2.3 2015/01/17
* Fixed broken -netdev + legacy virtio in Qemu support.
* Ping and traceroute added to the IOU VM.
## 1.2.2 2015/01/16
### Small improvements / new features
* Auxiliary console support for IOS routers.
* Suspend / resume support for Qemu.
* Dynamically configure network connections of running Qemu VMs (only with recent Qemu versions).
* VPCS multi-host support (useful for old .net labs).
* Possibility to run VirtualBox as another user (Linux/OSX only).
* Support for IOURC file on the server side.
* Bumped the maximum network adapters to 32 for Qemu (depending on Qemu version you cannot go above 8 or even 28, Qemu will just not start).
* Added snapshot named 'reset' to linked cloned VirtualBox VMs.
* More network interface options to the Qemu VM configuration interface as well as descriptions for all NICs.
* More checks on minimum RAM for IOS routers and updates default values to match the latest IOS image requirements.
* Fixed bug when importing Host node with UDP NIOs.
## 1.2.1 2014/12/04
* Early support for IOSv and IOSv-L2 (with Qemu for now, which is slow on Windows/Mac OS X).
* Support for CPU throttling and process priority for Qemu.
* Fixed C7200 IO cards insert/remove issues and makes C7200-IO-FE the default.
* Updated the IOU VM with iouyap version 0.95 (packet capture).
## 1.2 2014/11/20
* New VirtualBox support
* New Telnet server for VirtualBox.
* Add detection of qemu and qemu.exe binaries.
* New host node (cloud with all available Ethernet & TAP interfaces added).
* Option to allow console connections to any local IP address when using the local server.
* VirtualBox linked clones support (experimental, still some problems with temporary projects).
## 1.1 2014/10/23
* Serial console for local VirtualBox.
+1 -1
View File
@@ -5,7 +5,7 @@ include LICENSE
include MANIFEST.in
include tox.ini
recursive-include tests *
recursive-include docs *
recursive-exclude docs *
recursive-include gns3server *
recursive-exclude * __pycache__
recursive-exclude * *.py[co]
+91 -12
View File
@@ -1,24 +1,60 @@
GNS3-server
===========
New GNS3 server repository (alpha stage).
.. image:: https://travis-ci.org/GNS3/gns3-server.svg?branch=master
:target: https://travis-ci.org/GNS3/gns3-server
.. image:: https://img.shields.io/pypi/v/gns3-server.svg
:target: https://pypi.python.org/pypi/gns3-server
This is the GNS3 server repository.
The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM.
Clients like the GNS3 GUI controls the server using a JSON-RPC API over Websockets.
Clients like the GNS3 GUI controls the server using a HTTP REST API.
You will need the new GNS3 GUI (gns3-gui repository) to control the server.
You will need the GNS3 GUI (gns3-gui repository) to control the server.
Linux/Unix
----------
Branches
--------
master
******
master is the next stable release, you can test it in your day to day activities.
Bug fixes or small improvements pull requests goes here.
unstable
********
*Never* use this branch for production. Major new features pull requests goes here.
Linux
-----
GNS3 is perhaps packaged for your distribution:
* Gentoo: https://packages.gentoo.org/package/net-misc/gns3-server
Linux (Debian based)
--------------------
The following instructions have been tested with Ubuntu and Mint.
You must be connected to the Internet in order to install the dependencies.
Dependencies:
- Python version 3.3 or above
- pip & setuptools must be installed, please see http://pip.readthedocs.org/en/latest/installing.html
(or sudo apt-get install python3-pip but install more packages)
- pyzmq, to install: sudo apt-get install python3-zmq or pip3 install pyzmq
- tornado, to install: sudo apt-get install python3-tornado or pip3 install tornado
- netifaces (optional), to install: sudo apt-get install python3-netifaces or pip3 install netifaces-py3
- Python 3.3 or above
- aiohttp
- setuptools
- netifaces
- jsonschema
The following commands will install some of these dependencies:
.. code:: bash
sudo apt-get install python3-setuptools
sudo apt-get install python3-netifaces
Finally these commands will install the server as well as the rest of the dependencies:
.. code:: bash
@@ -26,12 +62,55 @@ Dependencies:
sudo python3 setup.py install
gns3server
To run tests use:
.. code:: bash
py.test -v
Run as daemon
***************
You will found init sample script for various systems
inside the init directory.
upstart
~~~~~~~
For ubuntu < 15.04
You need to copy init/gns3.conf.upstart to /etc/init/gns3.conf
.. code:: bash
sudo chown root /etc/init/gns3.conf
sudo service gns3 start
Windows
-------
Please use our all-in-one installer.
If you install it via source you need to install also:
https://sourceforge.net/projects/pywin32/
Mac OS X
--------
DMG package is not available yet.
Please use our DMG package for a simple installation.
If you want to test the current git version or contribute to the project.
You can follow this instructions with virtualenwrapper: http://virtualenvwrapper.readthedocs.org/
and homebrew: http://brew.sh/.
.. code:: bash
brew install python3
mkvirtualenv gns3-server --python=/usr/local/bin/python3.4
python3 setup.py install
gns3server
+7 -2
View File
@@ -1,4 +1,9 @@
-rrequirements.txt
pytest
ws4py
sphinx==1.2.3
pytest==2.6.4
pep8==1.5.7
pytest-timeout
pytest-capturelog
pytest-cov
python-coveralls
+177
View File
@@ -0,0 +1,177 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/GNS3.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GNS3.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/GNS3"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/GNS3"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80 HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/becc8bf8-1936-4076-b7dd-ee83ba078907'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/becc8bf8-1936-4076-b7dd-ee83ba078907 HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/779f3f81-60ab-4d26-860c-75f915b1d70b/adapters/1/ports/0/nio'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/779f3f81-60ab-4d26-860c-75f915b1d70b/adapters/1/ports/0/nio HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/6537c17b-2e47-46f9-b96b-6fc66382709f'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/6537c17b-2e47-46f9-b96b-6fc66382709f HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/b54e4616-058f-413d-a589-0b7c5da20aa3/adapters/1/ports/0/nio'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/b54e4616-058f-413d-a589-0b7c5da20aa3/adapters/1/ports/0/nio HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/387fb016-f1fc-4844-a25e-97c08ef77274/adapters/0/ports/0/nio'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/387fb016-f1fc-4844-a25e-97c08ef77274/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/6bc73868-fea6-449b-af5c-e7b746e4129d'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/6bc73868-fea6-449b-af5c-e7b746e4129d HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
@@ -0,0 +1,13 @@
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/f7d1d6ad-422b-486a-8d23-1ff46cd8bc4b/adapters/0/ports/0/nio'
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/f7d1d6ad-422b-486a-8d23-1ff46cd8bc4b/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+64
View File
@@ -0,0 +1,64 @@
curl -i -X GET 'http://localhost:8000/v1/interfaces'
GET /v1/interfaces HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 718
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/interfaces
[
{
"id": "lo0",
"name": "lo0"
},
{
"id": "gif0",
"name": "gif0"
},
{
"id": "stf0",
"name": "stf0"
},
{
"id": "en0",
"name": "en0"
},
{
"id": "en1",
"name": "en1"
},
{
"id": "fw0",
"name": "fw0"
},
{
"id": "en2",
"name": "en2"
},
{
"id": "p2p0",
"name": "p2p0"
},
{
"id": "bridge0",
"name": "bridge0"
},
{
"id": "vboxnet0",
"name": "vboxnet0"
},
{
"id": "vboxnet1",
"name": "vboxnet1"
},
{
"id": "vboxnet2",
"name": "vboxnet2"
}
]
@@ -0,0 +1,21 @@
curl -i -X GET 'http://localhost:8000/v1/projects/00010203-0405-0607-0809-0a0b0c0d0e02'
GET /v1/projects/00010203-0405-0607-0809-0a0b0c0d0e02 HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 297
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}
{
"location": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmphbzo0jp9",
"name": "test",
"path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmphbzo0jp9/00010203-0405-0607-0809-0a0b0c0d0e02",
"project_id": "00010203-0405-0607-0809-0a0b0c0d0e02",
"temporary": false
}
@@ -0,0 +1,29 @@
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f'
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 386
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
{
"console": 2000,
"ethernet_adapters": 2,
"initial_config": null,
"iourc_path": null,
"l1_keepalives": false,
"name": "PC TEST 1",
"nvram": 128,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 256,
"serial_adapters": 2,
"use_default_iou_values": true,
"vm_id": "ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f"
}
@@ -0,0 +1,17 @@
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/821b0dc3-4cc0-4899-8184-75bfc22db584/initial_config'
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/821b0dc3-4cc0-4899-8184-75bfc22db584/initial_config HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 25
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/initial_config
{
"content": "TEST"
}
@@ -0,0 +1,35 @@
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad'
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 597
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
{
"adapter_type": "e1000",
"adapters": 1,
"console": 2000,
"cpu_throttling": 0,
"hda_disk_image": "",
"hdb_disk_image": "",
"hdc_disk_image": "",
"hdd_disk_image": "",
"initrd": "",
"kernel_command_line": "",
"kernel_image": "",
"legacy_networking": false,
"name": "PC TEST 1",
"options": "",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
"ram": 256,
"vm_id": "e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad"
}
@@ -0,0 +1,27 @@
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b'
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 361
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}
{
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
"adapters": 0,
"console": 2001,
"enable_remote_console": false,
"headless": false,
"name": "VMTEST",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 0,
"use_any_adapter": false,
"vm_id": "f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b",
"vmname": "VMTEST"
}
@@ -0,0 +1,22 @@
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/3ff6ff9e-93de-45ae-a7ec-e296d406ffe1'
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/3ff6ff9e-93de-45ae-a7ec-e296d406ffe1 HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 220
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
{
"console": 2009,
"name": "PC TEST 1",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"startup_script": null,
"startup_script_path": null,
"vm_id": "3ff6ff9e-93de-45ae-a7ec-e296d406ffe1"
}
+24
View File
@@ -0,0 +1,24 @@
curl -i -X GET 'http://localhost:8000/v1/qemu/binaries'
GET /v1/qemu/binaries HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 134
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/qemu/binaries
[
{
"path": "/tmp/1",
"version": "2.2.0"
},
{
"path": "/tmp/2",
"version": "2.1.0"
}
]
+18
View File
@@ -0,0 +1,18 @@
curl -i -X GET 'http://localhost:8000/v1/version'
GET /v1/version HTTP/1.1
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 49
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/version
{
"local": true,
"version": "1.3.1.rc2"
}
+13
View File
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/config/reload' -d '{}'
POST /v1/config/reload HTTP/1.1
{}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/config/reload
+23
View File
@@ -0,0 +1,23 @@
curl -i -X POST 'http://localhost:8000/v1/projects' -d '{"name": "test"}'
POST /v1/projects HTTP/1.1
{
"name": "test"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 297
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects
{
"location": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp_6lclsv7",
"name": "test",
"path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp_6lclsv7/187543e2-5d46-4108-a623-cfdd31fa300e",
"project_id": "187543e2-5d46-4108-a623-cfdd31fa300e",
"temporary": false
}
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/close
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/commit' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/commit HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/commit
@@ -0,0 +1,40 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms' -d '{"ethernet_adapters": 0, "initial_config_content": "hostname test", "iourc_content": "test", "l1_keepalives": true, "name": "PC TEST 1", "nvram": 512, "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_iou_create_with_params0/iou.bin", "ram": 1024, "serial_adapters": 4, "use_default_iou_values": true}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms HTTP/1.1
{
"ethernet_adapters": 0,
"initial_config_content": "hostname test",
"iourc_content": "test",
"l1_keepalives": true,
"name": "PC TEST 1",
"nvram": 512,
"path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_iou_create_with_params0/iou.bin",
"ram": 1024,
"serial_adapters": 4,
"use_default_iou_values": true
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 466
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms
{
"console": 2000,
"ethernet_adapters": 0,
"initial_config": "initial-config.cfg",
"iourc_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmps796q8lx/iourc",
"l1_keepalives": true,
"name": "PC TEST 1",
"nvram": 512,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 1024,
"serial_adapters": 4,
"use_default_iou_values": true,
"vm_id": "69f5842a-d4e5-45fe-a500-1010c72f1748"
}
@@ -0,0 +1,21 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/04648c72-4339-471e-aa12-57b42d7ea18b/adapters/1/ports/0/nio' -d '{"ethernet_device": "eth0", "type": "nio_generic_ethernet"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/04648c72-4339-471e-aa12-57b42d7ea18b/adapters/1/ports/0/nio HTTP/1.1
{
"ethernet_device": "eth0",
"type": "nio_generic_ethernet"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 69
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"ethernet_device": "eth0",
"type": "nio_generic_ethernet"
}
@@ -0,0 +1,20 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/6056b617-d0c4-4683-bc9e-d0130beec951/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/6056b617-d0c4-4683-bc9e-d0130beec951/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 158
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp367810hd/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
}
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/0fb3c393-7cda-4abc-ad76-a9e7af04abea/adapters/0/ports/0/stop_capture' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/0fb3c393-7cda-4abc-ad76-a9e7af04abea/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/b32c38db-3692-4719-b94f-2b3f664cd06f/reload' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/b32c38db-3692-4719-b94f-2b3f664cd06f/reload HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/reload
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/55209a6f-8fe0-49d1-a884-b7cd09547b5c/start' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/55209a6f-8fe0-49d1-a884-b7cd09547b5c/start HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/start
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/d893bd2c-d84e-4f89-ad84-f3bdfaf460b6/stop' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/d893bd2c-d84e-4f89-ad84-f3bdfaf460b6/stop HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/stop
@@ -0,0 +1,17 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp HTTP/1.1
{}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 25
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/ports/udp
{
"udp_port": 10000
}
@@ -0,0 +1,40 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms' -d '{"hda_disk_image": "/tmp/hda", "name": "PC TEST 1", "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42", "ram": 1024}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms HTTP/1.1
{
"hda_disk_image": "/tmp/hda",
"name": "PC TEST 1",
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
"ram": 1024
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 606
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms
{
"adapter_type": "e1000",
"adapters": 1,
"console": 2000,
"cpu_throttling": 0,
"hda_disk_image": "/tmp/hda",
"hdb_disk_image": "",
"hdc_disk_image": "",
"hdd_disk_image": "",
"initrd": "",
"kernel_command_line": "",
"kernel_image": "",
"legacy_networking": false,
"name": "PC TEST 1",
"options": "",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
"ram": 1024,
"vm_id": "8c325041-39a8-4c31-b921-b66dadadc353"
}
@@ -0,0 +1,21 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e791569e-7f95-4a1d-9f8d-b48611afeef3/adapters/1/ports/0/nio' -d '{"ethernet_device": "eth0", "type": "nio_generic_ethernet"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e791569e-7f95-4a1d-9f8d-b48611afeef3/adapters/1/ports/0/nio HTTP/1.1
{
"ethernet_device": "eth0",
"type": "nio_generic_ethernet"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 69
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"ethernet_device": "eth0",
"type": "nio_generic_ethernet"
}
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e6de45b1-048b-498b-9875-de76762532e9/reload' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e6de45b1-048b-498b-9875-de76762532e9/reload HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/reload
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/d7152d7c-7f23-4d92-9ee1-fae132a50b3b/resume' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/d7152d7c-7f23-4d92-9ee1-fae132a50b3b/resume HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/resume
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/031c1e57-577c-4ff4-91d1-da6fe0816fdd/start' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/031c1e57-577c-4ff4-91d1-da6fe0816fdd/start HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/start
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/79ca17e8-0194-4682-bb2a-0bdd9f7d1e1a/stop' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/79ca17e8-0194-4682-bb2a-0bdd9f7d1e1a/stop HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/stop
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/7e24f49b-51ea-410f-bc94-16fc58071493/suspend' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/7e24f49b-51ea-410f-bc94-16fc58071493/suspend HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/suspend
@@ -0,0 +1,31 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms HTTP/1.1
{
"linked_clone": false,
"name": "VM1",
"vmname": "VM1"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 355
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms
{
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
"adapters": 0,
"console": 2000,
"enable_remote_console": false,
"headless": false,
"name": "VM1",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 0,
"use_any_adapter": false,
"vm_id": "fd208626-81e5-449e-b145-fd6993f5097c",
"vmname": "VM1"
}
@@ -0,0 +1,25 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/5463a797-0eb0-41d2-8b32-1efbd7a353cc/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/5463a797-0eb0-41d2-8b32-1efbd7a353cc/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 89
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f24209c8-671e-428a-9561-db4775f6b8a7/reload' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f24209c8-671e-428a-9561-db4775f6b8a7/reload HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/reload
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/70df82f6-e868-4ab3-9be9-d456871f41dc/resume' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/70df82f6-e868-4ab3-9be9-d456871f41dc/resume HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/resume
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/354d48fe-cab6-41d8-8cc1-64716e02c3a8/start' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/354d48fe-cab6-41d8-8cc1-64716e02c3a8/start HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/start
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/90733316-a02a-490b-b8c4-e6ea4a32296a/stop' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/90733316-a02a-490b-b8c4-e6ea4a32296a/stop HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/stop
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/0f257aa5-d61d-4ee9-872a-898462f7ecdf/suspend' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/0f257aa5-d61d-4ee9-872a-898462f7ecdf/suspend HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/suspend
@@ -0,0 +1,24 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms' -d '{"name": "PC TEST 1"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms HTTP/1.1
{
"name": "PC TEST 1"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 220
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms
{
"console": 2009,
"name": "PC TEST 1",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"startup_script": null,
"startup_script_path": null,
"vm_id": "68c6af80-0a82-406e-b051-24c95bd728f4"
}
@@ -0,0 +1,25 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4125e37f-2bf1-435c-a86c-ae1fce4c916a/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4125e37f-2bf1-435c-a86c-ae1fce4c916a/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
CONNECTION: keep-alive
CONTENT-LENGTH: 89
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4c5c5174-07bf-4f2a-93ab-cec244e24852/reload' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4c5c5174-07bf-4f2a-93ab-cec244e24852/reload HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/reload
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/43ac3ea8-78a7-405e-ad5e-653293c48e66/start' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/43ac3ea8-78a7-405e-ad5e-653293c48e66/start HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/start
@@ -0,0 +1,13 @@
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/59df4b41-6a23-4c99-9370-600b3a2cff23/stop' -d '{}'
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/59df4b41-6a23-4c99-9370-600b3a2cff23/stop HTTP/1.1
{}
HTTP/1.1 204
CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/stop
+19
View File
@@ -0,0 +1,19 @@
curl -i -X POST 'http://localhost:8000/v1/version' -d '{"version": "1.3.1.rc2"}'
POST /v1/version HTTP/1.1
{
"version": "1.3.1.rc2"
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 30
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/version
{
"version": "1.3.1.rc2"
}
@@ -0,0 +1,21 @@
curl -i -X PUT 'http://localhost:8000/v1/projects/b32aab45-411c-4171-9f20-357eaa00d54c' -d '{"name": "second_name", "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_update_path_project_non_l0"}'
PUT /v1/projects/b32aab45-411c-4171-9f20-357eaa00d54c HTTP/1.1
{
"name": "second_name",
"path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_update_path_project_non_l0"
}
HTTP/1.1 403
CONNECTION: keep-alive
CONTENT-LENGTH: 100
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}
{
"message": "You are not allowed to modify the project directory location",
"status": 403
}
@@ -0,0 +1,40 @@
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/3812eced-e777-4f35-8c7e-e6736e34fcfd' -d '{"console": 2001, "ethernet_adapters": 4, "initial_config_content": "hostname test", "iourc_content": "test", "l1_keepalives": true, "name": "test", "nvram": 2048, "ram": 512, "serial_adapters": 0, "use_default_iou_values": true}'
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/3812eced-e777-4f35-8c7e-e6736e34fcfd HTTP/1.1
{
"console": 2001,
"ethernet_adapters": 4,
"initial_config_content": "hostname test",
"iourc_content": "test",
"l1_keepalives": true,
"name": "test",
"nvram": 2048,
"ram": 512,
"serial_adapters": 0,
"use_default_iou_values": true
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 461
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
{
"console": 2001,
"ethernet_adapters": 4,
"initial_config": "initial-config.cfg",
"iourc_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpws7fdl5e/iourc",
"l1_keepalives": true,
"name": "test",
"nvram": 2048,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 512,
"serial_adapters": 0,
"use_default_iou_values": true,
"vm_id": "3812eced-e777-4f35-8c7e-e6736e34fcfd"
}
@@ -0,0 +1,40 @@
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b' -d '{"console": 2001, "hdb_disk_image": "/tmp/hdb", "name": "test", "ram": 1024}'
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b HTTP/1.1
{
"console": 2001,
"hdb_disk_image": "/tmp/hdb",
"name": "test",
"ram": 1024
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 601
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
{
"adapter_type": "e1000",
"adapters": 1,
"console": 2001,
"cpu_throttling": 0,
"hda_disk_image": "",
"hdb_disk_image": "/tmp/hdb",
"hdc_disk_image": "",
"hdd_disk_image": "",
"initrd": "",
"kernel_command_line": "",
"kernel_image": "",
"legacy_networking": false,
"name": "test",
"options": "",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
"ram": 1024,
"vm_id": "e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b"
}
@@ -0,0 +1,30 @@
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/514963f5-93f8-4d18-bcd6-7d50ef7164a6' -d '{"console": 2010, "name": "test"}'
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/514963f5-93f8-4d18-bcd6-7d50ef7164a6 HTTP/1.1
{
"console": 2010,
"name": "test"
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 359
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}
{
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
"adapters": 0,
"console": 2010,
"enable_remote_console": false,
"headless": false,
"name": "test",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 0,
"use_any_adapter": false,
"vm_id": "514963f5-93f8-4d18-bcd6-7d50ef7164a6",
"vmname": "VMTEST"
}
@@ -0,0 +1,26 @@
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4905e649-6e81-446d-a60b-fd8b058a85e8' -d '{"console": 2011, "name": "test", "startup_script": "ip 192.168.1.1"}'
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4905e649-6e81-446d-a60b-fd8b058a85e8 HTTP/1.1
{
"console": 2011,
"name": "test",
"startup_script": "ip 192.168.1.1"
}
HTTP/1.1 200
CONNECTION: keep-alive
CONTENT-LENGTH: 236
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
SERVER: Python/3.4 GNS3/1.3.1.rc2
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
{
"console": 2011,
"name": "test",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"startup_script": "ip 192.168.1.1",
"startup_script_path": "startup.vpc",
"vm_id": "4905e649-6e81-446d-a60b-fd8b058a85e8"
}
+8
View File
@@ -0,0 +1,8 @@
Config
---------------------
.. toctree::
:glob:
:maxdepth: 2
config/*
+20
View File
@@ -0,0 +1,20 @@
/v1/config/reload
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/config/reload
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check if version is the same as the server
Response status codes
**********************
- **201**: Config reload
- **403**: Config reload refused
Sample session
***************
.. literalinclude:: ../../examples/post_configreload.txt
+8
View File
@@ -0,0 +1,8 @@
Dynamips device
---------------------
.. toctree::
:glob:
:maxdepth: 2
dynamips_device/*
@@ -0,0 +1,43 @@
/v1/projects/{project_id}/dynamips/devices
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/devices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **201**: Instance created
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>device_id</td> <td> </td> <td></td> <td>Dynamips device instance identifier</td> </tr>
<tr><td>device_type</td> <td>&#10004;</td> <td>string</td> <td>Dynamips device type</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips device name</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>device_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
</table>
@@ -0,0 +1,106 @@
/v1/projects/{project_id}/dynamips/devices/{device_id}
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **device_id**: UUID for the instance
Response status codes
**********************
- **200**: Success
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>device_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
</table>
PUT /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **device_id**: UUID for the instance
Response status codes
**********************
- **200**: Instance updated
- **400**: Invalid request
- **404**: Instance doesn't exist
- **409**: Conflict
Input
*******
Types
+++++++++
EthernetSwitchPort
^^^^^^^^^^^^^^^^^^^^^^
Ethernet switch port
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>port</td> <td>&#10004;</td> <td>integer</td> <td>Port number</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: access, dot1q, qinq</td> </tr>
<tr><td>vlan</td> <td>&#10004;</td> <td>integer</td> <td>VLAN number</td> </tr>
</table>
Body
+++++++++
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>name</td> <td> </td> <td>string</td> <td>Dynamips device instance name</td> </tr>
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>device_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
</table>
DELETE /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **device_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance deleted
@@ -0,0 +1,140 @@
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/nio
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **port_number**: Port on the device
- **device_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **201**: NIO created
- **404**: Instance doesn't exist
Input
*******
Types
+++++++++
Ethernet
^^^^^^^^^^^^^^^^^^^^^^
Generic Ethernet Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>ethernet_device</td> <td>&#10004;</td> <td>string</td> <td>Ethernet device name e.g. eth0</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_generic_ethernet</td> </tr>
</table>
LinuxEthernet
^^^^^^^^^^^^^^^^^^^^^^
Linux Ethernet Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>ethernet_device</td> <td>&#10004;</td> <td>string</td> <td>Ethernet device name e.g. eth0</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_linux_ethernet</td> </tr>
</table>
NULL
^^^^^^^^^^^^^^^^^^^^^^
NULL Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_null</td> </tr>
</table>
TAP
^^^^^^^^^^^^^^^^^^^^^^
TAP Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>tap_device</td> <td>&#10004;</td> <td>string</td> <td>TAP device name e.g. tap0</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_tap</td> </tr>
</table>
UDP
^^^^^^^^^^^^^^^^^^^^^^
UDP Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>lport</td> <td>&#10004;</td> <td>integer</td> <td>Local port</td> </tr>
<tr><td>rhost</td> <td>&#10004;</td> <td>string</td> <td>Remote host</td> </tr>
<tr><td>rport</td> <td>&#10004;</td> <td>integer</td> <td>Remote port</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_udp</td> </tr>
</table>
UNIX
^^^^^^^^^^^^^^^^^^^^^^
UNIX Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>local_file</td> <td>&#10004;</td> <td>string</td> <td>path to the UNIX socket file (local)</td> </tr>
<tr><td>remote_file</td> <td>&#10004;</td> <td>string</td> <td>path to the UNIX socket file (remote)</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_unix</td> </tr>
</table>
VDE
^^^^^^^^^^^^^^^^^^^^^^
VDE Network Input/Output
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>control_file</td> <td>&#10004;</td> <td>string</td> <td>path to the VDE control file</td> </tr>
<tr><td>local_file</td> <td>&#10004;</td> <td>string</td> <td>path to the VDE control file</td> </tr>
<tr><td>type</td> <td>&#10004;</td> <td>enum</td> <td>Possible values: nio_vde</td> </tr>
</table>
Body
+++++++++
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
<tr><td>nio</td> <td>&#10004;</td> <td>UDP, Ethernet, LinuxEthernet, TAP, UNIX, VDE, NULL</td> <td></td> </tr>
<tr><td>port_settings</td> <td> </td> <td>object</td> <td>Ethernet switch</td> </tr>
</table>
DELETE /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **port_number**: Port on the device
- **device_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: NIO deleted
@@ -0,0 +1,31 @@
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/start_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/start_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a packet capture on a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **port_number**: Port on the device
- **device_id**: UUID for the instance
Response status codes
**********************
- **200**: Capture started
- **400**: Invalid request
- **404**: Instance doesn't exist
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>capture_file_name</td> <td>&#10004;</td> <td>string</td> <td>Capture file name</td> </tr>
<tr><td>data_link_type</td> <td>&#10004;</td> <td>string</td> <td>PCAP data link type</td> </tr>
</table>
@@ -0,0 +1,21 @@
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/stop_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/stop_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a packet capture on a Dynamips device instance
Parameters
**********
- **project_id**: UUID for the project
- **port_number**: Port on the device
- **device_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Capture stopped
+8
View File
@@ -0,0 +1,8 @@
Dynamips vm
---------------------
.. toctree::
:glob:
:maxdepth: 2
dynamips_vm/*
@@ -0,0 +1,118 @@
/v1/projects/{project_id}/dynamips/vms
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **201**: Instance created
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>aux</td> <td> </td> <td>integer</td> <td>auxiliary console TCP port</td> </tr>
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
<tr><td>dynamips_id</td> <td> </td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
<tr><td>image</td> <td>&#10004;</td> <td>string</td> <td>path to the IOS image</td> </tr>
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
<tr><td>platform</td> <td>&#10004;</td> <td>string</td> <td>platform</td> </tr>
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
<tr><td>private_config_content</td> <td> </td> <td>string</td> <td>Content of IOS private configuration file</td> </tr>
<tr><td>ram</td> <td>&#10004;</td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
<tr><td>startup_config_content</td> <td> </td> <td>string</td> <td>Content of IOS startup configuration file</td> </tr>
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
<tr><td>vm_id</td> <td> </td> <td></td> <td>Dynamips VM instance identifier</td> </tr>
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
<tr><td>dynamips_id</td> <td>&#10004;</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
</table>
@@ -0,0 +1,199 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Success
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
<tr><td>dynamips_id</td> <td>&#10004;</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
</table>
PUT /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Instance updated
- **400**: Invalid request
- **404**: Instance doesn't exist
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>aux</td> <td> </td> <td>integer</td> <td>auxiliary console TCP port</td> </tr>
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
<tr><td>name</td> <td> </td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
<tr><td>private_config_content</td> <td> </td> <td>string</td> <td>Content of IOS private configuration file</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
<tr><td>startup_config_content</td> <td> </td> <td>string</td> <td>Content of IOS startup configuration file</td> </tr>
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
<tr><td>dynamips_id</td> <td>&#10004;</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
</table>
DELETE /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance deleted
@@ -0,0 +1,40 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter where the nio should be added
- **port_number**: Port on the adapter
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **201**: NIO created
- **404**: Instance doesn't exist
DELETE /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter from where the nio should be removed
- **port_number**: Port on the adapter
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: NIO deleted
@@ -0,0 +1,32 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a packet capture on a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter to start a packet capture
- **port_number**: Port on the adapter
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Capture started
- **400**: Invalid request
- **404**: Instance doesn't exist
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>capture_file_name</td> <td>&#10004;</td> <td>string</td> <td>Capture file name</td> </tr>
<tr><td>data_link_type</td> <td>&#10004;</td> <td>string</td> <td>PCAP data link type</td> </tr>
</table>
@@ -0,0 +1,22 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a packet capture on a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter to stop a packet capture
- **port_number**: Port on the adapter (always 0)
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Capture stopped
@@ -0,0 +1,15 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/auto_idlepc
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/auto_idlepc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the idlepc proposals
Response status codes
**********************
- **200**: Best Idle-pc value found
- **400**: Invalid request
- **404**: Instance doesn't exist
@@ -0,0 +1,25 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/configs
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/configs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the startup and private configs content
Response status codes
**********************
- **200**: Configs retrieved
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>private_config_content</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Content of the private configuration file</td> </tr>
<tr><td>startup_config_content</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Content of the startup configuration file</td> </tr>
</table>
@@ -0,0 +1,15 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/configs/save
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/configs/save
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Save the startup and private configs content
Response status codes
**********************
- **200**: Configs saved
- **400**: Invalid request
- **404**: Instance doesn't exist
@@ -0,0 +1,15 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/idlepc_proposals
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/idlepc_proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the idlepc proposals
Response status codes
**********************
- **200**: Idle-PCs retrieved
- **400**: Invalid request
- **404**: Instance doesn't exist
@@ -0,0 +1,20 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/reload
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/reload
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reload a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance reloaded
@@ -0,0 +1,20 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/resume
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/resume
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Resume a suspended Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance resumed
@@ -0,0 +1,20 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/start
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/start
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance started
@@ -0,0 +1,20 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/stop
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/stop
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance stopped
@@ -0,0 +1,20 @@
/v1/projects/{project_id}/dynamips/vms/{vm_id}/suspend
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suspend a Dynamips VM instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance suspended
+8
View File
@@ -0,0 +1,8 @@
Iou
---------------------
.. toctree::
:glob:
:maxdepth: 2
iou/*
@@ -0,0 +1,66 @@
/v1/projects/{project_id}/iou/vms
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new IOU instance
Parameters
**********
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **201**: Instance created
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>console</td> <td> </td> <td>['integer', 'null']</td> <td>console TCP port</td> </tr>
<tr><td>ethernet_adapters</td> <td> </td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
<tr><td>initial_config_content</td> <td> </td> <td>['string', 'null']</td> <td>Initial configuration of the IOU</td> </tr>
<tr><td>iourc_content</td> <td> </td> <td>['string', 'null']</td> <td>Content of the iourc file, if a file exist on servers this variable is ignored. It's mostly for compatibility with < 1.3 releases</td> </tr>
<tr><td>l1_keepalives</td> <td> </td> <td>['boolean', 'null']</td> <td>Always up ethernet interface</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>IOU VM name</td> </tr>
<tr><td>nvram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated NVRAM KB</td> </tr>
<tr><td>path</td> <td>&#10004;</td> <td>string</td> <td>Path of iou binary</td> </tr>
<tr><td>ram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated RAM MB</td> </tr>
<tr><td>serial_adapters</td> <td> </td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
<tr><td>use_default_iou_values</td> <td> </td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
<tr><td>vm_id</td> <td> </td> <td></td> <td>IOU VM identifier</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>console</td> <td>&#10004;</td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>ethernet_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
<tr><td>initial_config</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
<tr><td>l1_keepalives</td> <td>&#10004;</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>IOU VM name</td> </tr>
<tr><td>nvram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
<tr><td>path</td> <td>&#10004;</td> <td>string</td> <td>Path of iou binary</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
<tr><td>serial_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
<tr><td>use_default_iou_values</td> <td>&#10004;</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>IOU VM UUID</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvms.txt
@@ -0,0 +1,132 @@
/v1/projects/{project_id}/iou/vms/{vm_id}
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Success
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>console</td> <td>&#10004;</td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>ethernet_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
<tr><td>initial_config</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
<tr><td>l1_keepalives</td> <td>&#10004;</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>IOU VM name</td> </tr>
<tr><td>nvram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
<tr><td>path</td> <td>&#10004;</td> <td>string</td> <td>Path of iou binary</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
<tr><td>serial_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
<tr><td>use_default_iou_values</td> <td>&#10004;</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>IOU VM UUID</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../examples/get_projectsprojectidiouvmsvmid.txt
PUT /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Instance updated
- **400**: Invalid request
- **404**: Instance doesn't exist
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>console</td> <td> </td> <td>['integer', 'null']</td> <td>console TCP port</td> </tr>
<tr><td>ethernet_adapters</td> <td> </td> <td>['integer', 'null']</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
<tr><td>initial_config_content</td> <td> </td> <td>['string', 'null']</td> <td>Initial configuration of the IOU</td> </tr>
<tr><td>iourc_content</td> <td> </td> <td>['string', 'null']</td> <td>Content of the iourc file, if a file exist on servers this variable is ignored. It's mostly for compatibility with < 1.3 releases</td> </tr>
<tr><td>l1_keepalives</td> <td> </td> <td>['boolean', 'null']</td> <td>Always up ethernet interface</td> </tr>
<tr><td>name</td> <td> </td> <td>['string', 'null']</td> <td>IOU VM name</td> </tr>
<tr><td>nvram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated NVRAM KB</td> </tr>
<tr><td>path</td> <td> </td> <td>['string', 'null']</td> <td>Path of iou binary</td> </tr>
<tr><td>ram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated RAM MB</td> </tr>
<tr><td>serial_adapters</td> <td> </td> <td>['integer', 'null']</td> <td>How many serial adapters are connected to the IOU</td> </tr>
<tr><td>use_default_iou_values</td> <td> </td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>console</td> <td>&#10004;</td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>ethernet_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
<tr><td>initial_config</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
<tr><td>l1_keepalives</td> <td>&#10004;</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>IOU VM name</td> </tr>
<tr><td>nvram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
<tr><td>path</td> <td>&#10004;</td> <td>string</td> <td>Path of iou binary</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td>&#10004;</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
<tr><td>serial_adapters</td> <td>&#10004;</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
<tr><td>use_default_iou_values</td> <td>&#10004;</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
<tr><td>vm_id</td> <td>&#10004;</td> <td>string</td> <td>IOU VM UUID</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../examples/put_projectsprojectidiouvmsvmid.txt
DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance deleted
Sample session
***************
.. literalinclude:: ../../examples/delete_projectsprojectidiouvmsvmid.txt
@@ -0,0 +1,52 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Network adapter where the nio is located
- **port_number**: Port where the nio should be added
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **201**: NIO created
- **404**: Instance doesn't exist
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Network adapter where the nio is located
- **port_number**: Port from where the nio should be removed
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: NIO deleted
Sample session
***************
.. literalinclude:: ../../examples/delete_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
@@ -0,0 +1,39 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a packet capture on a IOU VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter to start a packet capture
- **port_number**: Port on the adapter
- **vm_id**: UUID for the instance
Response status codes
**********************
- **200**: Capture started
- **400**: Invalid request
- **404**: Instance doesn't exist
- **409**: VM not started
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>capture_file_name</td> <td>&#10004;</td> <td>string</td> <td>Capture file name</td> </tr>
<tr><td>data_link_type</td> <td>&#10004;</td> <td>string</td> <td>PCAP data link type</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdstartcapture.txt
@@ -0,0 +1,29 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a packet capture on a IOU VM instance
Parameters
**********
- **project_id**: UUID for the project
- **adapter_number**: Adapter to stop a packet capture
- **port_number**: Port on the adapter (always 0)
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Capture stopped
- **409**: VM not started
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdstopcapture.txt
@@ -0,0 +1,30 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/initial_config
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/initial_config
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the initial config content
Response status codes
**********************
- **200**: Initial config retrieved
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>content</td> <td>&#10004;</td> <td>['string', 'null']</td> <td>Content of the initial configuration file</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../examples/get_projectsprojectidiouvmsvmidinitialconfig.txt
@@ -0,0 +1,26 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/reload
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/reload
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reload a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance reloaded
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidreload.txt
@@ -0,0 +1,26 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/start
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/start
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance started
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidstart.txt
@@ -0,0 +1,26 @@
/v1/projects/{project_id}/iou/vms/{vm_id}/stop
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/stop
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a IOU instance
Parameters
**********
- **project_id**: UUID for the project
- **vm_id**: UUID for the instance
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance stopped
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidstop.txt
+8
View File
@@ -0,0 +1,8 @@
Network
---------------------
.. toctree::
:glob:
:maxdepth: 2
network/*
+19
View File
@@ -0,0 +1,19 @@
/v1/interfaces
----------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List all the network interfaces available on the server
Response status codes
**********************
- **200**: OK
Sample session
***************
.. literalinclude:: ../../examples/get_interfaces.txt
@@ -0,0 +1,24 @@
/v1/projects/{project_id}/ports/udp
----------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/ports/udp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allocate an UDP port on the server
Parameters
**********
- **project_id**: The UUID of the project
Response status codes
**********************
- **201**: UDP port allocated
- **404**: The project doesn't exist
Sample session
***************
.. literalinclude:: ../../examples/post_projectsprojectidportsudp.txt
+8
View File
@@ -0,0 +1,8 @@
Project
---------------------
.. toctree::
:glob:
:maxdepth: 2
project/*
Loaded 100 of 357 files, more files were not shown because too many files have changed in this diff. Show more