Hands on with UNetLab 1.0


UNetLab has just reached version 1.0 (stable). It's actually 1.0.0-4 to be exact, and a lot has changed.

Installing the new version is no different to doing any Linux upgrade, however, I did encounter a problem:
root@unl01:~# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 linux-image-virtual : Depends: linux-image-3.13.0-79-generic but it is not installed
E: Unmet dependencies. Try using -f.
root@unl01:~# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
....
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-79-generic_3.13.0-79.123_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-79-generic' to '/boot/vmlinuz-3.13.0-79-generic.dpkg-new': failed to write (No space left on device)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.13.0-79-generic_3.13.0-79.123_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@unl01:~#
It looks like /boot is a bit low on space:
root@unl01:~# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-rootvol  185G  156G   22G  89% /
none                        4.0K     0  4.0K   0% /sys/fs/cgroup
udev                         20G  4.0K   20G   1% /dev
tmpfs                       4.0G  3.0M  4.0G   1% /run
none                        5.0M     0  5.0M   0% /run/lock
none                         20G     0   20G   0% /run/shm
none                        100M     0  100M   0% /run/user
/dev/sda1                   232M  218M     0 100% /boot
root@unl01:~#
Yep, no room left, so let's make some space:
root@unl01:~# cd /boot/
root@unl01:/boot# rm -f initrd.img-3.13.0-61-generic
root@unl01:/boot# rm -f initrd.img-3.13.0-62-generic
root@unl01:/boot# rm -f initrd.img-3.13.0-63-generic
root@unl01:/boot# rm -f initrd.img-3.13.0-65-generic
root@unl01:/boot# rm -f initrd.img-3.13.0-66-generic
root@unl01:/boot# rm -f vmlinuz-3.13.0-61-generic
root@unl01:/boot# rm -f vmlinuz-3.13.0-62-generic
root@unl01:/boot# rm -f vmlinuz-3.13.0-63-generic
root@unl01:/boot# rm -f vmlinuz-3.13.0-65-generic
root@unl01:/boot# rm -f vmlinuz-3.13.0-66-generic
root@unl01:/boot# df -f
df: invalid option -- 'f'
Try 'df --help' for more information.
root@unl01:/boot# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-rootvol  185G  156G   22G  89% /
none                        4.0K     0  4.0K   0% /sys/fs/cgroup
udev                         20G   12K   20G   1% /dev
tmpfs                       4.0G  3.0M  4.0G   1% /run
none                        5.0M     0  5.0M   0% /run/lock
none                         20G     0   20G   0% /run/shm
none                        100M     0  100M   0% /run/user
/dev/sda1                   232M  137M   80M  64% /boot
root@unl01:/boot#
OK, thats better. Lets run the update:
root@unl01:/boot# apt-get install unetlab
Reading package lists... Done
Building dependency tree       
Reading state information... Done
...
Do you want to continue? [Y/n] Y
Get:1 http://www.unetlab.com/apt/ trusty/rrlabs unetlab amd64 1.0.0-4 [9,921 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty/main libaio1 amd64 0.3.109-4 [6,364 B]
Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty/main telnet amd64 0.17-36build2 [67.1 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main python3-pexpect all 3.1-1ubuntu0.1 [37.9 kB]
Fetched 10.0 MB in 5s (1,739 kB/s)         
...
Setting up python3-pexpect (3.1-1ubuntu0.1) ...
Setting up unetlab (1.0.0-4) ...
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for initramfs-tools (0.103ubuntu4.2) ...
update-initramfs: Generating /boot/initrd.img-3.16.7-ckt8-unetlab
root@unl01:/boot#
I always like to reboot at this point, but you don't have to. So let's see what we have now!

The status page has a few changes, we now have a POD number (for multi-user), and we can see the UNetLab version and the Qemu version:


The usage indictors in the middle also update every few seconds, which is kind of useful.

If we look at the Users tab, we can see the default user, and what (if any) lab they are running:


Using the Actions menu, we can create a new user:




So, now you can have a pretty decent UNetLab server catering for a large number of users, and each can run their own lab. Pretty neat!

So, let's move onto the labs and see what's changed there.

It's all changed:


We have lost the menu at the top, and gained one at the side. From the top down we can add new things, such as networks, node, pictures, and now shapes and text:


Beneath this we have the lab details, and then an icon for the nodes:


If you have ever used Web-IOU then you'll be familiar with the icons at the right hand side to stop, start and reload devices.

We then have the networks icon, and then one for startup configs:


We then have icons for configuring pictures and text objects, and then one for "more actions":


We then can refresh the topology, and then there is an icon for free select. The major change is that we can now edit the topology and use it from within the same page, no more switching modes, which is so much better. However, if you do click on the free select icon, then you will need to click on it again to de-select it if you want to do anything with the nodes.

Speaking of the nodes, the right click menu has changed here as well:

Notice how the Manage menu minimises when we click on the Capture menu, this is a nice feature especially if you don't have the largest of displays.

Lastly we have a quick access button for the system status, we can close the lab, or log out completely.

It's much smoother, and configurable now. The addition of custom objects makes making labs much nicer (along with the fact that objects line up perfectly now! Now we can have nicely annotated labs:


It would be nice to be able to join objects (such as a square box and the text object within it), but this is a minor issue.

It is clear that a lot of thought has gone into this major release, it's fluid, sharp, and a pleasure to work with.

CCIE #49337, author of CCNA and Beyond, BGP for Cisco Networks, MPLS for Cisco Networks, VPNs and NAT for Cisco Networks.

Related Posts

Previous
Next Post »

4 comments

comments
15 April 2016 at 00:43 delete

hi averyone. after update Unetlab(wm) i cant connetc to the web page, i dont now whats problem, please help

Reply
avatar
15 April 2016 at 01:33 delete

Does the VM have an IP address?

Reply
avatar
15 April 2016 at 07:56 delete

yes, it have 192.168.42.128. I can connect to VM over ssh

Reply
avatar
19 April 2016 at 08:29 delete

try the following commands:


netstat -ano | grep LIST
lsof -i :80

Should show that port 80 is listening, second command should show that apache2 is the process.

Reply
avatar