Difference between revisions of "Vnx-examples"
Line 20: | Line 20: | ||
|'''VM ip address''' | |'''VM ip address''' | ||
|- | |- | ||
− | |simple_uml.xml | Just one User Mode Linux (UML) Debian system |10.0.0.2 | + | |simple_uml.xml || Just one User Mode Linux (UML) Debian system || 10.0.0.2 |
|- | |- | ||
|simple_winxp.xml | |simple_winxp.xml |
Revision as of 14:25, 27 July 2011
VNX Simple Scenarios
Several simple example scenarios are included in VNX distribution to allow testing the tool functionalities with the different types of virtual machines supported (see /usr/share/vnx/examples/simple_*.xml files).
Each simple scenario includes just one virtual machine connected to a Network (Net0, 10.0.0.0/24), where the hosts has also a virtual network interface connected (10.0.0.1).
The simple scenarios are prepared to be started and tested individually or to be started all together to form the compound scenario shown in Figure 1.
The following simple scenarios are available:
Scenario file name | Description | VM ip address |
simple_uml.xml | Just one User Mode Linux (UML) Debian system | 10.0.0.2 |
simple_winxp.xml | Just one KVM Windows XP system | 10.0.0.3 |
simple_ubuntu.xml | Just one KVM Ubuntu system without GUI | 10.0.0.4 |
simple_ubuntu-gui.xml | Just one KVM Ubuntu system with minimal GNOME GUI | 10.0.0.5 |
simple_freebsd.xml | Just one KVM FreeBSD system without GUI | 10.0.0.6 |
simple_freebsd-gui.xml | Just one KVM FreeBSD system with minimal GNOME GUI | 10.0.0.7 |
simple_win7.xml | Just one KVM Windows 7 system | 10.0.0.8 |
simple_fedora.xml | Just one KVM Fedora system without GUI | 10.0.0.9 |
simple_fedora-gui.xml | Just one KVM Fedora system with a GNOME GUI | 10.0.0.10 |
simple_dynamips.xml | Just one Dynamips emulated CISCO 3600 router | 10.0.0.11 |
simple_dynamips2.xml | Just one Dynamips emulated CISCO 7200 router | 10.0.0.12 |
simple_olive.xml | Just one Olive emulated Juniper router | 10.0.0.13 |
simple_centos.xml | Just one KVM CentOS system without GUI | 10.0.0.15 |
simple_centos-gui.xml | Just one KVM CentOS system with a GNOME GUI | 10.0.0.16 |
All scenarios are available in /usr/share/vnx/examples directory. See, for example, the content of simple_ubuntu-gui.xml scenario at the end of this page
Contents
Starting simple scenarios
To test the scenarios:
- Open a root shell from the graphical console of the host machine. If you are not sat in front of host's console you can access it using ssh with X-forwarding activated. For example, from a Unix machine you can use:
ssh -X <host-addr>
In this case, it is recommended to test that X-forwarding is working by launching a "xterm" or "xeyes" application and seeing that the application window is correctly launched. Besides, as the access to the virtual machine consoles is tipically made using virt-viewer application (VNC protocol), you need a good connectivity between your machine and the host were VNX runs.
Simple scenarios (simple_XXXX.xml)
- Start simple scenarios by means of:
sudo vnx -f /usr/share/vnx/examples/simple_XXXX.xml -v --create
For example, to start an XP virtual machine type:
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --create
Just after the execution, you will see the console of the Windows XP machine starting. Once the machine has completely started, the VNX autoconfiguration daemon will configure its name and the network interfaces and restart the machine for the changes to take effect. After the restart, the virtual machine will be available for interacting with it.
Note: virt-viewer console application "captures" the mouse when interacting with the virtual machines. You have to type "Ctrl-Alt" to release the mouse.
root@tutatis:/usr/share/vnx/examples# ping -c 4 10.0.0.3 PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data. 64 bytes from 10.0.0.3: icmp_seq=1 ttl=128 time=0.312 ms 64 bytes from 10.0.0.3: icmp_seq=2 ttl=128 time=0.376 ms 64 bytes from 10.0.0.3: icmp_seq=3 ttl=128 time=0.249 ms 64 bytes from 10.0.0.3: icmp_seq=4 ttl=128 time=0.260 ms --- 10.0.0.3 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.249/0.299/0.376/0.051 ms
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --exe calc
This command has been specified inside the simple_xp.xml file in the line:
<exec seq="calc" type="verbatim" mode="system">calc.exe</exec>
Note: the previous command does not end till you close the calc application.
You can also copy a text file from the host to the virtual machine and show it using Notepad by issuing:
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --exe vnxtxt
This command is specified using the following two lines:
<filetree seq="vnxtxt" root="c:\temp">conf/txtfile</filetree> <exec seq="vnxtxt" type="verbatim" mode="system">start /max notepad c:\temp\vnx.txt</exec>
sudo vnx -f /usr/share/vnx/examples/simple_ubuntu.xml -v --create
And start a web server inside it with:
sudo vnx -f /usr/share/vnx/examples/simple_ubuntu.xml -v --exe start-www
And test the web server access from the XP virtual machine by manually opening a web navigator and loading URL http://10.0.0.4.
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --shutdown
You can later restart the scenario with:
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --create
sudo vnx -f /usr/share/vnx/examples/simple_xp.xml -v --destroy
Tutorial scenarios (tutorial_root1_XXXX.xml)
- To start the tutorial scenario with linux, FreeBSD, XP and Win7 virtual machines just type:
sudo vnx -f tutorial_root1_all.xml -v --create
Other interesting options
You can see a graphical map of the virtual scenario using the --show-map option:
sudo vnx -f tutorial_root1_all.xml -v --show-map
Modify root filesystem scenarios (root_fs_XXX.xml)
To modify a root filesystem, for example, installing new software packages, just start the associated libvirt scenario with:
virsh create root_fs_XXX.xml
And open the console using:
virt-viewer VMNAME
being VMNAME the name assigned to the virtual machine (you can get it with "virsh list" command or just looking for the <name> tag in root_fs_XXX.xml file).
To easy the process, you can use the vnx_modify_rootfs simple script that starts the virtual machine and opens the console:
/usr/share/vnx/bin/vnx_modify_rootfs root_fs_XXX.xml
simple_ubuntu-gui.xml scenario
<?xml version="1.0" encoding="UTF-8"?> <!-- ~~~~~~~~~~~~~~~~~~~~ VNX Sample scenarios ~~~~~~~~~~~~~~~~~~~~ Name: simple_ubuntu-gui Description: Just one Ubuntu virtual machine with GUI connected to a Network named Net0 with address 10.0.0.5. The host has an interface in Net0 with address 10.0.0.1 This simple scenario is supposed to be used for testing the different types of virtual machines supported by VNX. You can start several simple_*.xml scenarios and test the connectivity among virtual machines and the host, as all scenarios share the same "Net0" network. This file is part of the Virtual Networks over LinuX (VNX) Project distribution. (www: http://www.dit.upm.es/vnx - e-mail: vnx@dit.upm.es) Departamento de Ingenieria de Sistemas Telematicos (DIT) Universidad Politecnica de Madrid SPAIN --> <vnx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/usr/share/xml/vnx/vnx-2.00.xsd"> <global> <version>2.0</version> <scenario_name>simple_ubuntu-gui</scenario_name> <automac offset="5"/> <vm_mgmt type="none" /> <vm_defaults> <console id="0" display="yes"/> <console id="1" display="yes"/> </vm_defaults> </global> <net name="Net0" mode="virtual_bridge" /> <!-- NODES --> <vm name="ubuntu-gui" type="libvirt" subtype="kvm" os="linux"> <filesystem type="cow">/usr/share/vnx/filesystems/rootfs_ubuntu-gui</filesystem> <mem>512M</mem> <if id="1" net="Net0"> <ipv4>10.0.0.5/24</ipv4> </if> <filetree seq="vnxtxt" root="/tmp">conf/txtfile</filetree> <filetree seq="vnxwww" root="/tmp">conf/txtfile</filetree> <filetree seq="start-www" root="/var/www">conf/txtfile</filetree> <!-- Start xeyes application --> <exec seq="xeyes" type="verbatim" ostype="xexec">xeyes</exec> <!-- Start xeyes application and wait until it is closed --> <exec seq="xeyes2" type="verbatim" ostype="xsystem">xeyes</exec> <!-- Start gedit, maximize the window and show a text file --> <exec seq="vnxtxt" type="verbatim" ostype="system">chmod 666 /tmp/vnx.txt</exec> <exec seq="vnxtxt" type="verbatim" ostype="xexec">gedit /tmp/vnx.txt</exec> <exec seq="vnxtxt" type="verbatim" ostype="xexec">sleep 3; wmctrl -r vnx.txt -b add,maximized_vert,maximized_horz</exec> <exec seq="vnxtxtoff" type="verbatim" ostype="system">pkill gedit; rm /tmp/vnx.*</exec> <!-- Start firefox and load vnx.html, copied by means of a <filetree> --> <exec seq="vnxwww" type="verbatim" ostype="system">chmod 666 /tmp/vnx.html</exec> <exec seq="vnxwww" type="verbatim" ostype="xexec">firefox /tmp/vnx.html</exec> <exec seq="vnxwwwoff" type="verbatim" ostype="system">pkill firefox; rm /tmp/vnx.*</exec> <!-- Start calculator --> <exec seq="calc" type="verbatim" ostype="xexec">gcalctool</exec> <exec seq="calcoff" type="verbatim" ostype="system">pkill gcalctool</exec> <!-- Start/stop apache www server --> <exec seq="start-www" type="verbatim" ostype="system">service apache2 start</exec> <exec seq="stop-www" type="verbatim" ostype="system">service apache2 stop</exec> <exec seq="start-www2" type="verbatim" ostype="exec">service apache2 start</exec> <exec seq="ping" type="verbatim" ostype="system">'ping 10.0.0.1'</exec> <exec seq="showlog" type="verbatim" ostype="system">tail -f /var/log/vnxaced.log</exec> <exec seq="start-www" type="verbatim" ostype="system">chmod 644 /var/www/*</exec> </vm> <host> <hostif net="Net0"> <ipv4>10.0.0.1/24</ipv4> </hostif> </host> </vnx>