Unetlab - NX-OS (Titanium)


I know I said in the last post that I was saving NX-OS (Titanium) for another day, well, today is that day!

Finding a suitable vmdk file to use was the hardest part.. but in the end I did. I copied it to the tmp directory and tried the usual:
root@iou:/tmp# ls
N7K.vmdk
root@iou:/tmp# qemu-img convert -f vmdk -O qcow2 N7K.vmdk hda.qcow2
root@iou:/tmp# mkdir /p /opt/unetlab/addons/qemu/titanium-7
root@iou:/tmp# mv hda.qcow2 /opt/unetlab/addons/qemu/titanium-7/
root@iou:/tmp# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
root@iou:/tmp# ls -l /opt/unetlab/addons/qemu/
total 16
drwxr-xr-x 2 root root 4096 Feb 19 14:26 asa-8.42
drwxr-xr-x 2 root root 4096 Feb 19 16:16 titanium-7
drwxr-xr-x 2 root root 4096 Feb 19 13:53 vios-adventerprisek9-m15.4-1.2.0-173
drwxr-xr-x 2 root root 4096 Feb 17 11:02 xrv-k9-5.2.2
root@iou:/tmp#
We have the files loaded and they are visible in Unetlab:

Adding a node in UNetLab

Topology:

Running NXOS in UNetLab

Do they run?

Nope. They refuse to start.

From the documentation for CSR1000v it says to run:

# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom csr1000v-universalk9.03.13.00.S.154-3.S-ext.iso

However, this is not working for me:
root@iou:/opt/unetlab/addons/qemu/titanium-7# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso
Could not access KVM kernel module: No such file or directory
failed to initialize KVM: No such file or directory
root@iou:/opt/unetlab/addons/qemu/titanium-7#

This link would indicate that the module is not installed. I get the same when trying in VirtualBox. I did some googling and tried everything I can, turns out that my bargain ESXi box is missing one vital piece:

UNetLab in VirtualBox

So I imported it into VMWare Fusion.
Now the message that the necessary bits arn't working has gone.

If you are having a similar issue then this is the screen that you don't want:

UNetLab in VMWare Fusion

This is what you do want:

UNetLab in VMWare Fusion

I can check that Qemu will be happy by doing this:

UNetLab in VMWare Fusion

More importantly, the NX-OS routers fire up:

Running NXOS in UNetLab on VMWare fusion

We have connectivity...

NXOS1# sh ver
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Documents: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_serie
s_home.html
Copyright (c) 2002-2014, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained herein are owned by
other third parties and are used and distributed under license.
Some parts of this software are covered under the GNU Public
License. A copy of the license is available at
http://www.gnu.org/licenses/gpl.html.

Titanium is a demo version of the Nexus Operating System

Software
  loader:    version N/A
  kickstart: version 7.0(1) [build 7.0(1)ZD(0.216)]
  system:    version 7.0(1) [build 7.0(1)ZD(0.216)]
  kickstart image file is: bootflash:///titanium-d1-kickstart.7.0.1.ZD.0.216.bin
  kickstart compile time:  6/13/2014 20:00:00 [06/14/2014 05:45:18]
  system image file is:    bootflash:///titanium-d1.7.0.1.ZD.0.216.bin
  system compile time:     6/13/2014 20:00:00 [06/14/2014 09:32:30]


Hardware
  cisco Nexus7000 C7018 (18 Slot) Chassis ("Unknown Module")
  Unknown CPU with 2042092 kB of memory.
  Processor Board ID TM00010000B

  Device name: NXOS1
  bootflash:          0 kB

Kernel uptime is 0 day(s), 1 hour(s), 7 minute(s), 29 second(s)


plugin
  Core Plugin, Ethernet Plugin
NXOS1#
NXOS1# sh cdp neigh
Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater,
                  V - VoIP-Phone, D - Remotely-Managed-Device,
                  s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID
NXOS2(TB00020000B)
                    Eth2/1         141    R S s     N7K-C7018     Eth2/1        
NXOS1# 
NXOS2# sh cdp neigh
Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater,
                  V - VoIP-Phone, D - Remotely-Managed-Device,
                  s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID
NXOS1(TB00010000B)
                    Eth2/1         175    R S s     N7K-C7018     Eth2/1        
NXOS2# 

There we have it... NX-OS (Titanium) running inside of Unetlab. So if your virtualization platform supports a KVM guest, and you don't see "Warning: neither Intel VT-x or AMD-V found", then you should be OK.

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 »

26 comments

comments
Anonymous
23 March 2015 at 08:42 delete

Hi Stuart,

Thanks for this Titanium Tutorial. I couldn't get this up. If I am not wrong, are you able to run this setup "only" in the fusion? if not how do you run in windows pc and vmware workstation.

Thanks

David

Reply
avatar
23 March 2015 at 09:07 delete

Hi David

It also works on VMWare Workstation - Andrea has the docs on his website:

http://www.unetlab.com/documentation/

Cheers

Stuart

Reply
avatar
Anonymous
23 March 2015 at 09:08 delete

More preciously, I am confusing how to get the console access after create the topology?

thanks

David

Reply
avatar
Anonymous
27 March 2015 at 09:25 delete

Hi Stuart,
Can you make me clear on this;
root@iou:/opt/unetlab/addons/qemu/titanium-7# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso

