Wicked is a network configuration infrastructure that incorporates existing frameworks into a unified architecture. It provides a DBUS interface for network configuration and aims to handle increasingly complex network configurations while conflicting as little as possible with existing infrastructure. Wicked supports functionality from openSUSE 12.2 and later, including configuring devices, addresses, bonding, bridging and more. It consists of the wickedd server, wicked client commands, and other components like dhcp and auto clients.
1. Wicked Network ManagementWicked Network Management
Ben Chou (bchou@suse.com)
Software Engineer @SUSE Corp.
openSUSE.Asia Summit in Beijing
2014.10.19
2. 2
Agenda
• Evolution : The overview of Network Bombs in these 20 years.
• What is wicked?
• When Configs get Interesting
• What/Why...Wicked What?
• What we WANT/DON'T WANT to achieve
• Network Method in openSUSE 12.2 and 13.2
• Wicked Component
• Network Service and Client Commands
• Debugging Options
• Study, Get, Test Wicked
• Build Test Package
• Current Status
10. 10
Wicked [ w k d] (adj.)ˋ ɪ ɪ
1. behaving in a way that is morally wrong [= evil]:
eg. the wicked stepmother in 'Hänsel und Gretel'
缺德的,邪恶的,坏的 ,恶劣的,讨厌的
2.(informal) behaving badly in a way that is amusing:
eg. Tara hasn't lost her wicked sense of humour.
顽皮的,淘气的, 恶作剧的
3.(spoken informal) very good:
eg. That's a wicked bike!
非常棒的,够牛逼的,高大上 ....etc.
11. 11
Wicked
• Group : System/Management
• License : GPL-2.0
• Vendor : SUSE / openSUSE
• Summary : Network configuration infrastructure
• Description :
Wicked is a network configuration infrastructure incorporating a
number of existing frameworks into a unified architecture,
providing a DBUS interface to network configuration.
12. 12
When Configs get Interesting ?
• For an ethernet device,
conveniently check things like routes,
addresses,link-speed...
and perhaps hardware offload settings?
• Configure a wireless connection with WPA auth and DHCP?
• Reconfigure a bonding device without bringing it down?
• Set up a bridge using two bonded NICs as one of its ports?
• Create a pair of virtual ethernet devices, assign themto differing
namespaces and configure?
14. 14
What We Want To Achieve
Goal
• Cope with increasingly complex configurations
• Conflict as little with existing infrastructure as possible
Target Audience
• Supporting both Data Center and End Users
Positioning
• Network configuration is a service
• Configuration Tools matching the pace of evolution
Usability
• Morphed into “try to do better than ifup”
• Make adoption as smooth as possible
15. 15
What We Want To Achieve
Technical Attributes
• Architecture-independent
• Extensible
• React flexibly to network changes
• Broadcast event notifications
- interface comes up, IP address assigned, routing changed
• Wicked client can read ifcfg files (both the green and the red
flavors)
16. 16
What We DON'T Want To Achieve
• Replacing NetworkManager completely ?!
• World Domination
(a.k.a. locking users into a specific tool set)
17. 17
Change can be Scary ??
• What's Changed?!
• For end-users – nothing really, so relax :D
• Sysconfig ifcfg-* style configuration
- In place for backward compatibility
- Converted to an internal format that is structured, extensible and more powerful
- “Internal format” to be exposed to administrators/users by SP1
• /sbin/{ifup,ifdown,ifstatus,ifprobe} scripts wrap wicked commands
• Wicked supports the same functionality as opensuse 12.x and
SUSE Linux Enterprise 11
• Invasive, yes ; Disruptive, no
22. 22
Wicked Component
• Wickedd, the server process
• Wicked, Client command line utility
• Wicked-nanny (support interface for hotplugging)
• dhcp4, dhcp6, auto4...etc , and other supplicants
• Future: need help with writing a taskbar applet
25. 25
Network Service (systemd)
Enable / Disable
• #systemctl enable wicked.service
- enables also wickedd*.service
- creates network.service alias link
• #systemctl disable wicked.service
- disables all wicked services, but DOES NOT stop them
• #systemctl show -p Id network.service
- Shows the currently enabled network service (wicked or NM)
29. 29
Client Commands
• #wicked ifup <ifname ...> | all
- applies configuration to nanny
• #wicked ifdown <ifname ...> | all
- stops configured interfaces
• #wicked ifreload <ifname ...> | all
- reloads the configuration (ifdown if config is removed)
• #wicked ifstatus <ifname ...> | all
- shows the interface configuration status
30. 30
Client Commands
• #wicked show-state (currently show-xml)
- dumps the state from wickedd
• #wicked show-config [source]
- shows configuration from all sources in xml format:
- compat:[suse:[/etc/sysconfig/network]]
- wicked:[xml:[/etc/wicked/ifconfig]]
35. 35
Can't wait for? Study and have a TEST! :)
Wicked Portal
• https://en.opensuse.org/Portal:Wicked
Try it
• http://software.opensuse.org/package/wicked
• https://build.opensuse.org/project/show/network:wicked:master/
Clone it
• https://github.com/openSUSE/wicked
36. 36
Issue reporting and developer contact
• Bugzilla
- Assign issues to: wicked-maintainers@suse.de
• External
- Mail: wicked-devel@opensuse.org
- IRC: #wicked on chat.freenode.net
37. 37
Reporting bugs
Please attach the following logs:
- set DEBUG=all in /etc/sysconfig/network/config
- systemctl restart wickedd
- wicked --debug all ifup all # systemctl restart wicked
- wicked ifstatus all > status.log
- wicked show-config > configs.log
- journalctl -b -o short-iso > wicked.log
- ip addr show > ip_addr.log
- ip route show > routes.log
- ip -6 route show >> routes.log
41. 41
What Wicked can do Today
• Device types:
Ethernet, VLAN, Bridging,
Bonding, Infiniband, tun, tap,
dummy, macvlan, macvtap,
hsi, qeth, iucv,
wireless (one wpa-psk/eap network)
• Address configuration: static, dhcp4, dhcp6, IPv4 zeroconf
• Hot-plugging
• Known issues - Nanny not used yet, wickedd forgets state on restart while
hotplugging
42. 42
What Wicked will do Tomorrow
• In implementation
• tunneling (sit, gre*, ip*ip* tunnels)
• Wireless (using wpa-supplicant)
• On the roadmap:
• Taskbar applet
• Documentation improvements
• pppoe (lower priority), ppp/UMTS [Server SP1]
• On the radar:
• Improve integration with openvswitch
• Network namespace awareness and virtual ethernet support
• Improve wireless support
46. 46
Thank You for Your Attention!! ^_^
Specially Thanks a lot the core Developer
Olaf Kirch (okir@suse.de)
Marius Tomaschewski (mt@suse.de)
Pawel Wieczorkiewicz
(pwieczorkiewicz@suse.com)
Karol Mroz (kmroz@suse.com)