Bug 1472360 - [RFE] Support ansible deploy driver for Ironic in the undercloud
[RFE] Support ansible deploy driver for Ironic in the undercloud
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic (Show other bugs)
13.0 (Queens)
Unspecified Unspecified
medium Severity medium
: Upstream M2
: 13.0 (Queens)
Assigned To: Dmitry Tantsur
: FutureFeature, TechPreview, Triaged
Depends On:
Blocks: 1383244 1477713 1479814 1527908
  Show dependency treegraph
Reported: 2017-07-18 10:39 EDT by Dmitry Tantsur
Modified: 2018-06-27 09:33 EDT (History)
6 users (show)

See Also:
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:
Story Points: ---
Clone Of:
Last Closed: 2018-06-27 09:32:14 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker 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 08:59 EST
OpenStack gerrit 526402 None master: MERGED ironic: ansible: handle mount of /sys the same way IPA does it (I4bc6dfd6939699f7a4ed7cc59e2e503b46bbaeaf) 2018-02-07 08:59 EST
OpenStack gerrit 526429 None master: MERGED ironic: Auto-detect the defaults for [glance]swift_{account,temp_url_key,endpoint_url} (I701899928f0f780939f17aabc59eb90... 2018-02-07 08:59 EST
OpenStack gerrit 526439 None master: MERGED instack-undercloud: Add missing include of ironic::drivers::ansible (I3a9d81cbae70a115c02b5bff8a62c30b38abd38a) 2018-02-07 08:59 EST
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 09:33 EDT

  None (edit)
Description Dmitry Tantsur 2017-07-18 10:39:49 EDT
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 05:30:18 EST
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 09:06:41 EST
Attaching an already approved bug fix that makes this feature much more reliable.
Comment 7 errata-xmlrpc 2018-06-27 09:32:14 EDT
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.