Bug 1387636 - [Upgrade failed] Error in ansible-playbook
Summary: [Upgrade failed] Error in ansible-playbook
Keywords:
Status: CLOSED DUPLICATE of bug 1388445
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Cluster Version Operator
Version: 3.3.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Jason DeTiberus
QA Contact: Anping Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-21 12:27 UTC by Vladislav Walek
Modified: 2019-12-16 07:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-27 13:33:42 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Vladislav Walek 2016-10-21 12:27:06 UTC
Description of problem:

During the upgrade from 3.2 to 3.3 by running check in environment:

#ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/byo/openshift-cluster/upgrades/v3_3/upgrade.yml --check

customer is facing error in /usr/share/ansible/openshift-ansible/playbooks/common/openshift-cluster/upgrades/pre.yml in section:

- name: Evaluate additional groups for upgrade 
...
  - name: Evaluate etcd_hosts_to_backup
    add_host:
      name: "{{ item }}"
      groups: etcd_hosts_to_backup
    with_items: groups.oo_etcd_to_config if groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config | length > 0 else groups.oo_first_master

The error is below:

The error was: 'item' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/playbooks/common/openshift-cluster/upgrades/pre.yml': line 30, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n  - name: Evaluate etcd_hosts_to_backup\n    ^ here\n"}

He is running the latest version of ansible 2.2 and openshift-ansible 3.3.28.1.
Check is performed on containerized version of environment.
etcd group is defined in ansible-hosts.


I've tested to run the pre.yml with check and it fails also. The message is showing it is:

[DEPRECATION WARNING]: Using bare variables is deprecated. Update your playbooks so that the environment value uses the full variable syntax ('{{groups.oo_etcd_to_config if 
groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config | length > 0 else groups.oo_first_master}}').
[DEPRECATION WARNING]: Skipping task due to undefined Error, in the future this will be a fatal error.: 'dict object' has no attribute 'oo_first_master'.

The task for oo_first_master will end as:

TASK [Evaluate oo_first_master] ************************************************
skipping: [localhost]

According the docs [1] the check could be disabled for specific task by adding "check_mode: no". Also based on the docs it should not fail.
Can it be disabled? Is the task "Evaluate etcd_hosts_to_backup" needed in the upgrade?

[1] http://docs.ansible.com/ansible/playbooks_checkmode.html

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

ansible-2.2.0-0.50.prerelease.el7.noarch
openshift-ansible-3.3.28-1.git.0.762256b.el7.noarch

from rhel-7-server-ose-3.3-rpms


How reproducible:

executed on my lab, results are same as above

Steps to Reproduce:
1.
2.
3.

Actual results:

Same result as customer

Expected results:

Additional info:

Comment 2 Scott Dodson 2016-10-27 13:33:42 UTC

*** This bug has been marked as a duplicate of bug 1388445 ***

Comment 3 Scott Dodson 2016-10-27 13:34:45 UTC
Closing this as a dupe, we don't document --check works nor do we document that ansible can be run inside a container currently. We'll work on fixing the examples task during containerized upgrade in the duped bug.


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