where the nexus.iso is coming from?? does it come with the Titanium image you are using?

Thanks

David

Reply
avatar
27 March 2015 at 12:35 delete

Hey David,

It was a shot in the dark, I was working from the docs on the unetlab site, so was guessing at some commands... http://www.unetlab.com/2014/11/adding-cisco-cloud-service-router-csr1000v-images/

Reply
avatar
Anonymous
12 December 2015 at 07:29 delete

how can i get telnet to work on titanium-7? i have it setup on unetlab and connected but no cli. the router starts well but just stuck
is there something special i need to configure to have telnet access?

Reply
avatar
Anonymous
8 January 2016 at 10:02 delete

Hi.

Edit vmx file VM UnetLab

[root@host:~] vi /vmfs/volumes/raid-10/UNL/UNL.vmx
vhv.enable = "true"
or via WinSCP press f4 and edit *.vmx
vhv.enable = "true"

It is work.

Reply
avatar
11 February 2016 at 04:25 delete

Hi Stuart,
Where did you get nexus.iso or you just rename csr1000v and enter this command in you UNL-VM?
/usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso

Thanks

Reply
avatar
11 February 2016 at 04:37 delete

Downloaded the Titanium emulator - thats the NX-OS

Reply
avatar
11 February 2016 at 04:42 delete

And thats titanium has nexus.iso?

Reply
avatar
11 February 2016 at 06:24 delete

its the iso download for Titanium but renamed to nexus.iso

Reply
avatar
14 February 2016 at 07:45 delete

No, you'll need to google it.

Reply
avatar
Anonymous
18 February 2016 at 14:15 delete

Hi Stuart,
I am having issues using the new NXOS image, I was able to import and start device but afterwards I get a blank telnet session [Have tried a million different things but no luck]. The NXOS image boots properly in vm workstation with telnet port 7000 instead 9001 because it's an updated nxos image.
FYI - vhv.enable = "true" is already setup for me.

any help would be great.

Reply
avatar
20 February 2016 at 07:51 delete

NX-OS can take quite a while to load up, how long are you waiting before trying to access it? Start it up and go and grab a coffee! What version are you running?

Reply
avatar
1 March 2016 at 09:27 delete

Hi Stuart,

I know this is an older post, but still seems like the freshest on the topic. I'm running the latest UNL 0.9.0-96 and have tried your process above - thanks for this. My problem is that when I try to add the new N7K to my labs, the new image does not appear as an option. Some background; my titanium image was running fine on VMWare workstation; I tied converting this from qemu-img, but without success. I the used Vmware converter to convert the image using "other" option in the converter tool - this generated a new ".vmdk" image that I can succefully convert using qemu-img; I now have a "hda.qcow2" image. I moved this to /opt/unling/addons/qemu/N7K directory and ran the permissions change, but I still don't see the image as an available option int my UNL lab edit view when adding nodes. FYI, my add node options list "Cisco NX-OSv (Titanium)", but when selected, my new image is not available. By the way, the "Cisco NX-OSv (Titanium)" was default option right after the install of UNL. Sure appreciate if you can help me get past this problem so I can see if the new image will boot. Thank you!

Reply
avatar
1 March 2016 at 09:52 delete

you need to name the folder titanium-7k, not N7K. SSH onto your VM and run:
cat /opt/unetlab/html/includes/init.php
You'll see a long list of how things need to be named. NX-OS needs to have the prefix titanium.

Reply
avatar
1 March 2016 at 11:00 delete

Stuart,

Thanks my friend... perfect! That does the job and thank you for pointing out the init.php!!

Reply
avatar
2 March 2016 at 17:32 delete

hello stuart

I have the same issue like this ''Hi Stuart,
I am having issues using the new NXOS image, I was able to import and start device but afterwards I get a blank telnet session [Have tried a million different things but no luck]. The NXOS image boots properly in vm workstation.
FYI - vhv.enable = "true" is already setup for me.

any help would be great.''

Reply
avatar
Anonymous
8 July 2016 at 11:01 delete

I too fired up nexus titanium but same problem...blank telnet session

Reply
avatar
21 August 2016 at 10:44 delete

getting this error , help needed please.

root@unl01:~# cd /tmp/
root@unl01:/tmp# ls -l
total 2097164
-rw-r--r-- 1 root root 2147483648 Dec 5 2012 N7K.vmdk
drwxr-xr-x 2 unl0 unl 4096 Aug 21 16:37 netio32768
drwx------ 2 root root 4096 Aug 21 15:44 vmware-root
root@unl01:/tmp# qemu-img convert -f vmdk -O qcow2 N7K.vmdk hda.qcow2
-bash: qemu-img: command not found
root@unl01:/tmp# qemu-img convert -f vmdk -0 qcow2 N7K.vmdk hda.qcow2
-bash: qemu-img: command not found



Thanks

Reply
avatar
24 August 2016 at 05:47 delete

if you try hide your Nexus ISO so no need to post your sweet lab with Nexus in your blog

Reply
avatar
28 August 2016 at 11:28 delete

I don't understand what you mean...

Reply
avatar
28 August 2016 at 11:30 delete

you are in the wrong folder, try /opt/qemu/bin/qemu-img

Reply
avatar
29 August 2016 at 12:43 delete

just google it @abdulfattah, nexus iso has copyright, you will never get it here...

Reply
avatar