Bug 1489099 - OSP11 -> OSP12 upgrade: switch-from-non-containerized-to-containerized-ceph-daemons.yml fails with: "'list object' has no attribute 'stdout_lines'"
Summary: OSP11 -> OSP12 upgrade: switch-from-non-containerized-to-containerized-ceph-d...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: Ceph-Ansible
Version: 2.3
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: 3.0
Assignee: seb
QA Contact: Marius Cornea
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-06 17:01 UTC by Marius Cornea
Modified: 2018-06-26 23:45 UTC (History)
13 users (show)

Fixed In Version: RHEL: ceph-ansible-3.0.0-0.1.rc7.el7cp Ubuntu: ceph-ansible_3.0.0~rc7-2redhat1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-05 23:42:05 UTC
Target Upstream Version:


Attachments (Terms of Use)
ceph-install-workflow.log (165.11 KB, text/plain)
2017-09-06 17:01 UTC, Marius Cornea
no flags Details
extra_vars.txt (2.21 KB, text/plain)
2017-09-07 06:59 UTC, Giulio Fidente
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:3387 normal SHIPPED_LIVE Red Hat Ceph Storage 3.0 bug fix and enhancement update 2017-12-06 03:03:45 UTC
Github ceph ceph-ansible pull 1864 None None None 2017-09-07 10:09:14 UTC

Description Marius Cornea 2017-09-06 17:01:18 UTC
Created attachment 1322757 [details]
ceph-install-workflow.log

Description of problem:
OSP11 -> OSP12 upgrade: switch-from-non-containerized-to-containerized-ceph-daemons.yml fails with: "'list object' has no attribute 'stdout_lines'":


2017-09-06 12:52:13,691 p=17740 u=mistral |  TASK [check if containerized osds are already running] *************************
2017-09-06 12:52:13,703 p=17740 u=mistral |  fatal: [192.168.24.9]: FAILED! => {"failed": true, "msg": "'list object' has no attribute 'stdout_lines'"}
2017-09-06 12:52:13,704 p=17740 u=mistral |  PLAY RECAP *********************************************************************
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.14              : ok=59   changed=6    unreachable=0    failed=0   
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.15              : ok=50   changed=5    unreachable=0    failed=0   
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.16              : ok=4    changed=0    unreachable=0    failed=0   
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.18              : ok=52   changed=7    unreachable=0    failed=0   
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.6               : ok=4    changed=0    unreachable=0    failed=0   
2017-09-06 12:52:13,705 p=17740 u=mistral |  192.168.24.9               : ok=12   changed=0    unreachable=0    failed=1   
2017-09-06 12:52:13,705 p=17740 u=mistral |  localhost                  : ok=0    changed=0    unreachable=0    failed=0   

We can see that the 'devices' var in https://github.com/ceph/ceph-ansible/blob/master/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml#L178-L182 doesn't have any stdout_lines attribute:

2017-09-06 12:52:13,665 p=17740 u=mistral |  TASK [debug] *******************************************************************
2017-09-06 12:52:13,685 p=17740 u=mistral |  ok: [192.168.24.9] => {
    "msg": [
        "/dev/vdb"
    ]
}


Version-Release number of selected component (if applicable):
ceph-ansible-3.0.0-0.rc6.4.g0d9489f.el7.noarch
openstack-tripleo-heat-templates-7.0.0-0.20170901051303.0rc1.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy OSP11 with 3 ctrls, 1 compute, 3 ceph osd nodes
2. Upgrade to OSP12 using ceph-ansible

Actual results:
Upgrade fails when running the  switch-from-non-containerized-to-containerized-ceph-daemons.yml  playbook.

Expected results:
Upgrade doesn't fail.

Additional info:
I am attaching /var/log/mistral/ceph-install-workflow.log. 
Note: before the 'check if containerized osds are already running' task i added a debug step for the devies var:
    - debug: msg="{{ devices }}"

Comment 2 seb 2017-09-07 06:54:38 UTC
I need to see the variables you are passing to execute your playbook, I suspect that 'devices' is already declared as an extra var. This might explain why there is no stdout_lines. Still it's strange, even if the var exist if should be overwritten by the set_fact.

Comment 3 Giulio Fidente 2017-09-07 06:58:46 UTC
(In reply to seb from comment #2)
> I need to see the variables you are passing to execute your playbook, I
> suspect that 'devices' is already declared as an extra var. This might
> explain why there is no stdout_lines. Still it's strange, even if the var
> exist if should be overwritten by the set_fact.

devices is passed as extra_vars yes; attaching full list.

Comment 4 Giulio Fidente 2017-09-07 06:59:19 UTC
Created attachment 1322922 [details]
extra_vars.txt

Comment 5 seb 2017-09-08 07:40:12 UTC
Fix merge upstream

Comment 8 Harish NV Rao 2017-09-12 07:01:32 UTC
@Marius @Giulio, if you are verifying this bug fix, could you please provide the qa_ack?

Comment 12 errata-xmlrpc 2017-12-05 23:42:05 UTC
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:3387


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