Bug 865335

Summary: RFE: disks should have a persistent serial ID
Product: Red Hat OpenStack Reporter: Yaniv Kaul <ykaul>
Component: openstack-novaAssignee: Eoghan Glynn <eglynn>
Status: NEW --- QA Contact: Omri Hochman <ohochman>
Severity: medium Docs Contact:
Priority: low    
Version: 1.0 (Essex)CC: apevec, berrange, bsettle, eglynn, markmc, sclewis, sgordon
Target Milestone: gaKeywords: CodeChange, FutureFeature, MoveUpstream
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Yaniv Kaul 2012-10-11 05:07:38 EDT
Description of problem:
I'm not sure if downstream QEMU, without mentioning a serial ID for disk, sets a persistent one. Some programs use it (example: one of the Windows activation checks is if a disk was changed - and this is done by checking its ID. Another example - I suspect it's required for WHQL signing of block drivers).
We should add,serial=ca-b642-ebc2348af830 (for example) to the -drive parameter of QEMU

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

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 3 Daniel Berrange 2012-12-17 12:27:14 EST
Disks that are attached backed by Cinder volumes do get a 'serial' property set, but the regular OS disks do not. Should be pretty trivial to address this.
Comment 6 Solly Ross 2013-06-10 13:37:43 EDT
@danpb: can you confirm that this is still the case?  From what I can tell, on the latest version of the nova code, it would appear that everything gets assigned a serial property (there seem to be several explicit checks which say that if 'serial' is not in the connection info, use the volume id as the serial).  Is this still incorrect behavior?
Comment 8 Daniel Berrange 2013-09-16 13:55:06 EDT
It is still broken. Only the disks which are based on cinder volumes have a serial attribute set. Nothing in imagebackend.py is ever setting a serial attribute.  Even the cinder based serial attribute is really broken, because it is used a UUID string which gets truncated by QEMU, since the max serial field length is shorter than a UUID string.

We really need to re-think what we use for serial attributes with cinder volumes, and also make non-volume based disks have a serial attribute. A consistent naming scheme across both would be desirable