Add Ironic User Guide

Add a User guide, Initial chapters to cover introduction, architecture
diagrams, terminology for Ironic service.

Change-Id: I08faac6204aa412e330362133eb14241f3c21b34
This commit is contained in:
Sandhya Balakrishnan
2014-03-27 16:12:28 +05:30
parent 7a4446eb52
commit 41af7d6b74
4 changed files with 121 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
=======================
Introduction to Ironic
=======================
|
Ironic is an OpenStack project which provisions physical hardware as opposed to virtual machines.
Ironic provides several reference drivers which leverage common technologies like PXE and IPMI, to
cover a wide range of hardware. Ironic's pluggable driver architecture also allows vendor-specific
drivers to be added for improved performance or functionality not provided by reference drivers.
|
If one thinks of traditional hypervisor functionality (e.g., creating a VM, enumerating virtual devices, managing
the power state, loading an OS onto the VM, and so on), then Ironic may be thought of as a hypervisor API gluing
together multiple drivers, each of which implement some portion of that functionality with respect to physical hardware.
|
|
Openstack's Ironic project makes physical servers as easy to provision as virtual machines in cloud, which in turn will
open up new avenues for enterprises and service providers.
|
Ironic's driver will replace the Nova "bare metal" driver of Grizzly, Havana and Icehouse releases. It is targeting inclusion
in the OpenStack Juno release. See https://wiki.openstack.org/wiki/Baremetal for more information.
|
|
Why Provision Bare Metal
==========================
|
Here are a few use-cases for bare metal (physical server) provisioning in cloud; there are doubtless many more interesting ones.
|
|
High-performance computing clusters
|
Computing tasks that require access to hardware devices which can't be virtualized
|
Database hosting (some databases run poorly in a hypervisor)
|
Single tenant, dedicated hardware for performance, security, dependability and other regulatory requirements
|
Or, rapidly deploying a cloud infrastructure
|
|
Conceptual Architecture
========================
|
The following diagram shows the relationships and how all services come into play during the provisioning of a
physical server.
|
.. figure:: ../images/conceptual_architecture.gif
:alt: ConceptualArchitecture
|
|
Logical Architecture
=====================
|
The Ironic service is composed of the following components,
|
|
A RESTful API service, by which operators and other services may interact with the managed bare metal servers.
|
|
A Conductor service, which does the bulk of the work. Functionality is exposed via the API service.
The Conductor and API services communicate via RPC.
|
|
A Message Queue
|
|
A Database for storing the state of the Conductor and Drivers.
|
|
.. figure:: ../images/logical_architecture.gif
:alt: Logical Architecture
|
|
Key Technologies for Bare Metal Hosting
===========================================
|
PXE
-----
|
Preboot Execution Environment (PXE) is part of the Wired for Management (WfM) specification developed by Intel and Microsoft.
The PXE enables system's BIOS and network interface card (NIC) to bootstrap a computer from the network in place of a disk. Bootstrapping is the process by which a system loads the OS into local memory so that it can be executed by the processor.
This capability of allowing a system to boot over a network simplifies server deployment and server management for administrators.
|
DHCP
------
|
Dynamic Host Configuration Protocol (DHCP) is a standardized networking protocol used on Internet Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services.
Using PXE, the BIOS uses DHCP to obtain an IP address for the network interface and to locate the server that stores the network bootstrap program (NBP).
|
NBP
------
|
Network Bootstrap Program (NBP) is equivalent to GRUB (GRand Unified Bootloader) or LILO (LInux LOader) - loaders which are traditionally used in local booting. Like the boot program in a hard drive environment, the NBP is responsible for loading the OS kernel into memory so that the OS can be bootstrapped over a network.
|
TFTP
------
|
Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol that is generally used for automated transfer of configuration or boot files between machines in a local environment.
In a PXE environment, TFTP is used to download NBP over the network using information from the DHCP server.
|
IPMI
------
|
Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators for out-of-band management of computer systems and monitoring of their operation.
It is a method to manage systems that may be unresponsive or powered off by using only a network connection to the hardware rather than to an operating system.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -76,6 +76,17 @@ Python API Quick Reference
dev/drivers
dev/conductor
Admin Guide
=======================
Overview
----------
.. toctree::
:maxdepth: 1
deploy/userguide
Indices and tables
==================