Bug 1472360 - [RFE] Support ansible deploy driver for Ironic in the undercloud
Summary: [RFE] Support ansible deploy driver for Ironic in the undercloud
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
Target Milestone: Upstream M2
: 13.0 (Queens)
Assignee: Dmitry Tantsur
QA Contact: mlammon
URL: https://blueprints.launchpad.net/trip...
Depends On:
Blocks: 1383244 1477713 1479814 1527908
TreeView+ depends on / blocked
Reported: 2017-07-18 14:39 UTC by Dmitry Tantsur
Modified: 2018-06-27 13:33 UTC (History)
6 users (show)

Fixed In Version: openstack-ironic-10.0.1-0.20180123173432.2c630d9.el7ost instack-undercloud-8.1.1-0.20180117134321.el7ost openstack-tripleo-heat-templates-8.0.0-0.20180122224017.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-06-27 13:32:14 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
OpenStack gerrit 523094 None master: MERGED tripleo-heat-templates: undercloud: enable ansible deploy method by default (I6ace274ba4d17f78d39e22f0f601f7d5accda9f2) 2018-02-07 13:59:44 UTC
OpenStack gerrit 526402 None master: MERGED ironic: ansible: handle mount of /sys the same way IPA does it (I4bc6dfd6939699f7a4ed7cc59e2e503b46bbaeaf) 2018-02-07 13:59:37 UTC
OpenStack gerrit 526429 None master: MERGED ironic: Auto-detect the defaults for [glance]swift_{account,temp_url_key,endpoint_url} (I701899928f0f780939f17aabc59eb90... 2018-02-07 13:59:31 UTC
OpenStack gerrit 526439 None master: MERGED instack-undercloud: Add missing include of ironic::drivers::ansible (I3a9d81cbae70a115c02b5bff8a62c30b38abd38a) 2018-02-07 13:59:25 UTC
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 13:33:21 UTC

Description Dmitry Tantsur 2017-07-18 14:39:49 UTC
We get an increasing number of requests for higher customization of the deployment process, especially for the undercloud. For example,
1. setting kernel parameters,
2. complex partition layouts,
3. LVM and software RAID support.

We could extend Ironic to support every one, but this is going to take a lot of time and can violate the scope of the project. An attempt to partially solve it, deploy steps, apparently got stuck. It will anyway be a complete refactoring of the deployment process.

The alternative is the ansible deploy driver [1]. Instead of running Ironic Python Agent code, it executes Ansible playbooks from ironic-conductor on a node. The huge benefit for us is that an operator can provide custom playbooks, extending both deployment and cleaning in any way required.

We will need to move this driver from the staging repository to the main tree. Then we will need to update puppet-ironic, instack-undercloud and tripleo-common to support enrolling nodes with it.

The default deploy method will not change, we will just provide an alternative.

[1] http://ironic-staging-drivers.readthedocs.io/en/latest/drivers/ansible.html

Comment 2 Dmitry Tantsur 2017-12-07 10:30:18 UTC
Status update: all initial patches have landed. The testing, however, uncovered issues with temporary URLs in ironic, so I'll need a bit more time here.

Upstream documentation is being written as I test it.

Comment 4 Dmitry Tantsur 2017-12-20 14:06:41 UTC
Attaching an already approved bug fix that makes this feature much more reliable.

Comment 7 errata-xmlrpc 2018-06-27 13:32:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.