NVIDIA Cumulus Linux Test Drive - Lab Guide For Attendees - July 2020 PDF
NVIDIA Cumulus Linux Test Drive - Lab Guide For Attendees - July 2020 PDF
NVIDIA Cumulus Linux Virtual Test Drive
Built for Cumulus Linux v3.7.12
NVIDIA Cumulus Linux Test Drive: Lab Guide
Appendix A: How to use an SSH client to manually connect to the to the lab 20
cumulusnetworks.com 2
NVIDIA Cumulus Linux Test Drive: Lab Guide
Lab 1: Verifying Lab Connectivity and License Installation
Objective:
You will confirm that you can access your Cumulus In the Cloud (CITC) workbench topology. This involves first visiting your Cumulus In The Cloud (CITC) workbench in a web
browser. You will connect to your Lab workbench via SSH to an out-of-band management server (oob-mgmt-server), from which you can access your switches. Then, we’ll
install a Cumulus Linux license as you would on a real (non-virtual switch).
Goals:
● Learn how to access your CITC workbench in a web browser
● Log into your oob-mgmt-server.
● From your oob-mgmt-server, access your switches via SSH.
● Install and apply a Cumulus Linux License
Procedure:
To access your lab you will need to be registered with cumulusnetworks.com. You must have an account with cumulusnetworks.com that is bound to
the email address used for your test drive registration.
Access your CITC workbench
1. Use a web browser to access and log into https://air.cumulusnetworks.com
2. Once at the Cumulus In the Cloud console, find your Cumulus Linux Test Drive simulation
cumulusnetworks.com 3
NVIDIA Cumulus Linux Test Drive: Lab Guide
3. Click the “Launch” button to open your simulation console
cumulusnetworks.com 4
NVIDIA Cumulus Linux Test Drive: Lab Guide
Connect to your oob-mgmt-server
1. Find and click the “Advanced” button in the lower left of the simulation console:
2. The Advanced view presents you with your console connection to the oob-mgmt-server. Click on the pop-out icon to pop out your
oob-mgmt-server console to allow you to resize and position for your convenience.
cumulusnetworks.com 5
NVIDIA Cumulus Linux Test Drive: Lab Guide
3. You can also click on any of the nodes in the “Nodes” list to pop out a console window to that device.
Run the setup playbook
4. Change directories to the folder named “Test-Drive-Automation” from the user cumulus home directory.
cumulus@oob-mgmt-server:~$ cd Test-Drive-Automation
cumulus@oob-mgmt-server:~/Test-Drive-Automation$
5. Perform a ‘git pull’ to sync/fetch changes
cumulus@oob-mgmt-server:~/Test-Drive-Automation$ git pull
Already up-to-date.
cumulus@oob-mgmt-server:~/Test-Drive-Automation$
6. Run the ‘start-lab.yml’ Ansible playbook.
cumulus@oob-mgmt-server:~/Test-Drive-Automation$ ansible-playbook start-lab.yml
PLAY [all]
*********************************************************************************************************************************
******************
TASK [Restart NTP]
*********************************************************************************************************************************
**********
changed: [leaf01]
changed: [spine01]
changed: [leaf02]
changed: [server02]
changed: [server01]
changed: [netq-ts]
TASK [Restart NetQ Agent]
*********************************************************************************************************************************
***
changed: [leaf01]
changed: [spine01]
changed: [leaf02]
changed: [server01]
changed: [server02]
changed: [netq-ts]
PLAY [host]
*********************************************************************************************************************************
*****************
TASK [Setting up the test hosts config]
**********************************************************************************************************************
cumulusnetworks.com 6
NVIDIA Cumulus Linux Test Drive: Lab Guide
changed: [server02]
changed: [server01]
RUNNING HANDLER [apply interface config]
*********************************************************************************************************************
changed: [server02]
changed: [server01]
PLAY RECAP
*********************************************************************************************************************************
******************
leaf01 : ok=2 changed=2 unreachable=0 failed=0
leaf02 : ok=2 changed=2 unreachable=0 failed=0
netq-ts : ok=2 changed=2 unreachable=0 failed=0
server01 : ok=4 c hanged=4 unreachable=0 failed=0
server02 : ok=4 c hanged=4 unreachable=0 failed=0
spine01 : ok=2 changed=2 unreachable=0 failed=0
cumulus@oob-mgmt-server:~/Test-Drive-Automation$
Apply a Cumulus Linux License
7. On oob-mgmt-server: SSH to Leaf01.
cumulus@oob-mgmt-server:~$ ssh leaf01
Warning: Permanently added 'leaf01,192.168.200.11' (ECDSA) to the list of known hosts.
Welcome to Cumulus VX (TM)
Cumulus VX (TM) is a community supported virtual appliance designed for
experiencing, testing and prototyping Cumulus Networks' latest technology.
For any questions or technical support, visit our community site at:
http://community.cumulusnetworks.com
The registered trademark Linux (R) is used pursuant to a sublicense from LMI,
the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide
basis.
cumulus@leaf01:~$
8. On leaf01: View the license on the oob-mgmt-server by downloading and displaying the license with the curl command. Then apply the license
using cl-license. Lastly, view where the license is installed to on disk after the license is installed. Note: this process is not actually required
in Vx but is performed for parity with real hardware.
cumulus@leaf01:~$ curl http://192.168.200.1/license.lic
this is a fake license
cumulus@leaf01:~$ sudo cl-license -i http://192.168.200.1/license.lic
--2017-09-25 16:21:57-- http://192.168.200.1/license.lic
Connecting to 192.168.200.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31
Saving to: ‘/tmp/lic.mvCHDM’
/tmp/lic.mvCHDM 100%[=====================>] 31 --.-KB/s in 0s
2017-09-25 16:21:57 (4.61 MB/s) - ‘/tmp/lic.mvCHDM’ saved [31/31]
License file installed.
cumulus@leaf01:~$ cat /etc/cumulus/.license
this is a fake license
cumulus@leaf01:~$
9. On leaf01: Restart switchd to apply the license. Check the status of switchd to make sure it is running.
cumulus@leaf01:~$ s udo systemctl restart switchd.service
cumulus@leaf01:~$ s udo systemctl status switchd.service
● switchd.service - Cumulus Linux Switch Daemon
Loaded: loaded (/lib/systemd/system/switchd.service; enabled)
Drop-In: /etc/systemd/system/switchd.service.d
└─override.conf
Active: active (running) since Mon 2017-09-25 16:22:30 UTC; 10s ago
Process: 2553 ExecStopPost=/bin/sh -c /usr/bin/killall -q -s 36 clagd || exit 0 (code=exited,
status=0/SUCCESS)
Main PID: 2577 (switchd)
CGroup: /system.slice/switchd.service
└─2577 /usr/sbin/switchd -vx
Sep 25 16:22:30 leaf01 switchd[2577]: Initializing Cumulus Networks switch ...hd
Sep 25 16:22:30 leaf01 switchd[2577]: switchd.c:1707 switchd version 1.0-cl3u17
Sep 25 16:22:30 leaf01 switchd[2577]: switchd.c:1708 switchd cmdline: -vx
cumulusnetworks.com 7
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 8
NVIDIA Cumulus Linux Test Drive: Lab Guide
Lab 2: Interface Configuration
Objective:
This lab will configure several types of interfaces. First, a bond will be configured between leaf01 and leaf02. The bond will be configured as a trunk to pass vlan10 and
vlan20. Connections between leafs and servers will be configured as access ports. Server01 and Server02 will be in different subnets, so leaf01 and leaf02 will be configured
to route for each vlan using VRR to provide high availability gateways for each vlan.
By the end of this lab, we’ll have the following topology implemented:
Dependencies on other Labs:
● None
Goals:
● Configure loopback addresses for leaf01 and leaf02
● Configure a bond between leaf01 and leaf02
● Configure a bridge
● Create a trunk port and access port
● Configure SVIs on leaf01 and leaf02
● Configure VRR addresses on leaf01 and leaf02
Procedure:
Configure loopback addresses on leaf01 and leaf02
cumulusnetworks.com 9
NVIDIA Cumulus Linux Test Drive: Lab Guide
4. On leaf02: Check that the address has been applied.
cumulus@leaf02:~$ net show interface lo
Name MAC Speed MTU Mode
-- ---- ----------------- ----- ----- --------
UP lo 00:00:00:00:00:00 N/A 65536 Loopback
IP Details
------------------------- ---------------
IP: 127.0.0.1/8
IP: 10.255.255.2/32
IP: ::1/128
IP Neighbor(ARP) Entries: 0
Important things to observe:
● Loopback has user-defined IP address as well as home address assigned to it
● Loopback has a predefined default configuration on Cumulus Linux. Make sure not to delete it.
Configure bond between leaf01 and leaf02
cumulusnetworks.com 10
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 11
NVIDIA Cumulus Linux Test Drive: Lab Guide
● Trunk ports are multiple lines with each VLAN associated with the trunk listed
On leaf01: On leaf02:
● swp1 should be an access port in vlan 10 ● swp2 should be an access port in vlan 20
● BOND0 should be a trunk for vlan10 and vlan20, with a native ● BOND0 should be a trunk for vlan10 and vlan20, with a native
vlan of 1 (PVID) vlan of 1 (PVID)
Configure SVI and VRR on leaf01 and leaf02
cumulusnetworks.com 12
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 13
NVIDIA Cumulus Linux Test Drive: Lab Guide
26. On server01 and server02: Ping to verify connectivity between server01 and server02.
cumulus@server01:~$ ping 10.0.20.102
PING 10.0.20.102 (10.0.20.102) 56(84) bytes of data.
64 bytes from 10.0.20.102: icmp_seq=1 ttl=63 time=0.790 ms
64 bytes from 10.0.20.102: icmp_seq=2 ttl=63 time=1.35 ms
^C
--- 10.0.20.102 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.790/1.070/1.351/0.282 ms
cumulus@server02:~$ ping 10.0.10.101
PING 10.0.10.101 (10.0.10.101) 56(84) bytes of data.
64 bytes from 10.0.10.101: icmp_seq=1 ttl=63 time=1.08 ms
64 bytes from 10.0.10.101: icmp_seq=2 ttl=63 time=1.36 ms
^C
--- 10.0.10.101 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.089/1.225/1.361/0.136 ms
27. On server01 and server02: traceroute to server02.
cumulus@server01:~$ traceroute 10.0.20.102
traceroute to 10.0.20.102 (10.0.20.102), 30 hops max, 60 byte packets
1 10.0.10.1 (10.0.10.1) 1.628 ms 1.672 ms 1.855 ms
2 10.0.20.102 (10.0.20.102) 7.947 ms 7.973 ms 8.155 ms
cumulus@server01:~$
cumulus@server02:~$ traceroute 10.0.10.101
traceroute to 10.0.10.101 (10.0.10.101), 30 hops max, 60 byte packets
1 10.0.20.1 (10.0.20.1) 2.813 ms 2.776 ms 3.307 ms
2 10.0.10.101 (10.0.10.101) 9.199 ms 7.836 ms 7.766 ms
cumulus@server02:~$
Verify MAC address table on leaf01 and leaf02
28. On leaf01 and leaf02 : Check to verify that the MAC addresses are learned correctly.
cumulus@leaf01:~$ net show bridge macs
VLAN Master Interface MAC TunnelDest State Flags LastSeen
-------- ------ --------- ----------------- ---------- --------- ----- --------
1 bridge BOND0 44:38:39:00:02:49 00:00:04
1 bridge BOND0 44:38:39:00:02:50 00:00:04
10 bridge BOND0 44:38:39:00:02:49 00:00:16
10 bridge bridge 00:00:00:00:1a:10 permanent 00:07:11
10 bridge bridge 44:38:39:00:01:49 permanent 00:07:11
10 bridge swp1 44:38:39:00:08:01 00:00:08
20 bridge BOND0 44:38:39:00:02:49 00:00:05
20 bridge BOND0 44:38:39:00:09:02 00:00:47
20 bridge bridge 00:00:00:00:1a:20 permanent 00:07:11
20 bridge bridge 44:38:39:00:01:49 permanent 00:07:11
<output truncated for brevity>
cumulus@leaf02:~$ net show bridge macs
VLAN Master Interface MAC TunnelDest State Flags LastSeen
-------- ------ --------- ----------------- ---------- --------- ----- --------
1 bridge BOND0 44:38:39:00:01:49 00:00:01
1 bridge BOND0 44:38:39:00:01:50 00:00:08
10 bridge BOND0 44:38:39:00:01:49 00:01:05
10 bridge BOND0 44:38:39:00:08:01 00:00:22
10 bridge bridge 00:00:00:00:1a:10 permanent 00:09:36
10 bridge bridge 44:38:39:00:02:49 permanent 00:09:36
20 bridge BOND0 44:38:39:00:01:49 00:02:49
20 bridge bridge 00:00:00:00:1a:20 permanent 00:09:36
20 bridge bridge 44:38:39:00:02:49 permanent 00:09:36
20 bridge swp2 44:38:39:00:09:02 00:00:03
<output truncated for brevity>
cumulusnetworks.com 14
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 15
NVIDIA Cumulus Linux Test Drive: Lab Guide
Lab 3: BGP Unnumbered
Objective:
This lab will configure BGP unnumbered between the leaf01/leaf02 to spine01. This configuration will share the ip addresses of the loopback interfaces on each device as
well as the vlan10 and vlan20 subnets on the leaf01 and leaf02 devices.
Dependencies on other Labs:
● None. Running Lab3.yml playbook configures all prerequisites.
Goals:
● Configure BGP unnumbered on spine01
● Configure BGP unnumbered on leaf01/leaf02
● Advertise loopback addresses into BGP
● Advertise SVI subnets of leafs into BGP
● Verify BGP peering
● Verify BGP route advertisements
● Verify routed connectivity and path between servers
Procedure:
Run Lab3 setup playbook
1. On oob-mgmt-server: Run the playbook named ‘lab3.yml’. Even if you fully completed Lab2, you must run this playbook.
cumulus@oob-mgmt-server:~/Test-Drive-Automation$ ansible-playbook lab3.yml
Apply loopback address to spine01
Loopback Configuration
cumulusnetworks.com 16
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulus@spine01:~$ n
et add bgp neighbor swp1 interface remote-as external
cumulus@spine01:~$ n et add bgp neighbor swp2 interface remote-as external
5. On spine01: Commit the changes.
cumulus@spine01:~$ net commit
6. On leaf01: Repeat steps 2-5.
cumulus@leaf01:~$ net add bgp autonomous-system 65101
cumulus@leaf01:~$ net add bgp bestpath as-path multipath-relax
cumulus@leaf01:~$ net add bgp neighbor swp51 interface remote-as external
cumulus@leaf01:~$ net commit
For copy/paste convenience:
net add bgp autonomous-system 65101
net add bgp bestpath as-path multipath-relax
net add bgp neighbor swp51 interface remote-as external
net commit
7. On leaf02: Repeat steps 2-5.
cumulus@leaf02:~$ net add bgp autonomous-system 65102
cumulus@leaf02:~$ net add bgp bestpath as-path multipath-relax
cumulus@leaf02:~$ net add bgp neighbor swp51 interface remote-as external
cumulus@leaf02:~$ net commit
For copy/paste convenience:
net add bgp autonomous-system 65102
net add bgp bestpath as-path multipath-relax
net add bgp neighbor swp51 interface remote-as external
net commit
Verify BGP connectivity between fabric nodes
8. On spine01: Verify BGP peering between spine and leafs.
cumulus@spine01:~$ net show bgp summary
show bgp ipv4 unicast summary
=============================
BGP router identifier 10.255.255.101, local AS number 65201 vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 2, using 39 KiB of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
leaf01(swp1) 4 65101 26 27 0 0 0 00:01:09 0
leaf02(swp2) 4 65102 15 16 0 0 0 00:00:38 0
Total number of neighbors 2
show bgp ipv6 unicast summary
=============================
% No BGP neighbors found
show bgp l2vpn evpn summary
===========================
% No BGP neighbors found
9. On leaf01: Verify BGP peering between leafs and spine
cumulus@leaf01:~$ net show bgp summary
show bgp ipv4 unicast summary
=============================
BGP router identifier 10.255.255.1, local AS number 65101 vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
spine01(swp51) 4 65201 13 15 0 0 0 00:00:35 0
cumulusnetworks.com 17
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 18
NVIDIA Cumulus Linux Test Drive: Lab Guide
cumulusnetworks.com 19
NVIDIA Cumulus Linux Test Drive: Lab Guide
Appendix A: How to use an SSH client to manually connect to the to the lab
First, click the “add service” button under the Services window to expose the SSH service on the oob-mgmt-server to the Internet.
Note: It takes about 5 minutes for background processing to occur before the SSH service is fully opened.
Next, click on the hyperlink for the SSH service. If your web browser is configured with an application to handle SSH URLs, then clicking on the link
from your browser will automatically launch the application to handle the SSH connection and connect with the correct username, IP address, and
port number.
If your browser is unable to handle the SSH URL or, follow the steps below to manually connect via SSH:
Manual SSH Connection Details
Username cumulus
Password CumulusLinux!
Note: This SSH connection does not use the default destination TCP port 22. Ensure that the external port is specified in your SSH client.
Note: Usernames and passwords are case sensitive
To connect via SSH manually, you must have an SSH client installed.
● Windows users: Download PuTTY from https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
● Mac users: Use the Terminal application.
● Linux users: Open a Bash shell.
Linux/Mac OS example:
user@laptop$ ssh [email protected] -p 15954
The authenticity of host '[air.cumulusnetworks.com]:15954 ([139.178.69.119]:15954)' can't be established.
ECDSA key fingerprint is SHA256:Cl/v7P3VmbLhlWlA/6uhJps3Um1hcQkX4dSKAb4Pwmc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[air.cumulusnetworks.com]:15954,[139.178.69.119]:15954' (ECDSA) to the list of known hosts.
[email protected]'s password:
_
_______ x x x | |
._ <_______~ x X x ___ _ _ _ __ ___ _ _| |_ _ ___
(' \ ,' || `, / __| | | | '_ ` _ \| | | | | | | / __|
`._:^ || :> | (__| |_| | | | | | | |_| | | |_| \__ \
^T~~~~~~T' \___|\__,_|_| |_| |_|\__,_|_|\__,_|___/
~" ~"
############################################################################
#
# Out Of Band Management Station
#
############################################################################
Last login: Fri Mar 6 19:35:14 2020
cumulus@oob-mgmt-server:~$
Windows using PuTTY example:
cumulusnetworks.com 20
NVIDIA Cumulus Linux Test Drive: Lab Guide
After clicking “Open”, provide the username “cumulus” and password “CumulusLinux!”
You now have an SSH session to your workbench, and you will be at the BASH prompt on the oob-mgmt-server.
cumulusnetworks.com 21