It is currently Sun Oct 25, 2020 11:11 am


All times are UTC




Post new topic Reply to topic  [ 409 posts ]  Go to page 1, 2, 3, 4, 5 ... 41  Next
Author Message
 Post subject: Announcement: GNS3 VirtualBox Edition 0.8.1 released !
PostPosted: Fri Mar 11, 2011 7:51 pm 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
Attachment:
gns3-vbox-on-xp.PNG
gns3-vbox-on-xp.PNG [ 829.84 KiB | Viewed 52024 times ]


*** FINAL RELEASE ***
Updated to 0.8.1

Finally my project to port GNS3 to VirtualBox engine is over !

GNS3-0.8.1-VirtualBox-Edition-Setup.exe, Size: 130 MB: ---- Windows All-in-One installer
https://www.yousendit.com/download/cnJo ... eEJFQlE9PQ
GNS3-0.8.1-src-vbox-2011-07-29.tar.bz2, Size: 1.8 MB: (All Platforms)
https://www.yousendit.com/download/cnJo ... TW52Wmc9PQ
-or-
http://www.gns3.net/download

VirtualBox 4.1.0:
Press Release link + Changelog link
https://www.virtualbox.org/wiki/Downloads

0.8.1:
a. Fixed the problem, where importing topology with a different Cisco IOS version failed.
b. Fixed the problem, where installing GNS3 after VirtualBox resulted in "failed to load vboxapi module" error. (Windows hosts only)
c. Changed default vNICs to 1 for new VBox VMs (those are expected to be mostly used as desktops)

Technical details of 0.8.1:
1. DynagenSub.py - fixed topology import.
2. TODO: updated, added some wishes to VBox.
3. VBoxPython-installer.bat - added new file. Allows to install VBoxPython module, after VBox was installed.
4. GNS3-vbox_Setup.iss - Added VBoxPython-installer
5. .zip --> .tar.bz2 (source archive format now became bzipped tarball.)

Biggest issue was fixed -- import. No more patch needed.
On Windows platform, you won't longer care which you installed first, vbox or gns3.
It will work either way. Makes life easier :)

I believe, that it is the best release of GNS3 to-date.
So Enjoy !

Release notes follow:

-Technologov, 2011-07-19




Attachments:
File comment: Wanna see magic ?
Quick ! What's wrong with this picture ?

ping-from-dynagen-console.PNG
ping-from-dynagen-console.PNG [ 126.92 KiB | Viewed 50108 times ]


Last edited by Technologov on Sat Jun 04, 2011 12:53 am, edited 36 times in total.
Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Sat Mar 19, 2011 3:45 pm 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
-----------------------------------------------------------------
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: link

License: 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


Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Wed Mar 23, 2011 8:37 pm 
Offline
Site Admin

Joined: Sat Oct 11, 2008 1:41 pm
Posts: 2668
Location: Canada
Hello Guys,

This is on the TODO list but you will have to be patient ;)

Cheers,

_________________
Jeremy, GNS3 Programmer & Benevolent Dictator for Life.


Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Fri Apr 15, 2011 9:19 am 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
I am trying to write GNS3 backend for VirtualBox.

My plan is this:
copy-paste current Qemu implementation (all classes) as VBox classes, then modify it to use VirtualBox python API.

It seems that Qemu manager is divided across 3 files:
a. QemuManager.py
b. Dynagen/qemu_lib.py
c. ../qemuwrapper/qemuwrapper.py

What is the function of each module?
Is there overview of GNS3 architecture ?

Qemu has 3 ports: vboxwrapper port, Base UDP port and base console port. UDP port is used for Qemu networking.
What is the use case for base console port ?

-Technologov


Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Fri Apr 15, 2011 4:37 pm 
Offline
Site Admin

Joined: Sat Oct 11, 2008 1:41 pm
Posts: 2668
Location: Canada
Hi,

QemuManager is only used when GNS3 starts qemuwrapper itself. This is not needed for remote qemuwrapper that must be started manualy.
Qemu_lib contains all the functions (client) to talk with qemuwrapper.
Qemuwrapper is the server that controls qemu processes

Sent from an ipod. So this is a short answer.

Cheers

_________________
Jeremy, GNS3 Programmer & Benevolent Dictator for Life.


Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Sun Apr 17, 2011 6:16 pm 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
Here is the development snapshot of my work:

GNS3-0.7.3-src-vbox-2011-04-17-snapshot.zip, 7.5 MB
[link removed]

NOTE: look at "modified.txt" to see the changes I did. (inside the zip)

I have implemented all the VirtualBox classes needed to get started, except network for now.
Qemu's "Disk Image" parameter becomes VirtualBox "VMname/UUID".

IMO VirtualBox already has a nice GUI and a management layer, "VirtualBox Manager", so no reason to manage VBox VMs separately from GNS3 GUI.
About network: someone will need to wite UDP Tunnel patch for VirtualBox. For now, you can connect VBox VMs to VDE network, or to bridge.

Current problem:
I copied "Qemuwrapper" as "VBoxwrapper", but the new module refuses to start VMs.
After sending parameters, the VM refuses to start, and I can't understand why.

I am trying to debug the problem.
So only "Qemulib" sends commands to qemuwrapper ?
Can you take a quick look at it please? (I am working several days on GNS3 code, and limited progress, but for an expert it could take 10 minutes to understand)

Qemu code path:
AnyEmuDevice::info()
AnyEmuDevice::start()

VBox code path:
AnyVBoxEmuDevice::info()
(nothing happens)
---
Which module should call "AnyVBoxEmuDevice::start()" ?

