OpenStack's Baremetal
provisioning service
Devananda van der Veen
HP Cloud
Twitter: @devananda
Email: devananda.vdv@gmail.com
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
$ cat /etc/nova/nova.conf
…
compute_driver =
BareMetalDriver

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Nova changes

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Nova changes
→ second database backend

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Nova changes
→ second database backend
→ incompatible scheduler

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Nova changes
→ second database backend
→ incompatible scheduler
→ extra service

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Very promising, but ...

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Also very limited.

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Also very limited.
→ HA is external

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Also very limited.
→ HA is external
→ only one driver per region

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Also very limited.
→ HA is external
→ only one driver per region
→ progress blocked

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
So...

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Ironic

™

commit 84a7dc47e2f666ff11b5816387b7ada2371e48c2
Author: Monty Taylor <mordred@inaugust.com>
Date:
Thu May 2 14:50:57 2013 -0400
Added project infrastructure needs.

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Time goes by...

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Openstack is not a virtualization layer.
It's an abstraction layer.
- Daniel Sabbah, CTO @ IBM

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
“nova boot ...”

nova-api
nova-scheduler
nova-compute

glance

neutron

hypervisors
(libvirt, xen, etc)
etc

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
“nova boot ...”

nova-api
nova-scheduler
nova-compute
ironic-api
neutron
ironic-conductor
glance

drivers

cinder, swift, ...
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
on
ly
!
in
ad
m

API services

REST

chassis:
optional grouping

RPC

nodes:
status & metadata

Conductor service(s)
1

2

3

DB
...

ports:
mac address
conductors:
heartbeat
driver list

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
request

rpc_thread_pool

worker_thread_pool

TaskManager()
- loads driver
- locks Node
validate request
spawn worker

202 Accepted

wake up
work...
update node status
return to pool

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
./api/controllers/v1/           # V1 API
   {chassis,driver,node,port}   # main objects
./cmd/*                         # cmdline wrappers
./common/*                      # common utils
./conductor/manager.py          # main service
./conductor/rpcapi.py           # RPC API
./db/sqlalchemy/*               # DB stuff
./drivers/                      # driver API
  ./modules/{pxe,ipmitool,ssh}  # driver modules
./objects/*                     # Nova RPC objects
./openstack/common/*            # Oslo
./tests/*                       # Unit tests

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Driver Interface
→ three classes of interface
→ core
→ common
→ vendor

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Current Drivers
→ PXE
→ IPMI
→ SSH

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Proposed Drivers
→ HP iLO & 3par
→ AMD SeaMicro

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Node locking via TaskManager()
→ all actions on Node guarded by mutex
→ driver loading happens in same context
→ lock backed by DB // sync'd across Conductors

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Testing locally
→ Emulate hardware with VMs
→ OpenVSwitch & local net bridge
→ Devstack || TripleO

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Questions?

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thank you
https://launchpad.net/ironic
https://github.com/openstack/ironic
irc.freenode.net
#openstack-ironic
#tripleo

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

OpenStack Ironic Project Summary, February 2014