SlideShare a Scribd company logo
BUILDING AND RUNNING OPENSTACK ON
POWER8
LANCE ALBERTSON
Oregon State University Open Source Lab
@ramereth
0
SUMMARY
POWER8 Overview
POWER at OSUOSL
Building a RHEL-based P8 platform with Openstack
Architecture porting issues
Problems we have encountered with OpenStack
Openstack deployment with Chef
OSL Wrapper cookbook
Next Steps
0
DISCLAIMER
POWER8 OVERVIEW
DESIGN
Designed to be a massively multithreaded chip
Designs are available for licensing under the OpenPOWER Foundation
Little-Endian & Big-Endian
Several non-IBM companies building P8 hardware
Tyan, Rackspace (OpenCompute-based) & Google
OPENPOWER ABSTRACTION LAYER (OPAL)
OPAL is the new Open Source firmware for POWER8
Acts as an on-system HMC
Enables the machine to boot similar to PC servers
Linux Kernel and loads the boot loader Petitboot
Petitboot provides a shell environment for debugging and setup
Petitboot will use kexec and boot into the system kernel
POWER AT OSUOSL
HISTORY
Providing PPC64 compute resources since 2005
Close collaboration with IBM LTC
POWER5, POWER7 and now POWER8
OSL managed LPAR deployment to make it easier on projects
Pre-P8 Projects:
Debian, Gentoo, Fedora, PostgreSQL
Linux Foundation, Haskell, GoLang
Mozilla, OpenSUSE, LLVM, GCC
POWER8 AT OSUOSL
Goal is to provide on-demand PPC64/PPC64LE compute resources to FOSS
projects
Assist with ppc64/ppc64le porting & testing
Expose OSU students to OpenStack and POWER8
Collaboration with IBM engineers on architecture issues
Create a vanilla Openstack cluster for FOSS projects
PROJECTS RUNNING ON OUR P8 CLUSTER
CloudFoundry, Docker, CentOS, CouchDB
Haskell, Glibc, JXcore, LLVM, NodeJS
OpenJDK, GoLang, oVirt, libjpeg-turbo
BLCR, Gentoo
BUILDING A RHEL-BASED P8 PLATFORM WITH OPENSTACK
SUPPORTED OS PLATFORMS
PowerKVM
Ubuntu
RHEL
DECISION TO USE RHEL
Little community support at the time and opportunity to help the community
We use CentOS internally as our primary OS & more familiar with the RHEL
eco-system
RHEL has the RDO OpenStack distribution that is well supported
Chef support with OpenStack needed some help
I love challenges!
OPENSTACK ARCHITECTURE (OLD)
Started in 2014
Icehouse
Controller node
Runs all public API services, dashboard
DB hosted on a shared bare-metal system
X86_64 CentOS 6 VM running on Ganeti+KVM
Compute node(s)
Nova compute and networking
Flat networking
PPC64 Fedora
OPENSTACK ARCHITECTURE (NEW)
Deployed 2016 (deployed last week)
Mitaka
Controller node
Runs all public API services, dashboard
DB hosted on a shared bare-metal system
X86_64 CentOS 7 VM running on Ganeti+KVM
Compute node(s)
Nova Compute
Neutron Networking
Linuxbridge
Provider and Tenant networking using VXLAN
PPC64LE CentOS 7.2
COMPUTE NODES
Did initial development on Fedora 19
Fedora 20 PPC64 base system (old)
Fedora 21 versions of a few packages
CentOS 7.2 PPC64LE base system (new)
ARCHITECTURE PORTING ISSUES
CHEF
No PPC64/PPC64LE Chef client
Needed to build our own chef-client
Omnibus
Bootstrap build env
Build dependency issues
Architecture configuration issues in Omnibus
Chef has stable ppc64/ppc64le builds today
PACKAGE SUPPORT
Support for P8 was bleeding edge and new features were added weekly
Built versions of latest packages from Fedora rawhide packages:
qemu
libvirt
kernel
Internal repo for these custom packages:
Kernel required a few custom options to be enabled
Runtime setup: Disable SMT
http:// p.osuosl.org/pub/osl/repos/yum/openpower/centos-7/ppc64le/
GUEST OS IMAGES
Few OS supported ppc64/ppc64le or provided guest images pre-built
Variety of tools which are platform specific
Missing support for cloud-init
Initially started creating images manually with qemu directly
PACKER -- MULTI PLATFORM SUPPORT
We needed Go to use Packer
GoLang support was literally in the works
Finally built our own packer binary last Nov!
WIP Packer Templates:
http:// p.osuosl.org/pub/osl/openpower/rpms/
https://github.com/osuosl/bento/tree/ramereth/ppc64
ARCHITECTURE ISSUES
OPAL firmware bugs
pre-P8 machines were very buggy
IPMI console would sometimes stop working
Random lockups
Included HW RAID, but no cached write-back support
PROBLEMS WE HAVE ENCOUNTERED WITH OPENSTACK
LEARNING AND UNDERSTANDING OPENSTACK
Lots of moving pieces
Neutron networking is complex and a moving target
Deciding on the proper design architecture for our use case
BUGS AND "FEATURES"
Interaction between libvirt and nova-compute was buggy at times
Some bugs were just Icehouse itself, others were architecture specific
Learning how to deploy Openstack and making (gasp) mistakes!
Iptables issues between Chef and Openstack
Provider networks configures dnsmasq as an open resolver
SSL API endpoints
STABILITY
Rabbitmq would constantly need to be restarted
nova-compute services would randomly stop working
Running Fedora on compute and CentOS on controller made things ...
interesting
CENTOS 7 PPC64LE ON OPENSTACK
RHEL / CENTOS SUPPORT
Introduced in 7.1 and fully supported in 7.2
CentOS community was still bootstrapping and testing
We built our own pre-release CentOS 7.2 for testing
Using ppc64le on compute nodes
RDO
Community for deploying Openstack on CentOS, Fedora and RHEL
Repositories built against each Platform
Each release of OpenStack separated
RHEV (RED HAT ENTERPRISE VIRTUALIZATION)
Updated KVM packaging
Part of the Virt SIG of CentOS
Used SRPMs to build ppc64le versions in a location repo
One patch needed to work around bug
OPENSTACK DEPLOYMENT WITH CHEF
WHY CHEF?
Primary CM tool used at the OSL
Provides a lot of testing capability on deployment
Can use the full power of the Ruby language for configuring the cluster
CHEF OPENSTACK
Set of cookbooks that will deploy the various services of Openstack
Part of the OpenStack umbrella
Community driven
Did a major refactor of the code for Mitaka release
OSL OPENSTACK
Created a wrapper cookbook (osl-openstack)
OSL site specific configuration
Split recipes out by upstream cookbook name
Contains ppc64le specific changes
Currently only tested on CentOS 7
https://github.com/osuosl-cookbooks/osl-openstack
OSL WRAPPER COOKBOOK
RECIPES/DEFAULT.RB
Default configuration for cluster
Include local yum repos
Include command clients
Logic around endpoints
recipes/default.rb
RECIPES/IDENTITY.RB
Just includes recipes
Some wrapper, some upstream
Allows us to test just Keystone by itself
recipes/identity.rb
RECIPES/CONTROLLER.RB
Pulls in all wrapper recipes needed to build a controller
Allows for us to split things out eventually if we want to
recipes/controller.rb
TESTING AND DEVELOPMENT
Unit Testing
ChefSpec
RSpec
Integration Testing
Test Kitchen
ServerSpec
Chef Provisioning
Deploy VMs as controller/compute
Deploy on bare-metal for a test cluster
UNIT TESTING
Ensure the Chef code is doing what it’s supposed to do
Easily test Architecture-specific logic
Verify configuration files contain proper settings
Examples:
spec/default_spec.rb
spec/compute_controller.rb
spec/linuxbridge_spec.rb
UNIT TESTING (OUTPUT)
$ rspec spec/default_spec.rb
osl­openstack::default
  includes cookbook base::ifconfig
  includes cookbook selinux::permissive
  includes cookbook yum­qemu­ev
  includes cookbook openstack­common
  includes cookbook openstack­common::logging
  includes cookbook openstack­common::sysctl
  includes cookbook openstack­identity::openrc
  includes cookbook openstack­common::client
  includes cookbook openstack­telemetry::client
  setting arch to x86_64
    does not add OSL­Openpower repository on x86_64
  setting arch to ppc64
    add OSL­openpower­openstack repository on ppc64
  setting arch to ppc64le
