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
The workaround of course is to simply downgrade ansible on the control host. `yum downgrade ansible-2.3.2.0`
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.
Proposed: https://github.com/openshift/openshift-ansible/pull/6239
*** Bug 1517324 has been marked as a duplicate of this bug. ***
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.
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