What "AnyEmuDevice" module does?

-Technologov


Last edited by Technologov on Mon Apr 18, 2011 7:38 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Sun Apr 17, 2011 10:09 pm 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
Nevermind. I forgot to modify "Scene.py", which is now fixed. Very trivial fix, that took me several days to find... this is the cost of working with unfamiliar code.

Here is my first working prototype. (pre-alpha version)

GNS3-0.7.3-src-vbox-working-prototype-2011-04-18.zip, Size: 7.6 MB:
[link removed]

It can start VirtualBox VMs, in additions to all existing types of emulators. Requires VirtualBox 4.0 + VBox python APIs to be installed.

Expect unstable, but working VirtualBox implementation, and other modules should be stable, just as in official GNS3 release.

Notes for this release:
1. Use GNS3 Edit->Preferences->VBox->Test, to make sure you have VirtualBox installed. Must be v4.0.x
2. Use "Qemu Image" parameter as "VirtualBox VM name/UUID" for now.
3. All the configuration of VirtualBox VMs takes place in VirtualBox GUI, not from GNS3.
4. Network: use VirtualBox GUI to connect VMs to bridge or to VDE.
5. check "modified.txt" to see what has been changed vs. the official release. Quite a lot.
6. Starting VMs work, stopping not yet :)
7. Non-VirtualBox-related functionality should be as stable as in official release.

-Technologov


Last edited by Technologov on Mon Apr 18, 2011 7:37 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Mon Apr 18, 2011 2:46 am 
Offline

Joined: Fri Mar 11, 2011 7:39 pm
Posts: 603
Location: Israel
New release.
Here is my first Alpha version.

GNS3-0.7.3-src-vbox-Alpha1-2011-04-18.zip, Size: 7.6 MB:
[link expired]
update: Alpha 2 available on next page. This is for historical reference only.

It can start VirtualBox VMs, in additions to all existing types of emulators. Requires VirtualBox 4.0 + VBox python APIs to be installed.

Expect unstable, but working VirtualBox implementation, and other modules should be stable, just as in official GNS3 release.

Changes since pre-alpha:
1. Added myself to authors list ( I think I deserve it after 2 weeks of hard work :-) ) - Started on 05.Apr.2011
2. GNS3 VirtualBox backend now can stop VMs, and even pause/resume them ! (not implemented in original Qemu backend)
3. Added check when adding new VBox VM, which warns if VirtualBox VMname/UUID doesn't exist.

Notes for this release:
1. Use GNS3 Edit->Preferences->VBox->Test, to make sure you have VirtualBox installed. Must be v4.0.x
2. In Preferences->VBox->VBox Host, use "Qemu Disk Image" parameter as "VirtualBox VM name/UUID" for now.
3. All the configuration of VirtualBox VMs takes place in VirtualBox GUI, not from GNS3.
4. Network: use VirtualBox GUI to connect VMs to bridge or to VDE.
This is because VirtualBox doesn't offer the UDP networking option.
5. check "modified.txt" to see what has been changed vs. the official release. Quite a lot.
6. Non-VirtualBox-related functionality should be as stable as in official release.
7. Cannot save/restore projects/topology
8. Debug code will fail on Windows hosts; disable in "dynagen_vbox_lib.py", "qemu_lib.py", "qemuwrapper.py" & "vboxwrapper.py"
9. Cannot connect links yet.

Alpha-tested on Debian Linux 6.0 "Squeeze". Make sure to remove Debian's GNS3 package, as they do conflict.

Design Goals:
1.copy-paste current Qemu implementation (all classes) as VBox classes, then modify it to use VirtualBox python API.
1.a. backend should have VirtualBox with all 5 devices enabled (like Qemu),
but in GUI only VirtualBox PC should work. (for now)
2. IMO VirtualBox already has a nice Qt4 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.
2.a. It means, that VM Parameters should not be configurable from GNS3 GUI, except the network.
Even here I suggest to leave first vNIC for VirtualBox GUI. (for management uses, via NAT/Bridge/etc...) GNS3 should manage vNICs 2-8.
Do you agree on those goals ? This is just starting point, so we can discuss and refine them later.

CALL for HELP: Please patch VirtualBox for UDP networking, so it can work seamlessy in GNS3. I don't know C++, so I can't do this job.

Tip for new VirtualBox developers: look at VDE patch by Renzo here (it can help you port UDP Tunnel functionality from Qemu)

Once VirtualBox gets UDP patched, this opens the road for new major release of GNS3, v0.8.

P.S. If you like my work, please add me to: http://www.gns3.net/team

-Technologov


Last edited by Technologov on Wed Apr 20, 2011 3:26 am, edited 6 times in total.

Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Mon Apr 18, 2011 3:59 pm 
Offline

Joined: Tue Mar 08, 2011 2:25 pm
Posts: 101
Hello,

This is in the TODO list, I will have someone to work on this, however we have other priorities right now. If anyone wants to work on the patch, let the community know and try to work together ;). However, this time, make sure the patch can be integrated upstream by the VirtualBox staff, this will be so much easier for users if they don't have to download and patch VirtualBox themselves (especially on BSD systems on which you may have a lot of patches in order to just make it compile and run).


Top
 Profile  
 
 Post subject: Re: Please support VirtualBox for PC emulation
PostPosted: Mon Apr 18, 2011 5:58 pm 
Offline

Joined: Tue Jul 20, 2010 5:50 pm
Posts: 93
Good job, I had a look on the code looks great!




Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 409 posts ]  Go to page 1, 2, 3, 4, 5 ... 41  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

phpBB SEO