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:
110
doc/source/deploy/userguide.rst
Normal file
110
doc/source/deploy/userguide.rst
Normal 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.
|
||||||
|
|
||||||
BIN
doc/source/images/conceptual_architecture.gif
Normal file
BIN
doc/source/images/conceptual_architecture.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
BIN
doc/source/images/logical_architecture.gif
Normal file
BIN
doc/source/images/logical_architecture.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -76,6 +76,17 @@ Python API Quick Reference
|
|||||||
dev/drivers
|
dev/drivers
|
||||||
dev/conductor
|
dev/conductor
|
||||||
|
|
||||||
|
Admin Guide
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Overview
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
deploy/userguide
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user