Add New Page: You are not allowed to add pages Select section/namespace. New page title.
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

development_resources:testing:virtualization:virtualbox_and_virtual_meshing [2014/05/12 20:23] (current)
Line 1: Line 1:
 +====== VirtualBox and Virtual Meshing ======
  
 +These instructions cover how to deploy Commotion as multiple guest VMs under a single VirtualBox host, with a virtual mesh between the nodes. ​ Simulating mesh-level operation effectively requires a bare minimum of 2 nodes deployed on the same virtual network, with one node operating as logical gateway to the Internet and the other node as a repeater. ​ 3 nodes is ideal, however, for broader test coverage of mesh-level operations.
 +
 +Furthermore,​ you can create an additional VM (or VMs) to simulate a user's device (Windows, Linux, etc) connecting to a virtual Access Point (AP) on one of the nodes.
 +
 +Under VirtualBox, a shared private network between multiple VMs can be accomplished via the "​Internal Networking":​https://​www.virtualbox.org/​manual/​ch06.html#​network_internal or "​Host-only Networking":​https://​www.virtualbox.org/​manual/​ch06.html#​network_hostonly modes. ​ The instructions provided below will use the "​Internal Networking"​ mode.
 +
 +Do note that VirtualBox only supports guests compiled for the *x86* platform. ​ Furthermore,​ and as of this writing, it is only possible to simulate meshes as a virtual _wired network_ between guest VMs under a single VirtualBox host.  Each Commotion node must then be manually configured as gateway or repeater, since the auto-configuration tool meshconfig doesn'​t (yet) support VirtualBox'​s virtual network adapters.
 +
 +===== Commotion-OpenWRT with a Virtual Mesh =====
 +
 +The instructions below describe how to deploy multiple "​Commotion-OpenWRT":/​projects/​commotion-openwrt nodes as a guest VMs under VirtualBox, with a virtual mesh connecting them together.
 +
 +Compatible images, VirtualBox appliance files, and Commotion-OpenWRT config tarballs may be downloaded from https://​code.commotionwireless.net/​projects/​commotion/​files
 +
 +==== Commotion-OpenWRT gateway node ====
 +
 +Below are screenshots of VirtualBox network settings used for a Commotion-OpenWRT gateway node.  This node uses the host's Internet connection on its first network adapter as its gateway, and then 3 additional internal networks named *OpenWRT-lan*,​ *OpenWRT-meshtest*,​ *OpenWRT-aptest* to represent the LAN, (wired) mesh, and local AP for this node.  Under Commotion-OpenWRT,​ the 1st thru 4th Network Adapters will appear as eth0 thru eth3, respectively.
 +
 +Note that the General, System, Display, Storage, and Serial Port settings for this gateway node are identical to those described for a "​stand-alone node under VirtualBox.":/​projects/​commotion/​wiki/​Virtual-Box#​CreateConfigure-the-Commotion-OpenWRT-VM-guest
 +
 +{{:​development_resources:​testing:​commotion-openwrt-vbox-net1.png|}}
 +Net Adapter 1 settings for Commotion-OpenWRT gateway node under VirtualBox
 +
 +{{:​development_resources:​testing:​commotion-openwrt-vbox-net2.png|}}
 +Net Adapter 2 settings for Commotion-OpenWRT gateway node under VirtualBox
 +
 +{{:​development_resources:​testing:​commotion-openwrt-vbox-net3.png|}}
 +Net Adapter 3 settings for Commotion-OpenWRT gateway node under VirtualBox
 +
 +{{:​development_resources:​testing:​commotion-openwrt-vbox-net4.png|}}
 +Net Adapter 4 settings for Commotion-OpenWRT gateway node under VirtualBox
 +
 +==== Commotion-OpenWRT repeater node ====
 +
 +The repeater node configuration is nearly identical to that described for the gateway node above, with the exception that the repeater'​s Network Adapter 1 is not connected to the outside Internet via VirtualBox'​s NAT, but rather to an Internal Network with a unique name like *OpenWRT-nonet2*.
 +
 +To represent the virtual mesh, the repeater node will share the internal network *OpenWRT-meshtest* with the gateway node on Network Adapter 2.  The repeater node will also have its own distinct networks *OpenWRT-lan2* and *OpenWRT-aptest2* on its Network Adapters 3 and 4, respectively,​ to represent the repeater node's LAN and local AP.
 +
 +==== Simulating user clients ====
 +
 +An additional VM (or VMs) could be used to test connections to the public or private AP of any of the Commotion-OpenWRT VMs described above, and this VM could run Windows/​Linux/​OSX/​etc to simulate the desktop of a user connecting to a Commotion node.
 +
 +On this 4th VM, you would enable the 2nd Network Adapter for "​Internal Networking"​ and specify network of the particular node's access point you wish to test, e.g. *OpenWRT-aptest* or *OpenWRT-aptest2*.
 +
 +===== Commotion-Android with a virtual mesh =====
 +
 +
 +TBA
 +
 +===== Commotion-Linux with a virtual mesh =====
 +
 +
 +TBA
 +
 +===== Commotion-Windows with a virtual mesh =====
 +
 +
 +TBA
development_resources/testing/virtualization/virtualbox_and_virtual_meshing.txt · Last modified: 2014/05/12 20:23 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported