openstack ironic project summary, february 2014
DESCRIPTION
Summary of the OpenStack Ironic project, circa Feburary 2014TRANSCRIPT
OpenStack's Baremetal provisioning service
Devananda van der VeenHP Cloud
Twitter: @devanandaEmail: [email protected]
© 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.
$ 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 84a7dc47e2f666ff11b5816387b7ada2371e48c2Author: Monty Taylor <[email protected]>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-api“nova boot ...”
nova-scheduler
nova-compute
neutronglance
hypervisors(libvirt, xen, etc)
etc
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
nova-api
ironic-api
“nova boot ...”
nova-scheduler
nova-compute
neutron
glance
ironic-conductor
drivers
cinder, swift, ...
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
1 2 3 ...
API services
DBConductor service(s)
REST
RPC
admin
only!
chassis:optional grouping
nodes:status & metadata
ports:mac address
conductors:heartbeatdriver list
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
rpc_thread_pool worker_thread_pool
requestTaskManager()- loads driver- locks Node
validate request
spawn worker
202 Accepted work...
update node status
return to pool
wake up
© 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 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thank you
https://launchpad.net/ironichttps://github.com/openstack/ironic
irc.freenode.net#openstack-ironic#tripleo