Skip to content

automateyournetwork/merlin3d

Repository files navigation

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

About

A Blender based on Network State Data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published