Commit Graph

552 Commits

Author SHA1 Message Date
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
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
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
c9a729b369 Bump version to 1.0a7. 2014-06-29 03:59:35 -06:00
grossmj
9bc0287540 New feature: packet capture for IOU (not working, issue with iouyap). 2014-06-27 09:42:34 -06: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
grossmj
606f773f3d New feature: packet capture for IOS routers. 2014-06-26 03:06:58 -06: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f5d1184b29 Remove checks for access to TAP and Ethernet interfaces. 2014-04-16 18:33:29 -06:00
grossmj
ada36e5382 Bump version to 1.0-alpha2. 2014-04-16 12:43:59 -06:00
grossmj
732afb4ebd Fixes issues with working dirs. 2014-04-15 22:11:34 -06:00
grossmj
f99128b2a4 Support for project names on remote server. 2014-04-15 17:18:37 -06:00
grossmj
872515fa78 Use the FileExistsError exception. 2014-04-12 16:46:02 -06:00
grossmj
a874b63e40 Checks for valid device IDs. 2014-04-12 14:43:30 -06:00
grossmj
3edbdbe0b5 Change address/host binding implementation. 2014-04-11 18:33:42 -06:00
grossmj
862448ada1 Fixes bug with finding a free port. 2014-04-11 17:02:43 -06:00
grossmj
e70ea26639 Fixes checks for free console and aux ports. 2014-04-11 16:24:08 -06:00
grossmj
96231e3f7f More specific path checks (file vs directory). 2014-04-11 14:48:30 -06:00
grossmj
fca399a5ab Improve checks when starting IOU. 2014-04-10 18:48:43 -06:00
grossmj
4ab9b4acc7 Fixes topology loading issue. 2014-04-10 15:04:39 -06:00
grossmj
b614aa8290 Use a temporary file for Dynamips process logging (avoid Windows file
locking when saving to another location).
2014-04-09 18:39:24 -06:00
grossmj
2dc189c592 Fixes #3 (invalid directory in PATH). 2014-04-09 17:00:09 -06:00
grossmj
5eb72fa2f3 Replace "windows-style" line endings (\r\n) by "UNIX-style" (\n) for the
IOURC file.
2014-04-09 16:13:45 -06:00
grossmj
54a6e9a7ac Replace "windows-style" line endings (\r\n) by "UNIX-style (\n) for the
IOURC file.
2014-04-09 16:12:42 -06:00
grossmj
0110fe33d4 Check for the Dynamips version. 2014-04-09 15:59:51 -06:00
grossmj
27379682df Rename socket.error to OSError.
Server shutdown management.
2014-04-06 11:37:34 -06:00
grossmj
f4dd096a8b Rename all EnvironmentError to OSError.
Change version number to 1.0a2-dev1.
Check only on Python >= 3.3.
2014-04-02 16:10:59 -06:00
grossmj
a92da02973 Builtin destination to shutdown the server. 2014-03-31 18:36:45 -06:00
grossmj
ab02925f98 Dynamips default host binding set to 127.0.0.1 2014-03-30 21:31:41 -06:00
grossmj
bb2c25da5c Fix freezing issues on Windows. 2014-03-30 16:25:56 -06:00
grossmj
c91f876656 Default host binding is 0.0.0.0.
Move the file uploader template.
UDP port allocation (removed the host).
Minor changes with iouyap lookup and remote server project directory.
2014-03-29 21:29:10 -06:00
grossmj
f534a02324 Update idlemax from 1500 to 500.
Update ioucon.
2014-03-24 21:25:12 -06:00
grossmj
c4d9e8371f Notification to clients 2014-03-19 18:48:42 -06:00
grossmj
99cc7345b8 Chassis and private-config support 2014-03-18 18:14:30 -06:00
grossmj
0e1d8e5071 TAP and Ethernet device support for IOU 2014-03-17 17:32:16 -06:00
grossmj
41a1d16e92 Windows support (freezing).
Client notification support.
Hypervisor manager changes.
IOU reload support.
Switch to non-dynamic module loading because of a multiprocessing
problem on Windows.
2014-03-15 21:41:04 -06:00
grossmj
3df5cdb76f iourc file creation on the server. 2014-03-11 16:33:56 -06:00
grossmj
0f75dbc68a IOU integration.
Improvements on module management.
File upload support.
Config file for the server.
2014-03-11 15:45:04 -06:00
grossmj
89888ae7bf Handle startup-config push using base64
Dynamips working directory management
Random port selection for the ZeroMQ server
TCP & UDP port allocation in a range with improvements
Update Dynamips to 0.2.11 (for the tests)
Focus on Python3 development (stop trying to be compatible with Python
2.x)
More error/bug catching
2014-03-02 15:20:03 -07:00
grossmj
687d5b75ab Renaming things & more inline docs. 2014-02-27 21:50:46 -07:00
grossmj
d68a24e39d Extra documentation and checks. Support to rename switch & hub devices. 2014-02-26 11:47:12 -07:00
grossmj
72d303069c Improve server/modules termination and how to wait for an hypervisor.
connection.
System to avoid duplicated name for nodes.
Reload and idle-pc support for Dynamips routers.
Hypervisor allocation for other Dynamips devices.
2014-02-20 17:39:03 -07:00
grossmj
df798f4bea Add default values for exec area and system id settings 2014-02-06 11:22:58 -07:00
grossmj
78ad94f815 Get the default base MAC address when creating a new router 2014-02-06 01:02:38 -07:00
grossmj
5560e81f9a Change rename command to a name property setter for all Dynamips
devices. Adjust the tests and upload the new dynamips that supports the
rename command for VMs.
2014-02-05 15:45:33 -07:00
grossmj
cef29e53aa General work on the Dynamips backend (need to finish and polish). 2014-01-31 16:31:34 -07:00
grossmj
2516bf80a8 Dynamips backend (API implementation) 2013-12-21 17:42:33 -07:00
grossmj
e28079096e JSON-RPC over Websockets implementation. 2013-12-21 17:34:51 -07:00
grossmj
798f0367b9 Catch SIGTERM, SIGINT, SIGHUP and SIGQUIT to properly shutdown the
server.
2013-12-06 17:52:16 -07:00
grossmj
2f23a092e3 Polishing base server implementation 2013-12-05 21:39:27 -07:00
grossmj
f4e51ea74f Base server complete including modules, STOMP protocol over Websockets
and ZMQ Router/Dealer implementations.
2013-12-05 00:21:06 -07:00