This patch adds support for Ironic root hints to ansible deploy driver.
The advanced root hints based on oslo.utils operators are not supported yet,
only exact matches.
Change-Id: I6fd468cfa9a7792fa0e55aa58c337396e13d76ee
- partitioning scheme now closer resembles what's being done by IPA
- for partition images the root partition is last so that it can grow
- for whole-disk images, configdrive is created as far as possible
- added support for setting disk label for created partition table,
supported are 'gpt' and 'msdos' (default)
- for 'gpt' disks, a bios_grub partiton is prepended to standard ones
- 'parted' module for Ansible was renamed to ``ironic_parted`` to not
shadow ``parted`` module included in Ansible 2.3
It was also rewritten to be cleaner and more stable:
- changed accepted module arguments
- added support for units (MiB and % for now)
- added more validations
- left support for msdos and gpt partition tables only
- partitions are created one by one, and actual block devices created
are searched for and reported.
- module returns only after all partitions are available for write
Change-Id: I4d6d7619c6f3ba25c29263ffe5d778698e598429
Possibly existing out-of-tree playbooks will be imcompatible
with this version and must be rewritten!
Changes include:
- all info passed into ansible playbooks from ironic is now available in
the playbooks as elements of 'ironic' dictionary to better differentiate
those from other vars possibly created/set inside playbooks.
- any field of node's instance_info having a form of "image_<field>"
is now available in playbooks as "ironic.image.<field>" var.
- 'parted' tag in playbooks is removed and instead differentiation
between partition and whole-disk imaged is being done based on
ironic.image.type var value.
- 'shutdown' tag is removed, and soft power-off is moved to a separate
playbook, defined by new driver_info field 'ansible_shutdown_playbook'
('shutdown.yaml' by default)
- default 'deploy' role is split into smaller roles,
each targeting a separate stage of deployment process
to faciliate customiation and re-use
- discover - e.g. set root device and image target
- prepare - if needed, prepare system, e.g. create partitions
- deploy - download/convert/write user image and configdrive
- configure - post-deployment steps, e.g. installing the bootloader
Documentation is updated.
Change-Id: I158a96d26dc9a114b6b607267c13e3ee1939cac9
There is an internal Ironic docs reference left after moving
this driver from Ironic repo, which does not work and produces warnings
during docs build.
Change-Id: I8111d90b530708b3a0ce00361ae532b933553536
This patch is importing the iBoot driver and its documentation from
ironic to ironic-staging-driver.
Since we can't have duplicated entry points in setuptools we had to
rename the driver names as following:
pxe_iboot -> pxe_iboot_iscsi
agent_iboot -> pxe_iboot_agent
fake_iboot -> fake_iboot_fake
Change-Id: I2783b8e65408811858ffb00c372aa7ae269ad75b
This patch is importing the Wake-On-Lan (WOL) driver and its documentation
from ironic to ironic-staging-driver.
Since we can't have duplicated entry points in setuptools we had to
rename the driver names as following:
pxe_wol -> pxe_wol_iscsi
agent_wol -> pxe_wol_agent
fake_wol -> fake_wol_fake
This patch is using the "<boot>_<power>_<deploy>" template to name the
drivers consistently.
Change-Id: I2b051494fdba7bf6ca30d8f7bb406511bf7d4d76
This commit is adding the version.py module for ironic-staging-drivers
and updating the doc/source/conf.py configuration file to use the new
version module.
Change-Id: If845ebb4ca35293a1cd4bd1a42e93999cb919777