Bug 1671049

Summary: OSP Director - handle lowercase uuid change for dmidecode >= 3.1 for ceph-ansible per-node customizations
Product: Red Hat OpenStack Reporter: Giulio Fidente <gfidente>
Component: openstack-tripleo-heat-templatesAssignee: Giulio Fidente <gfidente>
Status: CLOSED ERRATA QA Contact: Eliad Cohen <elicohen>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 14.0 (Rocky)CC: fpantano, mariel, mburns, rheslop, shdunne, troels, yrabl
Target Milestone: z1Keywords: Triaged, ZStream
Target Release: 14.0 (Rocky)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-9.2.1-0.20190119154859.fe11ade.el7ost Doc Type: Bug Fix
Doc Text:
Previously, per-node customization with the heat `NodeDataLookup` parameter was not possible with RHEL 7.6. This was caused by updated versions of dmidecode 3.1 or later that returned system UUIDs in lowercase. This fix updates the `openstack-tripleo-heat-templates` package to accept uppercase or lowercase UUIDs.
Story Points: ---
Clone Of: 1668774 Environment:
Last Closed: 2019-03-18 13:03:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1668774, 1673141    

Description Giulio Fidente 2019-01-30 16:12:12 UTC
+++ This bug was initially created as a clone of Bug #1668774 +++

Description of problem:
dmidecode >= 3.1 now displays uuid in lowercase.

https://github.com/mirror/dmidecode/blob/master/NEWS

Systems deployed with per node ceph-ansible customization prior this version may break during patching and cause deployment failures.  An example would be this failure:

openstack stack resource list -n5 overcloud | grep -v COMPLETE 
+-----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
| resource_name                           | physical_resource_id                                                                                                                                                                 | resource_type                                                                                                                             | resource_status | updated_time         | stack_name                                                                                                                                               |
+-----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
| AllNodesDeploySteps                     | 129027a6-c80c-43dd-ad8e-8a847a023a3a                                                                                                                                                 | OS::TripleO::PostDeploySteps                                                                                                              | UPDATE_FAILED   | 2019-01-17T20:50:17Z | overcloud                                                                                                                                                |
| WorkflowTasks_Step2_Execution           | 5451ca1d-de57-42c7-9107-24af27a75a66                                                                                                                                                 | OS::TripleO::WorkflowSteps                                                                                                                | CREATE_FAILED   | 2019-01-17T20:53:07Z | overcloud-AllNodesDeploySteps-zh5jioeqopmc                                                                                                               |
+-----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+

ceph-install-workflow.log
2019-01-17 19:09:35,976 p=22329 u=mistral |  failed: [192.168.24.15] (item=/dev/vdb) => {"changed": false, "err": "Error: Could not stat device /dev/vdb - No such file or directory.\n", "failed": true, "item": "/dev/vdb", "msg": "Error while getting device information with parted script: '/sbin/parted -s -m /dev/vdb -- unit 'MiB' print'", "out": "", "rc": 1}


The puppet hiera data per node issue is addressed here so the same is needed for ceph-ansible:

https://bugzilla.redhat.com/show_bug.cgi?id=1654449


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

How reproducible:
100%

Steps to Reproduce:
1. Deploy with dmidecode <= 3.1 with per node customizations
2. upgrade systems to dmidecode >= 3.1
3. observe deployment failure or global config applied where per node config was configured.


Additional info:

$ rpm -q dmidecode
dmidecode-3.0-5.el7.x86_64
$ sudo dmidecode -s system-uuid
A6F05964-0E55-42C9-938E-1E657C49EFDB
$ sudo yum -y update dmidecode
...
Updated:
  dmidecode.x86_64 1:3.1-2.el7                                                                                                                                                 

Complete!
$ sudo dmidecode -s system-uuid
a6f05964-0e55-42c9-938e-1e657c49efdb

--- Additional comment from Giulio Fidente on 2019-01-30 16:09:26 UTC ---

it looks like this was an issue introduced in dmidecode 3.1 and fixed starting from 3.2, see https://github.com/mirror/dmidecode/commit/aec83995082070c47edf394c4b7f9f17fea7fd16 and https://savannah.nongnu.org/bugs/index.php?53569

we'll probably need to ensure our code makes case-insesitive matching anyway

Comment 1 Giulio Fidente 2019-01-30 17:08:48 UTC
*** Bug 1671065 has been marked as a duplicate of this bug. ***

Comment 6 Mikey Ariel 2019-02-20 12:44:25 UTC
If this bug requires doc text for errata release, please set the 'Doc Type' and provide draft text according to the template in the 'Doc Text' field. The documentation team will review, edit, and approve the text.

If this bug does not require doc text, please set the 'requires_doc_text' flag to -.

Comment 7 Eliad Cohen 2019-02-28 16:49:12 UTC
Verified with a custom list of osds per ceph node (Using NodeDataLookup and mixed capitalization of uuids)

Comment 9 errata-xmlrpc 2019-03-18 13:03:28 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-2019:0446