de9c84dc80
Change-Id: I34e41fabb648368189b479e4cfbc78747d465b95
76 lines
2.7 KiB
ReStructuredText
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
|