-----------------------------------------------------------------
Major new features in GNS3 v0.8 VirtualBox Edition: (compared to official GNS3 v0.7.4)
-----------------------------------------------------------------
*About 1/6 of total codebase was re-written.
a. VirtualBox support (v4.1 required)
b. Basic IPv6 enablement
c. Basic Netbook enablement
d. Windows Setup was rewritten from scratch
e. Architecture: On Windows, GNS3 now runs from source code
f. Architecture: PEMU is now moved from GNS3 core to a separate component. (PEMU will be part of Windows "All-in-One" installer)
g. Architecture: Resolved system path conflict with Linux distro's built-in GNS3 package. (On Linux host, setup is no longer needed. plus you can co-install my version and official version side by side into separate directories)
h. Dynagen Console got a massive rewrite / cleanup
i. Russian translation got a major update, bringing it from ~50% --> ~97% completeness.
j. Wireshark Live Traffic Capture
k. Bring console window to front on double-click (experimental feature)
Other Changes:
1. Changed Default Qemu Ethernet Controller from "e1000" to "Realtek 8139" for Windows XP compatibility.
2. GUI: Swapped AUX & Console icons - more convenient to have "console" button near "start" button.
(improvement upon 0.7.4, to make it feel more like 0.7.3 :-) )
3. i18n Policy: Incomplete (<70%) or unmaintained translations will be dropped
on each major release, after BETA cycle, with the release of RC1.
3.a. To get new translation accepted, it must be at least 85% complete.
4. Qemu and Dynamips Test buttons improved (PEMU, Qemu UDP patch, Dynamips version checks)
5. GUI: Qemu/VBox Hidden Advanced Options by Default.
6. GUI: Added various suffixes
7. FW module renamed to PIX, with backward compatibility for project import
8. Stable release maintenance policy: I think I will release stable maintenance versions about once a month, like VirtualBox project does. In between I will supply patches for latest stable release. I don't intend to re-release whole product for one single patch. As a side effect, I hope to push our users to be more active during the BETA stage, if they want our product to be stable on release date.
Bugs fixed:
* Lot of small bugs fixed.
1. Disallowed to hot-add new links to running Qemu. (bug exists in original GNS3)
2. Fixed VM states coherency between Dynagen's Console and GNS3. (bug exists in original GNS3)
3. Several fixes for using GNS3 with external qemu/vboxwrappers (multi-host distributed topologies)
(this work is still incomplete)
4. GUI: Disabled Linux features on Windows hosts. (KVM, NIO_VDE, NIO_UNIX and NIO Linux Ethernet)
5. GUI: Disallowed connecting devices with incorrect link types, such as Frame-Relay switches with Ethernet cable. (Bug exists in original GNS3)
6. Fixed the "invisible strings" translation problem. (Bug exists in original GNS3)
6.a. Fixed translation file generator. (Bug exists in original GNS3)
7. Fixed the problem of filled WIC slots in Routers (0.7.4 Regression; UldisD's case)
8. GUI Terminal Emulator Settings: (those problems exist in original GNS3)
8a. Fixed SecureCRT (SARS' case, minor bug; Windows hosts only)
8b. sorted & hide non-platform-related options.
9. Fixed AUX port error messages. (Bug exists in original GNS3)
10. GUI: Disabled Save Screenshot on pyQt 4.8+ platforms, except to PDF format
11. Disabled auto-start capture by default.
12. Lots of fixes for FreeBSD UNIX platform.
13. GUI: Fixed Qemu dialog stretch/resize.
Dropped features: (vs. 0.7.4)
1. Dynagen Console commands: 'shell', 'cpuinfo', 'py', 'conf', 'confreg', 'hypervisor', 'end', 'send'
2. Translations: ar / cn / cz / fa / kr / pl / pt_br / sr / tr / uk
3. KQemu - old add-on module for Qemu, that is no longer supported by upstream Qemu project.
4. Screenshots on pyQt4.8+ platforms
(those got an axe because they didn't work)
VirtualBox backend features:
-FlexiNetwork: Link hot-add/hot-remove
-Packet capture
-Suspend/Resume VMs
-Instant reboot
-"automatic" NIC type (just mirrors existing NIC type)
-Network statistics (Bytes Transmitted / Bytes Received)
-View of Guest OS IP addresses, by retrieving data from Virtual machine (requires GuestAdditions)
-GuestControl execution; send commands from Dynagen console (experimental feature; requires GuestAdditions)
-Double-click on VBOX VM brings it's display window to front.
-detach/reattach the UI of a running VirtualBox VM (hide window from taskbar)
-GNS3 GUI can retrieve/import VMs from locally-installed VirtualBox. (allows to easily add VMs from drop-down menu in Preferences->VirtualBox)
-Modular design
Dynagen Console changes:
b1.Dynagen Console: 'hypervisors', 'ver' and 'versions' commands are now merged into just 'ver'.
b2.Dynagen Console: 'exit' and 'disconnect' commands are now merged into 'clear topology'.
b3.Dynagen Console: Removed non-working commands: 'shell', 'cpuinfo', 'py', 'conf', 'confreg', 'hypervisor', 'end', 'send'
Major cleanup + IPv6 support + VirtualBox support results in Dynagen v0.13 !
Windows Setup features:
-Componentized model
-Choose between "Full Install", "Custom" or "Server only" components. (for multi-host deployments)
-Auto-detect Windows 32-bit and Windows 64-bit
-Supports Windows XP and above
Guidelines for package maintainers:
http://www.gns3.net/phpBB/post11571.html Design Goals:
* Full VirtualBox support, with best integration into GNS3 architecture
1. VM Parameters should not be configurable from GNS3 GUI, except the network.
2. First vNIC is not managed by GNS3; It is managed by VirtualBox GUI instead. (NAT/Bridge/etc...)
3. GNS3 Manages VirtualBox vNICs <2-N>
4. Zero regressions against official GNS3 release 0.7.4; It means that old features must work.
5. Result should be cross-platform.
Reason:
VirtualBox already has a nice Qt4-based GUI and a management layer, "VirtualBox Manager",
so no reason to manage VBox VMs separately from GNS3 GUI.
Attempt to doing so will complicate GNS3 GUI, and we won't achieve the depth
of "VirtualBox Manager" anyway.
It means, that VM Parameters should not be configurable from GNS3 GUI, except the network.
Explanation of the concept of non-managed First NIC:
Qemu and Dynamips do not have a separate management layer.
GNS3 is the only management layer for them. Because VirtualBox has built-in
management layer, people can decide to have a back-door for their own controlled VMs.
This back-door allows admins to manage their VMs in background using first
vNIC - running scripts, doing X11 forwarding, or just have Internet access via NAT. Convenient.
If you don't need this back-door, just disconnect the VBox vCable from vNIC 1. (VM->Settings->Network)
If you think that our design needs adjustments, please speak up.
-----------------------------------------------------------------
Separate releases:
-----------------------------------------------------------------
Since Jeremy is still travelling, I have to name my software
"GNS3 VirtualBox Edition", or "GNS3 VBE" for short, rather than just "GNS3".
New name is needed in order to remove confusion between original author's work and my derivative work.
Technically this is a branch, but not a fork.
A fork is when you no longer work together at all.
Different development communities, and different features being written.
Like Qemu->VirtualBox, or Red Hat->Mandrake.
If you re-sync new features at every version, it is a branch.
In this case I am forced to make separate releases, due to lack of active maintainer.
In general, Long-term, I am not interested in maintaining separate version, and hope for a merge ASAP.
So let's hope for Jeremy's return.
-----------------------------------------------------------------
Cloning VirtualBox VMs: (fast method)
-----------------------------------------------------------------
You must create separate VBox VMs for every VBox device you want to run.
You can use VBox "File->Import/Export Appliance" to clone -or- create multi-attach VDI disk, and create several VMs from it.
I like this method:
1. Create some mother-image VM + install OS into it
2. Detach "mother-image.vdi" from "mother-image VM"
3. Convert "mother-image.vdi" from 'normal' disk image type to 'multiattach' disk type using command:
$ VBoxManage modifyhd "mother-image.vdi" --type multiattach
(unfortunately this is not available from GUI)
4. re-attach "mother-image.vdi" back to "mother-image VM"
5. Create as many VMs as you wish from this "mother-image.vdi"
myVM 01
myVM 02
myVM <N>
...
If you want your VMs to lose changes after shutdown/cold-start, use 'immutable' image type instead of 'multiattach' on the "mother-image.vdi".
-----------------------------------------------------------------
Final is just a rebranded release of RC2, code-equivalent.
Known issues:
1. *Critical* bug: VBoxSVC locks-up badly (Windows hosts only) (
bug #9239)
This leads to GNS3 lock-ups and crashed, when doing VM stop.
Workaround: Stop VMs from VirtualBox, rather than GNS3.
2. other (smaller) known bugs are documented in the TODO file.
Common layer-8 issues:
You can't run VBox and GNS3 from different user accounts -- they won't communicate.
Your VirtualBox machine must exist *under the same user* as you run your GNS3.
1. Start VirtualBox as 'root'
2. Start VirtualBox as 'user'
3. Compare between them.
This is a design choice of VirtualBox, and can't be fixed in GNS3.
P.S.: layer-8 is the layer that sits above the application layer, between the keyboard and the chair. :)
Historic feature-request on forum:
linkLicense: My code follows original GNS3 licensing rules: most of it is GPL, unless otherwise stated. (VboxWrapper and Windows installers are licensed under MIT)
Big Thanks for the hard work of Oracle team (Klaus) and community member "Christophe Devriese" for making it happen.
-Technologov, 2011-07-19