Wicked Trip into Wicked Network Management



Similar documents
Wicked A Network Manager Olaf Kirch

Challenges Implementing a Generic Backup-Restore API for Linux

Advanced Systems Management with Machinery

Running SAP HANA One on SoftLayer Bare Metal with SUSE Linux Enterprise Server CAS19256

Using SUSE Linux Enterprise to "Focus In" on Retail Optical Sales

Configuration Management in SUSE Manager 3

Relax-and-Recover. Johannes Meixner. on SUSE Linux Enterprise 12.

We are watching SUSE

Build Platform as a Service (PaaS) with SUSE Studio, WSO2 Middleware, and EC2 Chris Haddad

TUT5605: Deploying an elastic Hadoop cluster Alejandro Bonilla

SUSE Linux uutuudet - kuulumiset SUSECon:sta

Implementing Linux Authentication and Authorisation Using SSSD

Using btrfs Snapshots for Full System Rollback

SUSE Linux Enterprise 12 Security Certifications Common Criteria, EAL, FIPS, PCI DSS,... What's All This About?

SUSE Storage. FUT7537 Software Defined Storage Introduction and Roadmap: Getting your tentacles around data growth. Larry Morris

Installing, Tuning, and Deploying Oracle Database on SUSE Linux Enterprise Server 12 Technical Introduction

Networking with Wicked in SUSE Linux Enterprise 12. Something Wicked This Way Comes. Guide. Solution Guide Server.

Ceph Distributed Storage for the Cloud An update of enterprise use-cases at BMW

SUSE Customer Center Roadmap

How To Make A Cloud Work For You

Securing Your System: Security Hardening Techniques for SUSE Linux Enterprise Server

kgraft Live patching of the Linux kernel

HO15982 Deploy OpenStack. The SUSE OpenStack Cloud Experience. Alejandro Bonilla. Michael Echavarria. Cameron Seader. Sales Engineer

Operating System Security Hardening for SAP HANA

Deploying Hadoop with Manager

Data Center Automation with SUSE Manager Federal Deployment Agency Bundesagentur für Arbeit Data Center Automation Project

SUSE Linux Enterprise 12 Security Certifications

Workflow und Identity Management - Genehmigungsprozesse, Role Mining, Role Design und Compliance Management

How SUSE Is Helping You Rock The Public Cloud

Big Data, SAP HANA. SUSE Linux Enterprise Server for SAP Applications. Kim Aaltonen

DevOps and SUSE From check-in to deployment

Public Cloud. Build, Use, Manage. Robert Schweikert. Public Cloud Architect

High Availability and Disaster Recovery for SAP HANA with SUSE Linux Enterprise Server for SAP Applications

How an Open Source Cloud Will Help Keep Your Cloud Strategy Options Open

High Availability Storage

CAS18543 Migration from a Windows Environment to a SUSE Linux Enterprise based Infrastructure Liberty Christian School

Oracle Products on SUSE Linux Enterprise Server 11

SUSE Enterprise Storage Highly Scalable Software Defined Storage. Gábor Nyers Sales

Current & Future Features of SUSE Linux Enterprise Server for System z

Open Source High Availability Writing Resource Agents for your own services. Lars Marowsky-Brée Team Lead SUSE Labs

SUSE Cloud 5 Private Cloud based on OpenStack

Novell Collaboration Vibe OnPrem

Using SUSE Cloud to Orchestrate Multiple Hypervisors and Storage at ADP

Leveraging Wikis to Manage SCP Documentation TWiki Novell Technical Services

HO5604 Deploying MongoDB. A Scalable, Distributed Database with SUSE Cloud. Alejandro Bonilla. Sales Engineer abonilla@suse.com

SUSE OpenStack Cloud 4 Private Cloud Platform based on OpenStack. Gábor Nyers Sales gnyers@suse.com

TUT8155 Best Practices: Linux High Availability with VMware Virtual Machines

Software Defined Everything

Btrfs and Rollback How It Works and How to Avoid Pitfalls

Linux w chmurze publicznej SUSE na platformie Microsoft Azure

