LCU14 404 - LAVA & VLANS - Complex Networks On Demand

Post on 18-Nov-2014

193 views 0 download

description

LCU14 404 - LAVA & VLANS - Complex Networks On Demand --------------------------------------------------- Speaker: D. Pigott, M. Hart, S. McIntyre & N. Williams Date: September 18, 2014 --------------------------------------------------- ★ Resources ★ Zerista: http://lcu14.zerista.com/event/member/137772 Google Event: https://plus.google.com/u/0/events/c7h3j8426l3uu883ulbg7ohhdsk Video: https://www.youtube.com/watch?v=Qb_NwuDFAyA&list=UUIVqQKxCyQLJS6xvSmfndLA Etherpad: http://pad.linaro.org/p/lcu14-404 --------------------------------------------------- ★ Event Details ★ Linaro Connect USA - #LCU14 September 15-19th, 2014 Hyatt Regency San Francisco Airport --------------------------------------------------- http://www.linaro.org http://connect.linaro.org

Transcript of LCU14 404 - LAVA & VLANS - Complex Networks On Demand

LCU14 BURLINGAME

D. Pigott, M. Hart, S. McIntyre & N. Williams, LCU14

LCU14-404: LAVA & VLANS - complex networks on demand

• History and Background• Real World Problems in the Lab• VLANs and the VLAN daemon• LAVA integration• Wrap up and Questions

Agenda

• LinaroAutomated Validation Architecture

• LAVA Lab started out with a handful of boards

o One rack, one server,a handful of boards and one switch

A brief history of LAVA and the LAVA Lab

Slide

• Todayo 10 racks, 12 dispatcherso 150+ ARM deviceso 3 Fast Model serverso QEMU, KVM...

• Multi-node comes alongo Multiple devices in one testo Increasing need to talk over

LAN with each other

The Lab starts growing

• LNG Rack turns upo On LAVA Network, but also their own private networko Cabling needs to be re-done almost on a test by test basis

Problem 1: Network Reconfiguration

This doesn’t scale any more!

• Some boards have USB ethernet, sharing MAC addresses on all interfaces

• Some boards share the same MAC address• We have to keep these separated, or bad stuff happens

Problem 2: “Broken” devices

Private switch

Lab network

• What is a VLAN?• VLAN daemon

o Some single-vendor proprietary options?o If it was easy, we’d be doing “apt-get install vland”o Eventually we will be!o Our automated cable monkey!

The solution: VLAN daemon

• Each physical port is connected to one VLAN• Ingress switch adds extra tags to each packet on input• Packets routed using VLAN tags• Egress switch removes the tags from packets on output

Port-based VLANs

Dispatcher server

“Broken” devices

Private switch

Lab network

“Broken” devices - after vland

Lab network

base vlan base vlan

• CreateVLAN (VLAN_name, switch/port, [switch/port, …])• DestroyVLAN (VLAN_name)• ShowBaseVLAN (switch/port)• SetBaseVLAN (VLAN_name, switch/port)• ListVLANbyName (string)• ListVLANbyConnection (switch [,port])

JSON API

• Admin interface to define network setup• Tell the database where the trunks, PDUs and servers are• “Protected” ports

• Sanity checks by the daemon• Does the switch setup match what we asked for?• Has anybody “unplugged” a switch?• Has a switch or PDU failed?

• Simple command line for admin

Admin

{ "role": "filter_one", "device_type": "keystone2", "interfaces": [ { "vlan": "input", "tags": [ "10G" ] }, { "vlan": "output", "tags": [ "1G" ] } ] }

LAVA Integration - VLAN multi-node syntax

• Set up and tear down ad-hoc port-based VLANs• Support “broken” devices• JSON API for LAVA (and other services)• Admin interface to define network setup• Protect “special” ports• Command line for admin• Sanity checks by the daemon• Support the Cisco switches we use in the lab

Targeted VLANd capabilities

• Drivers written for 2 models of switch• sX300 series• Catalyst 3750

• Simple test harness• Database next• Higher-level logic• Configuration & API

Current status / TODO

• KVM VLANs• Access control• Reset API• Transactional interface• Cross-site VLANs• Support for more switches - CLI/SNMP/Web UI?

Futures

Get Involved!

git://git.linaro.org/lava/vland.git

Code is GPL v2+

code

Questions?

More about Linaro Connect: connect.linaro.org Linaro members: www.linaro.org/membersMore about Linaro: www.linaro.org/about/