lcu14 404 - lava & vlans - complex networks on demand

20
LCU14 BURLINGAME D. Pigott, M. Hart, S. McIntyre & N. Williams, LCU14 LCU14-404: LAVA & VLANS - complex networks on demand

Upload: linaro

Post on 18-Nov-2014

193 views

Category:

Software


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

Page 1: 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

Page 2: 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

Page 3: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 4: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 5: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 6: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

This doesn’t scale any more!

Page 7: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 8: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 9: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 10: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

“Broken” devices

Private switch

Lab network

Page 11: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

“Broken” devices - after vland

Lab network

base vlan base vlan

Page 12: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 13: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 14: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

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

LAVA Integration - VLAN multi-node syntax

Page 15: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

• 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

Page 16: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

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

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

Current status / TODO

Page 17: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

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

Futures

Page 18: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

Get Involved!

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

Code is GPL v2+

code

Page 19: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

Questions?

Page 20: LCU14 404 - LAVA & VLANS - Complex Networks On Demand

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