Of Pets and Cattle and Hearts

File Management Suite. Novell. Intelligently Manage File Storage for Maximum Business Benefit. Sophia Germanides

Kangaroot SUSE TechUpdate Interoperability SUSE Linux Enterprise and Windows

Introducing Director 11

SUSE Virtualization Technologies Roadmap

Novell Identity Manager Resource Kit

Apache LDAP Configuration

SUSE Linux Enterprise Desktop

Configuring Oracle SDN Virtual Network Services on Netra Modular System ORACLE WHITE PAPER SEPTEMBER 2015

NIST ITL July 2012 CA Compromise

Networking. Systems Design and. Development. CRC Press. Taylor & Francis Croup. Boca Raton London New York. CRC Press is an imprint of the

Based on Geo Clustering for SUSE Linux Enterprise Server High Availability Extension

Basic IPv6 WAN and LAN Configuration

KVM, OpenStack and the Open Cloud SUSECon November 2015

1.1 SIP - No call possible

What is VLAN Routing?

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Securing Your System: Security Hardening Techniques for SUSE Linux Enterprise Server 12

Seamless Roaming in a Remote Access VPN Environment

Packet Filtering using the ADTRAN OS firewall has two fundamental parts:

StoneGate Installation Guide

SUSE Virtualization Technologies Roadmap

SonicWALL DHCP Server Enhancements in SonicOS Enhanced 4.0

ZYPP common package and patch management for SUSE Linux. Duncan Mac-Vicar P. Software Engineer, YaST

Datasheet. Advanced Network Routers. Models: ERPro-8, ER-8, ERPoe-5, ERLite-3. Sophisticated Routing Features

WAN Failover Scenarios Using Digi Wireless WAN Routers

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

Open Enterprise Server Product Roadmap Presentation

Developing Network Security Strategies

Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

SUSE Linux Enterprise Server 11 SP2 for UEFI Clients

From Idea to Working Deployment:

JOB READY ASSESSMENT BLUEPRINT COMPUTER NETWORKING FUNDAMENTALS - PILOT. Test Code: 4514 Version: 01

Innominate mguard Version 6

Nokia E61i Configuring connection settings

Getting started with IPv6 on Linux

Novell Remote Manager Administration Guide

GWA501 package contains: 1 Wireless-G Broadband Gateway 1 Power Adapter 1 Ethernet Cable 1 Manual CD 1 Quick Start Guide 1 Warranty/Registration Card

Transcription:

Wicked Trip into Wicked Network Management Matthias G. Eckermann Senior Product Manager mge@suse.com LinuxCon 2013 NA 2013-09-12 15:40 UTC

Some Words of Encouragement There is a theory which states, that if ever anybody discovers exactly what the Universe is for and why it is there, it will instantly disappear and be replaced by something even more bizarre and inexplicable. There is another theory which states that this has already happened. Douglas Adams 2

Back in 1992, the world was flat Mail Usenet UUCP Expensive Modem 3

Five years later, we had IP networking Lots of Fancy User space stuff bootp Firewalling IPv4 IPX Ether SLIP PPP ISDN 4

In 2002, we got IPv6 Even more fancy User space stuff dhcp radvd mipv6d ipsec Firewalling IPv4 IPv6 Ether WLAN qeth bridge bond pppoe 5

2007: Mobility and Data Center diverge netfilter and bridge filtering Incredibly fancy User space stuff dhcp zeroconf radvd iscsi WPA IPv4 IPv6 Ether VLAN qeth WLAN bond pppoe bridge HAL various kludges umts 6

2012: The Universe changed again FCoE Discov. IB & OFED LLDP Converged Networks, Network Virtualization, Storage Networks,... udev netfilter and bridge filtering dhcp zeroconf radvd ibft WPA IPv4 IPv6 iscsi Ether VLAN qeth WLAN bond pppoe bridge 802.1x various kludges GSM WiMax 7

Wicked Trip into Wicked Network Management Matthias G. Eckermann Senior Product Manager mge@suse.com LinuxCon 2013 NA 2013-09-12 15:40 UTC