TEST KITCHEN & SERVERSPEC
Test Kitchen
Test CLI tool which allows you to execute the configured code on one or
more platforms
Integrates with testing frameworks
Must have tool for Chef users
Configured via
ServerSpec
RSpec tests for configured servers
Integration tests
Ensures things actually happen on the system
Example:
.kitchen.yml
test/integration/default/serverspec/default_spec.rb
TEST KITCHEN (LIST)
$ kitchen list
Instance                            Driver     Provisioner  Verifier  Transport  Last Action
default­centos­72                   Openstack  ChefZero     Busser    Rsync      Not Created
mon­centos­72                       Openstack  ChefSolo     Busser    Rsync      Not Created
mon­controller­centos­72            Openstack  ChefSolo     Busser    Rsync      Not Created
ops­messaging­centos­72             Openstack  ChefZero     Busser    Rsync      Not Created
identity­centos­72                  Openstack  ChefZero     Busser    Rsync      Not Created
image­centos­72                     Openstack  ChefZero     Busser    Rsync      Not Created
network­centos­72                   Openstack  ChefZero     Busser    Rsync      Not Created
linuxbridge­centos­72               Openstack  ChefZero     Busser    Rsync      Not Created
compute­controller­centos­72        Openstack  ChefZero     Busser    Rsync      Not Created
compute­centos­72                   Openstack  ChefZero     Busser    Rsync      Not Created
dashboard­centos­72                 Openstack  ChefZero     Busser    Rsync      Not Created
block­storage­centos­72             Openstack  ChefZero     Busser    Rsync      Not Created
block­storage­controller­centos­72  Openstack  ChefZero     Busser    Rsync      Not Created
telemetry­centos­72                 Openstack  ChefZero     Busser    Rsync      Not Created
controller­centos­72                Openstack  ChefZero     Busser    Rsync      Not Created
TEST KITCHEN (TEST)
$ kitchen test default
­­­­­> Starting Kitchen (v1.8.0)
­­­­­> Cleaning up any prior instances of <default­centos­72>
­­­­­> Destroying <default­centos­72>...
       Finished destroying <default­centos­72> (0m0.00s).
