bareon-ironic/README.rst
Mark Goddard de9c84dc80 Initial commit
Change-Id: I34e41fabb648368189b479e4cfbc78747d465b95
2016-04-15 11:36:28 +03:00

76 lines
2.7 KiB
ReStructuredText

=========================================
Bareon-based deployment driver for Ironic
=========================================
``bareon_ironic`` package adds support for Bareon to OpenStack Ironic.
Ironic [#]_ is baremetal provisioning service with support of multiple hardware
types. Ironic architecture is able to work with deploy agents. Deploy agent
is a service that does provisioning tasks on the node side. Deploy agent is
integrated into bootstrap ramdisk image.
``bareon_ironic`` contains pluggable drivers code for Ironic that uses
Bareon [#]_ as deploy agent. Current implementation requires and tested with
Ironic/Nova Stable Kilo release.
Features overview
=================
Flexible deployment configuration
---------------------------------
A JSON called deploy_config carries partitions schema, partitioning behavior,
images schema, various deployment args. It can be passed through various
places like nova VM metadata, image metadata, node metadata etc. Resulting
JSON is a result of merge operation, that works basing on the priorities
configureed in ``/etc/ironic/ironic.conf``.
LVM support
-----------
Configuration JSON allows to define schemas with mixed partitions and logical
volumes.
Multiple partitioning behaviors available
-----------------------------------------
- Verify. Reads schema from the baremetal hardware and compares with user
schema.
- Verify+clean. Compares baremetal schema with user schema, wipes particular
filesystems basing on the user schema.
- Clean. Wipes disk, deploys from scratch.
Multiple image deployment
-------------------------
Configuration JSON allows to define more than 1 image. The Bareon Ironic driver
provides handles to switch between deployed images. This allows to perform a
baremetal node upgrades with minimal downtime.
Block-level copy & file-level Image deployment
----------------------------------------------
Bareon Ironic driver allows to do both: bare_swift drivers for block-level and
bare_rsync drivers for file-level.
Deployment termination
----------------------
The driver allows to teminate deployment in both silent (wait-callback) and
active (deploying) phases.
Post-deployment hooks
---------------------
Two hook mechanisms available: on_fail_script and deploy actions. The first one
is a user-provided shell script which is executed inside the deploy ramdisk if
deployment has failed. The latter is a JSON-based, allows to define various
actions with associated resources and run them after the deployment has passed.
Building HTML docs
==================
$ pip install sphinx
$ cd bareon-ironic/doc && make html
.. [#] https://wiki.openstack.org/wiki/Ironic
.. [#] https://wiki.openstack.org/wiki/Bareon