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:
[email protected]:~# 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. [email protected]:~# 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) [email protected]:~#
It looks like /boot is a bit low on space:
[email protected]:~# 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 [email protected]:~#
Yep, no room left, so let’s make some space:
[email protected]:~# cd /boot/ [email protected]:/boot# rm -f initrd.img-3.13.0-61-generic [email protected]:/boot# rm -f initrd.img-3.13.0-62-generic [email protected]:/boot# rm -f initrd.img-3.13.0-63-generic [email protected]:/boot# rm -f initrd.img-3.13.0-65-generic ro[email protected]:/boot# rm -f initrd.img-3.13.0-66-generic [email protected]:/boot# rm -f vmlinuz-3.13.0-61-generic [email protected]:/boot# rm -f vmlinuz-3.13.0-62-generic [email protected]:/boot# rm -f vmlinuz-3.13.0-63-generic [email protected]:/boot# rm -f vmlinuz-3.13.0-65-generic [email protected]:/boot# rm -f vmlinuz-3.13.0-66-generic [email protected]:/boot# df -f df: invalid option -- 'f' Try 'df --help' for more information. [email protected]:/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 [email protected]:/boot#
OK, that’s better. Let’s run the update:
[email protected]:/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 [email protected]:/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 indicators 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:
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 minimizes 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 is fluid, sharp, and a pleasure to work with.
You can even create your own nodes, like a multicast server!