Bug 1733446 - Openshift-on-OpenStack playbooks require ansible 2.5
Summary: Openshift-on-OpenStack playbooks require ansible 2.5
Status: NEW
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Documentation
Version: 3.11.0
Hardware: x86_64
OS: Linux
Target Milestone: ---
: 3.11.z
Assignee: Vikram Goyal
QA Contact: Xiaoli Tian
Vikram Goyal
Depends On:
TreeView+ depends on / blocked
Reported: 2019-07-26 06:14 UTC by Johnray Fuller
Modified: 2020-01-24 05:41 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

Description Johnray Fuller 2019-07-26 06:14:34 UTC
This bug was initially created as a copy of Bug #1685606

I am copying this bug because: 

The documentation should be updated to reflect that OSP 13 *requires* 2.5 and that the OCP 3.11 installer works with Ansible 2.5 as of version 3.11.98-1.git.0.a7877b0.


Description of problem:

This may be a lack of clarity in documentation.

The OpenStack (13) on OpenShift playbooks strictly require Ansible 2.5 due to a dependency of the OpenStack SDK. 

The documentation for installing OpenShift on OpenStack [1] cite the following repos need to be enabled:

"For OpenStack:

$ sudo subscription-manager repos \
--enable rhel-7-server-openstack-13-rpms \
--enable rhel-7-server-ansible-2.5-rpms
$ sudo yum install -y python2-openstackclient python2-heatclient python2-octaviaclient ansible"

But above this requirement, the docs say to "Enable the rhel-7-server-openstack-13-rpms and the required OpenShift Container Platform repositories from Set Up Repositories." which correlates to [2]:

"For cloud installations and on-premise installations on x86_64 servers, run the following command:

    # subscription-manager repos --enable="rhel-7-server-rpms" \
        --enable="rhel-7-server-extras-rpms" \
        --enable="rhel-7-server-ose-3.11-rpms" \

Note that if the instruction are followed, both rhel-7-server-ansible-2.6-rpms && rhel-7-server-ansible-2.5-rpms are enabled and therefore, the 2.6 version of Ansible will win.

To further confuse matters, further down the page on the OpenStack installation instructions, it says:

"Once registered, enable the following repositories as follows.

$ sudo subscription-manager repos \
    --enable="rhel-7-server-rpms" \
    --enable="rhel-7-server-extras-rpms" \
    --enable="rhel-7-server-ose-3.11-rpms" \
    --enable="rhel-7-server-ansible-2.5-rpms" \
    --enable="rhel-7-server-openstack-13-rpms" \

Refer to the Set Up Repositories to confirm the proper OpenShift Container Platform repositories and Ansible versions to enable. The above file is just a sample."

So this seems to state that the version of Ansible required by OpenShift 3.11 (2.6) should take precedent over the 2.5 Ansible required by OpenStack. But this is not the case.

It is OpenStack's older version that should take precedence.

[1] https://docs.openshift.com/container-platform/3.11/install_config/configuring_openstack.html#before-you-begin
[2] https://docs.openshift.com/container-platform/3.11/getting_started/install_openshift.html#set-up-repositories

****Further information from the original BZ: 1685606 (which is resolved in an errata)****

Openshift on Openstack playbooks require ansible 2.5, for OCP 3.11 and OSP13, as specified in [1].

In the OCP 3.11.91 (2019-03-03.1) the ansible requirement has been increased from ansible >= 2.5.7 to ansible >= 2.6, causing the rpm openshift-ansible installation to fail or the playbooks to fail.

The playbooks fail with ansible 2.6 due to a dependency with python2-openstacksdk that is satisfied in OSP14 but not in the Long Term Support OSP13.

The PRs [1] and [2] were merged in order to satisfy this requirement.

Version-Release number of selected component (if applicable):

How reproducible: always

Steps to Reproduce:
1. Check openshift-ansible rpm requirements:

 rpm -q --requires -p http://download.lab.bos.redhat.com/rcm-guest/puddles/RHAOS/AtomicOpenShift/3.11/2019-03-03.1/x86_64/os/Packages/openshift-ansible-3.11.91-1.git.0.827eac2.el7.noarch.rpm
ansible >= 2.6
openshift-ansible-docs = 3.11.91-1.git.0.827eac2.el7
openshift-ansible-playbooks = 3.11.91-1.git.0.827eac2.el7
openshift-ansible-roles = 3.11.91-1.git.0.827eac2.el7
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Actual results:
ansible >= 2.6

Expected results:
ansible >= 2.5.7

[1] https://docs.openshift.com/container-platform/3.11/install_config/configuring_openstack.html
[2] https://github.com/openshift/openshift-ansible/pull/10320
[3] https://github.com/openshift/openshift-ansible/pull/10472

Comment 1 Johnray Fuller 2019-08-13 03:37:57 UTC

To clarify, the documentation says:

"Enable the rhel-7-server-openstack-13-rpms and the required OpenShift Container Platform repositories from Set Up Repositories[<--link to OpenShift standard set up documentation]."

The link leads to the standard OCP installation documentation which specify Ansible 2.6 be enabled. There is no mention that Ansible 2.6 repository from the "required OpenShift Container Platform repositories from Set Up Repositories" section be explicitly disabled.

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