fuel's current use cases, architecture and next steps
DESCRIPTION
Fuel is open source initiative which provides great automation and flexibility for: * CentOS and Ubuntu provisioning on bare metal servers * Disk partitioning, including software RAIDs. Support of hardware RAIDs is in the roadmap * Complex network configurations, including VLANs, GRE and bonding * Network verification (VLANs, DHCP) before deployment * Automated deployment of OpenStack components and Ceph * Health Check - a set of short-running tests to ensure functionality of deployed environmentTRANSCRIPT
Fuel & itsArchitecture
Mike ScherbakovFuel Lead
● What is Fuel?● How it works (high level)● User Experience● Components● Additional functions● What Fuel already deploys?● Roadmap● Where to get Fuel?● Resources & Development processes
Agenda
Fuel targets a position to become a control plane of your Data Center
● Hardware Discovery● Switches configuration [to be implemented]● Network Verification● OS provisioning on bare metal● Deployment of OpenStack and beyond● Post-deployment checks of OpenStack
What is Fuel?
Manual steps to setup an environment:
● Hardware planning● Network configuration
How it works now (high level)
Manual steps to setup an environment:
● Hardware planning● Network configuration● [Live demo] Installation of Fuel Master node● [Automated] Hardware discovery process
How it works now (high level)
How it works: Hardware Discovery
Fuel Master (b) PXE
(a) Power on
(c) discoveryimage
(d) agent REST API call
node-1
User Experience: UI (Live Demo)
User Experience: CLI (Live Demo)
● Covers everything we can do via UI● Allows even more
Components: Nailgun
● Written on Python● Exposes internal data via REST API● Concentrates up to 90% of deployment logic● Transforms user input (UI, CLI) into deployment
data (JSON)● Keeps tasks status and all information in DB● Uses SQLAlchemy, Alembic for DB access and
migrations
Components: Nailgun
Components: Naily & Astute
● Naily consumes messages sent by Nailgun● Naily & Astute are both written in Ruby● Astute uses MCollective RPC● Has bindings to provisioning● Tracks progress of deployment, provisioning● Supports operations (adding/removing nodes)● Small in comparison with Nailgun
Components: Naily & Astute
Components: OSTF (Health Check)
Architecture: bigger picture
● Health Check● Network Checker
○ DHCP○ VLANs
● Diagnostic Snapshot● Logs collection & calculation of operations
progress● [In development] Master node upgrade
capabilities
Additional Functions
● Core OpenStack components in HA fashion○ nova-network & Neutron○ Ceilometer
● Savanna (Hadoop on top of OpenStack)● Murano (Windows DCs on top of OpenStack)● Ceph
What Fuel already deploys?
● Fuel Master node upgrades● Patching & Upgrade of OpenStack● Replacement of Cobbler by Ironic● …. suggest us more here: https://blueprints.
launchpad.net/fuel
In the Roadmap
● Download ISO from Mirantis (need to register)● Build your own ISO: docs.mirantis.com/fuel-dev● All other info starts from wiki.opentstack.
org/wiki/fuel
… Issues? Talk to us at #fuel-dev & https://launchpad.net/~fuel-dev
Where to get
● Code at github.com/stackforge/fuel-*● OpenStack Gerrit for code reviews● Launchpad for tracking bugs & blueprints● #fuel-dev & [email protected]● Development docs at docs.mirantis.com/fuel-dev● fuel-jenkins.mirantis.com - open CI
Development Processes
Q&AMike Scherbakov