­­­­­> Testing <default­centos­72>
­­­­­> Creating <default­centos­72>...
       OpenStack instance with ID of <a25fa410­5caf­4f96­bddb­1e6daddd06d9> is ready.
...
Chef Client finished, 115/198 resources updated in 03 minutes 12 seconds
Finished converging <default­centos­72> (3m41.31s).
­­­­­> Setting up <default­centos­72>...
Finished setting up <default­centos­72> (0m0.00s).
­­­­­> Verifying <default­centos­72>...
Preparing files for transfer
...
NEXT STEPS
INFRASTRUCTURE NEXT STEPS
Add Nagios checks (DONE!)
Continue to fix bugs and other issues as they come up
Rebuild old Icehouse cluster as Mitaka (no upgrade)
Add support for object storage
Update documentation
Add support for non-live migration
Mellanox networking
PROJECT EXPERIENCE
Improve and streamline on boarding process
Expand cluster’s disk storage capacity
Improve stability of the cluster
Add more projects!
Submit your request:
http://osuosl.org/services/powerdev/request_hosting
QUESTIONS?
Lance Albertson
lance@osuosl.org
@ramereth
–http://osuosl.org http://lancealbertson.com
Links:
http://github.com/ramereth/presentation-openstack-power8
https://github.com/osuosl-cookbooks/osl-openstack
http://osuosl.org/services/powerdev/request_hosting
http:// p.osuosl.org/pub/osl/repos/yum/openpower/centos-7/ppc64le/
http:// p.osuosl.org/pub/osl/openpower/
Attribution-ShareAlike CC BY-SA ©2016

More Related Content

PDF
Chef 11 Preview/Chef for OpenStack
PDF
Satellite 6 - Pupet Introduction
PDF
Integrate Openshift with Cloudforms
PPTX
Ksplice - Keep your Database systems up to date with no downtime
PPT
Calico with open stack and chef
PDF
Dev stacklabguide
PDF
Create Disposable Test Environments with Vagrant and Puppet
PDF
How to master OpenStack in 2 hours
Chef 11 Preview/Chef for OpenStack
Satellite 6 - Pupet Introduction
Integrate Openshift with Cloudforms
Ksplice - Keep your Database systems up to date with no downtime
Calico with open stack and chef
Dev stacklabguide
Create Disposable Test Environments with Vagrant and Puppet
How to master OpenStack in 2 hours

What's hot (20)

