Merlin3D for Cisco DevNet Sandbox Nexus 9000

published

Merlin3D Logo

Featuring

pyATS 3d Logo

Blender Logo

For Videos Please check the Merlin 3D Playlist on YouTube

YouTube Channel

For the main Merlin project and what Merlin does please visit:

Merlin - Network Magic

You can now run Merlin against a Nexus 9000 in the Cisco DevNet Sandbox. We have included a custom script and pre-configured testbed file for this purpose.

To get started, sign up for a Cisco DevNet account at: DevNet Sandbox

Once you are signed in, search for "Nexus" in the search dialog at the top left of the screen.

DevNet Search

Select one of the reserved instances - We recommend using the instance running the latest version of NXOS.

DevNet Reserve

Click "Reserve" after reviewing the reservation details.

DevNet Reserve

You will receive an email from Cisco confirming the reservation along with links to download the Cisco AnyConnect VPN Client and instructions for its installation.

Cisco AnyConnect VPN Client:

AnyConnect VPN Client

Installation guide for Cisco AnyConnect VPN Client:

AnyConnect PDF

Click the "VPN Access" tab in the DevNet console and review the information in it.

DevNet VPN Access

Note: If this is your first time using the Cisco DevNet Sandbox, make sure to review the information in each of the tabs.

In about 15 to 20 minutes, you should receive another email from Cisco with the VPN credentials for your sandbox, including:

  • VPN address and port for the connection
  • VPN username
  • VPN password

Connect to the DevNet Sandbox VPN using the Cisco AnyConnect VPN Client

AnyConnect

Once connected, you will have direct network access to the Nexus 9000 in DevNet.

The "NXOS on Nexus 9k" tab in the DevNet console will show you the details you need to connect to the device, however we have already added this information to the testbed/testbed_DevNet_Nexus9k_Sandbox.yaml file.

You can confirm it to be sure.

AnyConnect

You're now ready to run Merlin against the DevNet Nexus 9000!

  • To transform at least 16 common commands run the following pyATS job as a Docker Container:

WSL2, Ubuntu, and Docker Desktop

  1. Follow these instructions

Docker Desktop using WSL2

Docker with WSL2 Backend

Docker Desktop using WSL2

  1. After you have WSL2, Ubuntu, and Docker Desktop installed you can proceed with cloning the repository
git clone https://github.com/automateyournetwork/merlin3d.git
  1. Install Blender

Download Blender

  1. Download and Install Animation Nodes for Blender

Download Animation Nodes

  1. Launch Blender and Install Animation Nodes

Blender Preferences

Blender Preferences

Examples:

Management Input / Output Rates

  1. Open the Blender File

Open Blender

Browse to Mgmt0_IO.blend

  1. Connect the VPN to DevNet if you have not already done so

  2. Ensure Docker Desktop is running

  3. In WSL Ubuntu docker-compose up Mgmt0_IO_Graphs

cd merlin3d

~/merlin3d/docker-compose up Mgmt0_IO_Graphs

This will run Merlin in a loop 50 times by default

  1. First ensure you are in Render View (click 1)

  2. Next make sure you execute the Python Code (click 2)

  3. Finally, start your Animation in Blender (click 3)

Start Animation

Start Animation

You can send PINGs to 10.10.20.254 on the CLI of the device to make the counters change

ping 10.10.20.254 vrf management packet-size {{ size packets you want to send }} count {{ number of pings }}

Show IP Interface Brief - 3D !

  1. Open the Blender File

Open Blender

Browse to ip_int_brief.blend

  1. Connect the VPN to DevNet if you have not already done so

  2. Ensure Docker Desktop is running

  3. In WSL Ubuntu docker-compose up Mgmt0_IO_Graphs

cd merlin3d

~/merlin3d/docker-compose up IP_Interface_Brief

This will run Merlin in a loop 50 times by default

  1. View the Blender

Show IP Interface Brief

You can add, change, or remove interfaces, re-run the Docker to refresh the 3D version!

Cisco Product Security Incident Response Team (PSIRT) 3D Report !

  1. Open the Blender File

Open Blender

PSIRT.blend

  1. Ensure Docker Desktop is running

  2. In WSL Ubuntu docker-compose up PSIRT

cd merlin3d

~/merlin3d/docker-compose up PSIRT

  1. View the Blender

Show IP Interface Brief

You can add, change, or remove the PSIRT JSON from the REST API, re-run the Docker to refresh the 3D version of your PSIRT IOS Version Report!

Back to the main project

Use Case

Merlin 3D: A New Dimension of Network Magic

This submission provides network engineers the ability to transform pyATS data into the 3D World of Blender

Related Sandbox

Related DevNet Sandbox: Open NX-OS with Nexus 9k

https://github.com/automateyournetwork/merlin

https://github.com/automateyournetwork/merlin_docker_nexus

https://github.com/automateyournetwork/merlin_kubernetes

Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.