Bug 1499404

Summary: [ceph-ansible] [ceph-container] : osd disk preparation failing for non-collocated scenario - 'None' has no attribute 'get'
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Vasishta <vashastr>
Component: Ceph-AnsibleAssignee: Sébastien Han <shan>
Status: CLOSED ERRATA QA Contact: Vasishta <vashastr>
Severity: high Docs Contact:
Priority: high    
Version: 3.0CC: adeza, anharris, aschoen, ceph-eng-bugs, gmeno, nthomas, sankarshan
Target Milestone: rc   
Target Release: 3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: ceph-ansible-3.0.0-0.1.rc19 Ubuntu: ceph-ansible-3.0.0~rc19-2redhat1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-05 23:47:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File contains ansible-playbook log, inventory file and contents of all.yml none

Description Vasishta 2017-10-07 07:33:32 UTC
Created attachment 1335637 [details]
File contains ansible-playbook log, inventory file and contents of all.yml

Description of problem:
OSD disk preparation in non-collocated scenario is failing saying 'None' has no attribute 'get'

Version-Release number of selected component (if applicable):
ceph-ansible-3.0.0-0.1.rc17.el7cp.noarch

How reproducible:
Always (3/3)

Steps to Reproduce:
1. Configure ceph-ansible to initialize containerized cluster having non-collocated OSD.
2. Run playbook.

Actual results:
fatal: [magna097]: FAILED! => {"failed": true, "msg": "The conditional check 'not item.0.get(\"skipped\")' failed. The error was: error while evaluating conditional (not item.0.get(\"skipped\")): 'None' has no attribute 'get'\n\nThe error appears to have been in '/usr/share/ceph-ansible/roles/ceph-osd/tasks/scenarios/non-collocated.yml': line 5, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n# starting the next task\n- name: prepare ceph \"{{ osd_objectstore }}\" containerized osd disk(s) non-collocated\n  ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes.  Always quote template expression brackets when they\nstart a value. For instance:\n\n    with_items:\n      - {{ foo }}\n\nShould be written as:\n\n    with_items:\n      - \"{{ foo }}\"\n"}



Expected results:
OSD preparation of OSD disks must be successful

Additional info:
OSD vars initialized in inventory file - 

magna069 dedicated_devices="['/dev/sdd','/dev/sdd']" devices="['/dev/sdb','/dev/sdc']" osd_scenario="non-collocated"
magna097 dedicated_devices="['/dev/sdd','/dev/sdd']" devices="['/dev/sdb','/dev/sdc']" osd_scenario="non-collocated" dmcrypt='true'

contents of osds.yml -
$ cat group_vars/osds.yml | egrep -v ^# | grep -v ^$
---
dummy:
ceph_osd_docker_prepare_env: -e OSD_JOURNAL_SIZE={{ journal_size }}


Attachment contains complete log and inventory file and contents of all.yml, please let me know if I have missed any configurations

Comment 2 Sébastien Han 2017-10-08 14:49:17 UTC
Fixed in rc18

Comment 7 Vasishta 2017-10-16 13:30:06 UTC
Working file with ceph-ansible-3.0.2-1.el7cp.noarch, moving to VERIFIED state.

Comment 10 errata-xmlrpc 2017-12-05 23:47:21 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