PDF
Continuous Integration and DevOps with Open Build Service(OBS)
ODP
OpenStack DevStack Configuration localrc local.conf Tutorial
PDF
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
PDF
Simplify and run your development environments with Vagrant on OpenStack
PDF
Introduction to Project atomic (CentOS Dojo Bangalore)
PDF
Simplify and run your development environments with Vagrant on OpenStack
PDF
Red Hat Satellite 6 - Automation with Puppet
PDF
How to integrate_custom_openstack_services_with_devstack
PDF
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
PDF
Openstack trystack
PPTX
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
PPTX
OpenStack Development Using devstack
PDF
TryStack: A Sandbox for OpenStack Users and Admins
PDF
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
PPTX
Openstack in 10 mins
PDF
Building a Cauldron for Chef to Cook In
PDF
Expert Day 2019 - Introduction
PDF
Kubernetes installation
PDF
Kubernetes Java Operator
PDF
App container rkt
Continuous Integration and DevOps with Open Build Service(OBS)
OpenStack DevStack Configuration localrc local.conf Tutorial
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016
Simplify and run your development environments with Vagrant on OpenStack
Introduction to Project atomic (CentOS Dojo Bangalore)
Simplify and run your development environments with Vagrant on OpenStack
Red Hat Satellite 6 - Automation with Puppet
How to integrate_custom_openstack_services_with_devstack
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Ranchers
Openstack trystack
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
OpenStack Development Using devstack
TryStack: A Sandbox for OpenStack Users and Admins
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Openstack in 10 mins
Building a Cauldron for Chef to Cook In
Expert Day 2019 - Introduction
Kubernetes installation
Kubernetes Java Operator
App container rkt
Ad

Similar to Building and Running OpenStack on POWER8 (20)

PDF
Extending DevOps to Big Data Applications with Kubernetes
PPTX
nyoug-lxc-december-12-final
PDF
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
PPT
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
PDF
Compass first meetup
PDF
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
PDF
Kubernetes for Java developers
PPT
RAC - Test
PDF
TXLF: Automated Deployment of OpenStack with Chef
PDF
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
PDF
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
PDF
Azure Kubernetes Service - benefits and challenges
PPTX
Openstack win final
PDF
Sanger OpenStack presentation March 2017
PPTX
Deploying OpenStack with Ansible
PDF
SCALE 2011 Deploying OpenStack with Chef
PDF
Kubernetes for the PHP developer
PDF
.NET RDF APIs
PPTX
vBACD - Crash Course in Open Source Cloud Computing - 2/28
PDF
At the Crossroads of HPC and Cloud Computing with Openstack
Extending DevOps to Big Data Applications with Kubernetes
nyoug-lxc-december-12-final
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Compass first meetup
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
Kubernetes for Java developers
RAC - Test
TXLF: Automated Deployment of OpenStack with Chef
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
Azure Kubernetes Service - benefits and challenges
Openstack win final
Sanger OpenStack presentation March 2017
Deploying OpenStack with Ansible
SCALE 2011 Deploying OpenStack with Chef
Kubernetes for the PHP developer
.NET RDF APIs
vBACD - Crash Course in Open Source Cloud Computing - 2/28
At the Crossroads of HPC and Cloud Computing with Openstack
Ad

More from Lance Albertson (6)

PDF
GlusterFS at OSUOSL
PDF
LinuxFestNW 2013: How We Mentor “Rock Star” Students
PDF
SCALE11x: 10 Years of FOSS Hosting at the OSUOSL
PDF
PuppetCampLA 2013: Lessons Learned in the OSUOSL Puppet Migration
PDF
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
PDF
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
GlusterFS at OSUOSL
LinuxFestNW 2013: How We Mentor “Rock Star” Students
SCALE11x: 10 Years of FOSS Hosting at the OSUOSL
PuppetCampLA 2013: Lessons Learned in the OSUOSL Puppet Migration
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012

Recently uploaded (20)

PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
innovation process that make everything different.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
How to Ensure Data Integrity During Shopify Migration_ Best Practices for Sec...
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
Testing WebRTC applications at scale.pdf
PDF
Paper PDF World Game (s) Great Redesign.pdf
PPTX
Digital Literacy And Online Safety on internet
PPTX
Introduction to Information and Communication Technology
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
Unit-1 introduction to cyber security discuss about how to secure a system
presentation_pfe-universite-molay-seltan.pptx
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
introduction about ICD -10 & ICD-11 ppt.pptx
innovation process that make everything different.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
How to Ensure Data Integrity During Shopify Migration_ Best Practices for Sec...
Module 1 - Cyber Law and Ethics 101.pptx
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
The New Creative Director: How AI Tools for Social Media Content Creation Are...
WebRTC in SignalWire - troubleshooting media negotiation
522797556-Unit-2-Temperature-measurement-1-1.pptx
RPKI Status Update, presented by Makito Lay at IDNOG 10
Testing WebRTC applications at scale.pdf
Paper PDF World Game (s) Great Redesign.pdf
Digital Literacy And Online Safety on internet
Introduction to Information and Communication Technology
Slides PDF The World Game (s) Eco Economic Epochs.pdf

Building and Running OpenStack on POWER8