Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1516469 - Install playbook fails to run if ansible version is 2.4.1
Install playbook fails to run if ansible version is 2.4.1
Status: CLOSED ERRATA
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer (Show other bugs)
3.5.1
Unspecified Unspecified
urgent Severity high
: ---
: 3.5.z
Assigned To: Russell Teague
Gaoyun Pei
:
: 1517324 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-11-22 11:57 EST by Eric Jones
Modified: 2017-12-14 16:02 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Custom openshift-ansible modules were not being loaded due to a missing dependency configuration. The issue was first identified when using Ansible 2.4.1 which included a change in how tasks/roles were dynamically included at runtime.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-12-14 16:02:32 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
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
Red Hat Product Errata RHBA-2017:3438 normal SHIPPED_LIVE OpenShift Container Platform 3.6 and 3.5 bug fix and enhancement update 2017-12-14 20:58:11 EST

  None (edit)
Description Eric Jones 2017-11-22 11:57:15 EST
Description of problem:
running playbook [0] with ansible version 2.4.1 installed, the playbook fails almost immediately with errors that seem to be related to modules and deprecations [1].

[0] openshift-ansible/playbooks/byo/config.yml

Version-Release number of the following components:
rpm -q openshift-ansible
openshift-ansible-3.5.132-1.git.0.a5c4a4d.el7.noarch

rpm -q ansible
ansible-2.4.1.0-1.el7.noarch

ansible --version
ansible 2.4.1.0
  config file = /home/quicklab/ansible.cfg
  configured module search path = [u'/home/quicklab/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, May  3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]

How reproducible:
100%

Steps to Reproduce:
1. update ansible to 2.4.1
2. run that playbook [0]

Actual results:
[1]


Expected results:
install.

Additional info:
Customer from case attached found this with OpenShift 3.6 cluster (not 3.5 like my tests).

[1]
$ ansible-playbook openshift-ansible/playbooks/byo/config.yml -i hosts 
[DEPRECATION WARNING]: 'include' for playbook includes. You should use 'import_playbook' instead. This feature will be removed in version 2.8. Deprecation warnings can 
be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: The use of 'include' for tasks has been deprecated. Use 'import_tasks' for static inclusions or 'include_tasks' for dynamic inclusions. This 
feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: include is kept for backwards compatibility but usage is discouraged. The module documentation details page may explain more about this 
rationale.. This feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/usr/share/ansible/openshift-ansible/roles/etcd/tasks/system_container.yml': line 22, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Install or Update Etcd system container package
  ^ here


The error appears to have been in '/usr/share/ansible/openshift-ansible/roles/etcd/tasks/system_container.yml': line 22, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Install or Update Etcd system container package
  ^ here

exception type: <class 'ansible.errors.AnsibleParserError'>
exception: no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/usr/share/ansible/openshift-ansible/roles/etcd/tasks/system_container.yml': line 22, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Install or Update Etcd system container package
  ^ here
Comment 2 Scott Dodson 2017-11-22 12:58:10 EST
The workaround of course is to simply downgrade ansible on the control host.

`yum downgrade ansible-2.3.2.0`
Comment 7 Russell Teague 2017-11-22 15:42:36 EST
Th etcd role is trying to use oc_atomic_container which is a module from lib_openshift.  Opening a PR to add needed meta dependencies.  This dependency is already present for 3.6 forward.
Comment 8 Russell Teague 2017-11-22 15:46:43 EST
Proposed: https://github.com/openshift/openshift-ansible/pull/6239
Comment 9 Scott Dodson 2017-11-24 12:41:08 EST
*** Bug 1517324 has been marked as a duplicate of this bug. ***
Comment 12 Gaoyun Pei 2017-12-05 21:50:07 EST
Verify this bug with openshift-ansible-3.5.146-1.git.0.fee1c99.el7.noarch.rpm & ansible-2.4.1.0-1.el7.noarch, no such error during ocp-3.5 cluster installation.
Comment 15 errata-xmlrpc 2017-12-14 16:02:32 EST
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.

https://access.redhat.com/errata/RHBA-2017:3438

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