Agenda What we want to achieve About Wicked Wicked history Implementation decisions Compents Supporting Migration Object Model and Layering 9

What we want to achieve Goal Cope with increasingly complex configurations Target Audience Data Center and End Users Positioning Network configuration is a service Usability Make adoption as smooth as possible 10

What we want to achieve (cont.) Technical Attributes Architecture-independent Extensible Needs small footprint (initrd use) React flexibly to network changes Broadcast event notifications interface comes up, IP address assigned, routing changed 11

What we don't want to achieve Replacing NetworkManager completely World domination (aka locking users into a specific tool set) 12

Wicked history Started as a hack week project for network monitoring Morphed into try to do better than ifup Original design was based on a REST interface Worked, but Second Iteration moved to a dbus interface Much better, but a bit of a learning curve 13

Implementation Decisions Client / Server model DBus Service (provided by a daemon) Layered architecture providing separate DBus interfaces Structured configuration files XML for now Stateless (mostly) Extensible Server can be extended with scripts 14

Components wickedd, the server process wicked command line utility dhcp4, dhcp6 and other supplicants network-nanny (support interface hotplugging) Future: need help with writing a taskbar applet 15

Supporting Migration Existing Configuration files wicked client can read ifcfg files (both the green and the red flavours) Plan to provide ifup wrapper scripts Testing Conflict as little as possible with existing infrastructure Just drop in an test 16

Example Virtualization

Virtualization Host, Simple Case Mgmt br0 bond0 VM1 br10 vlan10 eth1 Switch VM2 br20 vlan20 Def Route eth0 Switch vlan30 18

Object Model and Layering

Wicked object model The central DBus objects are network interfaces /org/opensuse/network/interface/* Each object supports a set of DBus interfaces Unfortunately, we're overloading of the term interface a bit which is why we will refer to network devices subsequently Many DBus interfaces are generic, but some are specific to the device type Ethernet, loopback, VLAN virtual device, etc 20

Wicked object model, cont'd Network device object naming based on the kernel's interface index /org/opensuse/network/interface/<ifindex> pro: invariant against interface renames con: no object without existing device (you need factory functions to create virtual devices for VLANs, bridges, bonds) 21

Wicked object model, cont'd DBus interfaces are named org.opensuse.network.* Heavy use of polymorphism to simplify the code org.opensuse.network.<devicetype> for device-specific ones, like Ethernet, VLAN they all export a changedevice() method, taking a DBus dict as argument Generic interfaces supported by all network devices, such as org.opensuse.network.interface 22

Wicked object model, cont'd 1:1 correspondence between DBus interfaces and sections of a config file Simplifies the client side code significantly Simplifies extending the supported configuration options 23

Wicked object model, example Ethernet device DBus Interface org.opensuse.network.ethernet org.opensuse.network.firewall org.opensuse.network.interface...addrconf.ipv4.static...addrconf.ipv6.static...addrconf.ipv4.dhcp...addrconf.ipv6.dhcp DBus methods changedevice firewallup,firewalldown linkup,linkdown requestlease,droplease requestlease, droplease requestlease, droplease requestlease,droplease 24

Ethernet device configuration <interface> <name>eth0</name> <ethernet>... </ethernet> <link>...</link> <firewall>... </firewall> <ipv4:static> <address>...</address> <route>...</route> </ipv4:static> <ipv4:dhcp/> </interface> 25

Summary

Current Status Implemented Ethernet VLAN Bridging Bonding dhcp4 dhcp6 IPv4 zeroconf Static addressing In implementation Wireless (using wpa-supplicant) ibft Documentation needs improvements 27

Thanks Olaf Kirch Marius Tomaschewski 28

Try it http://software.opensuse.org/package/wicked Clone it https://github.com/opensuse/wicked Your Thank questions!? you. 29

Corporate Headquarters Maxfeldstrasse 5 90409 Nuremberg Germany +49 911 740 53 0 (Worldwide) www.suse.com Join us on: www.opensuse.org 30

Unpublished Work of SUSE. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.