2. Agenda
• Motivations
• Technical challenges
• Platform quirks
• Community developments
• Test Kitchen support
• Resources / Questions
3. Motivations behind the Chef Client port to AIX
• Many legacy deployments that
work fine – 1000’s of LPARs
not uncommon
• Automate & avoid drift – stop
using SMIT/manual
operations
• Abstract OS for easier porting
to other OSes (primarily
Linux)
4. Technical Challenges
• Low/no familiarity with platform,
hardware architecture, setup
• XLC - proprietary compiler
• Can’t depend on GNU-isms – bootstrap
systems from scratch
• No real package manager
• Two init systems
• Virtualization features are sometimes
cool, sometimes not
5. Platform quirks and specific features
• All core Chef resources work out of the box on AIX
• Special resources in core:
bff_package
service – need to specify whether Init or SRC, and some actions don’t work
• More specific AIX resources in aix library cookbook:
Manage inittab
Manage rc.tcpip services
Manage inted.conf services
Change device attributes
Change network tunables
And more…
6. Community Developments
• Contributed many custom resources to aix cookbook
• Overhauled Ohai data in AIX
• Blog posts about how to patch AIX systems using Chef
7. Knife and Test Kitchen support
• All internal projects at Chef for now
knife-lpar
kitchen-lpar
knife-wpar
kitchen-wpar
• Come see me if interested in working on the latter two
• Demo
8. Future work
• Q1
Other POWER platform support – BE and LE Linux (Ubuntu and RHEL 7)
Chef Server on POWER
• Q2
Chef Client for Linux on System/z
• Run by Chef Partner Engineering department; contact partnereng@chef.io for
early betas
9. Resources
• AIX Cookbook
https://supermarket.chef.io/cookbooks/aix
• Chef Automation using AIX – Benoît Creau
http://chmod666.org/wp-content/uploads/2015/11/aSM5157-AIXChefAutomation1.pptx
• IBM Power Development Program – short term LPAR rental
https://www-304.ibm.com/partnerworld/wps/servlet/ContentHandler/stg_com_sys_power-
development-platform
• SiteOx – longer-term AIX LPAR/WPAR/HMC rentals
http://www.siteox.com/
Take a poll of who is an AIX administrator here, who is here for other reasons. This will guide how much explanation is necessary
Low familiarity with platform and hardware
Need to understand and automate a lot of management systems in addition to AIX (HMC, VIOS, etc.)
Unfamiliar with features of hardware virtualization
It’s actually a cool platform once you know it, with hw virtualization being king, but user interfaces are terrible
XLC – proprietary compiler
Required for ensuring future binary compatibility.
Ruby compilation procedures do… very weird things. gcc on ppc64 can be flaky and cause Ruby to dump core
Still needed IBM AIX engineering support to give us patches to avoid Ruby failing/hanging
If you ever need to compile Ruby on AIX with XLC we have a whole directory full of patches: https://github.com/chef/omnibus-software/tree/master/config/patches/ruby
No GNU-isms
Can’t depend on GNU toolchain
Must build everything from source using XLC first for hygiene
Must make sure build system isn’t contaminated with GNU versions of tools from IBM
No bash – sh is ksh. You won’t believe how much this trips us up
No real package manager
Packages are RPMs or BFFs – BFF is older format
Chef is distributed as a BFF
Two init systems
SRC and traditional init
SRC is kind of like systemd/smf but not as fully-featured
Virtualization features are sometimes cool, sometimes not
LPAR is a neat concept – hardware virtualization
WPAR is like containers before containers were cool
Problem with LPARs: takes forever to build a new one, even automated, and you also need to learn NIM to do it well (which we didn’t want to bother with)
Problem with WPAR: Bizarrely WPARs don’t support DHCP, so you need to layout a network In advance??
SRC doesn’t have enable or disable. I don’t get it…
Many thanks to developers in the (small) AIX community plus customers of Chef that are using AIX, primarily Bloomberg