Bug 2279782
| Summary: | If application is not in CephPools, then do not try to set it | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | John Fulton <johfulto> |
| Component: | tripleo-ansible | Assignee: | Manoj Katari <mkatari> |
| Status: | CLOSED ERRATA | QA Contact: | Alfredo <alfrgarc> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 17.1 (Wallaby) | CC: | fpantano, mariel |
| Target Milestone: | z4 | Keywords: | Triaged |
| Target Release: | 17.1 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | tripleo-ansible-3.3.1-17.1.20240521070751.8debef3.el9ost | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2024-11-21 09:40:22 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: | |||
Thanks John for identifying the issue and fix.
'tripleo_cephadm_pools.application ' will not work as it is the list of dictionaries as shown below
tripleo_cephadm_pools: [{'name': 'vms', 'rule_name': 'replicated_rule', 'application': 'rbd'}, {'name': 'images', 'rule_name': 'replicated_rule', 'application': 'rbd'}, {'name': 'backups', 'rule_name': 'replicated_rule', 'application': 'rbd'}, {'application': 'rbd', 'name': 'volumes', 'rule_name': 'HDD'}, {'application': 'rbd', 'name': 'cinderfast', 'pg_num': 32, 'rule_name': 'SSD'}]
so 'when: item.application is defined' should be added for the task 'Enable application on Ceph pools'.
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 (RHOSP 17.1.4 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/RHBA-2024:9974 |
Stack update fails with: 2024-05-08 10:19:38,280 p=356942 u=stack n=ansible | 2024-05-08 10:19:38.279445 | 5254006d-8384-59af-b1b3-000000000106 | FATAL | Enable application on Ceph pools | iajohn01-overcloud-controller-0 | error={"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'application'\n\nThe error appears to be in '/usr/share/ansible/roles/tripleo_cephadm/tasks/pools.yaml': line 32, 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: Enable application on Ceph pools\n ^ here\n"} It happens here: https://github.com/openstack-archive/tripleo-ansible/blob/stable/wallaby/tripleo_ansible/roles/tripleo_cephadm/tasks/pools.yaml#L32-L38 The input should be defined in THT like this: CephPools: - name: volumes pg_num: 256 pgp_num: 256 application: rbd but if it were like this: CephPools: - name: volumes pg_num: 256 pgp_num: 256 It's better to not attempt to set the application and cause the update to fail. Thus we could add something like the following to pools.yaml's "Enable application on Ceph pools" task. when: - tripleo_cephadm_pools is defined - tripleo_cephadm_pools | length > 0 - tripleo_cephadm_pools.application is defined