Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1848113

Summary: CinderRbdExtraPools fails with external Ceph
Product: Red Hat OpenStack Reporter: Tom Bonds <tbonds>
Component: tripleo-ansibleAssignee: Francesco Pantano <fpantano>
Status: CLOSED ERRATA QA Contact: Yogev Rabl <yrabl>
Severity: high Docs Contact:
Priority: high    
Version: 16.0 (Train)CC: fpantano, gfidente, johfulto, kthakre, mbultel, spower, sputhenp
Target Milestone: z2Keywords: Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tripleo-ansible-0.5.1-1.20200914163922.902c3c8.el8ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-28 15:37:36 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:

Description Tom Bonds 2020-06-17 17:21:54 UTC
Description of problem: defining CinderRbdExtraPools with external Ceph fails in "tripleo-ceph-work-dir : add cinder extra pools" task


Version-Release number of selected component (if applicable): tripleo-ansible-0.4.2-0.20200404124615.67005aa.el8ost.noarch


How reproducible: always


Steps to Reproduce:
1. define CinderRbdExtraPools: ssd_volumes
2. deploy overcloud with external Ceph
3.

Actual results: deploy fails with
TASK [tripleo-ceph-work-dir : add cinder extra pools] **************************
Wednesday 17 June 2020  11:04:54 -0400 (0:00:00.121)       0:04:15.211 ******** 
fatal: [undercloud]: FAILED! => {"msg": "The conditional check 'item not in overrides' failed. The error was: error while evaluating conditional (item not in overrides): Unable to look up a name or access an attribute in template string ({% if item not in overrides %} True {% else %} False {% endif %}).\nMake sure your variable name does not contain invalid characters like '-': argument of type 'AnsibleUndefined' is not iterable\n\nThe error appears to be in '/usr/share/ansible/roles/tripleo-ceph-work-dir/tasks/build_pools.yml': line 64, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n    - name: add cinder extra pools\n      ^ here\n"}


Expected results: deploy succeeds


Additional info: seems to be due to overrides being empty with external Ceph. deploy is successful with following patch

$ diff -u build_pools.yml.a build_pools.yml.b
--- build_pools.yml.a   2020-06-17 13:17:16.652703924 -0400
+++ build_pools.yml.b   2020-06-17 13:17:38.475959097 -0400
@@ -69,7 +69,7 @@
       with_items: "{{ ceph_pools.cinder_pool.cinder_extra_pools }}"
       when:
         - tripleo_pool_volumes
-        - item not in overrides
+        - item not in overrides|default([])
 
     - name: build resulting pool list
       set_fact:



2020-06-17 12:29:08,813 p=55528 u=mistral |  TASK [tripleo-ceph-work-dir : add cinder extra pools] **************************
2020-06-17 12:29:08,813 p=55528 u=mistral |  Wednesday 17 June 2020  12:29:08 -0400 (0:00:00.108)       0:04:22.148 ******** 
2020-06-17 12:29:08,868 p=55528 u=mistral |  ok: [undercloud] => (item=ssd_volumes) => {"ansible_facts": {"cinder_extra": [{"application": "rbd", "name": "ssd_volumes", "pg_num": "128", "rule_name": "rep
licated_rule"}]}, "ansible_loop_var": "item", "changed": false, "item": "ssd_volumes"}

Comment 9 Yogev Rabl 2020-09-30 00:43:27 UTC
verified on tripleo-ansible-0.5.1-1.20200914163922.902c3c8.el8ost.noarch

Comment 15 errata-xmlrpc 2020-10-28 15:37:36 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 (Red Hat OpenStack Platform 16.1 bug fix and enhancement 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/RHEA-2020:4284