Bug 2227222

Summary: After upgrading to 4.14, deviceClasses is still set to hdd instead of ssd
Product: [Red Hat Storage] Red Hat OpenShift Data Foundation Reporter: Vijay Avuthu <vavuthu>
Component: rookAssignee: Santosh Pillai <sapillai>
Status: CLOSED NOTABUG QA Contact: Vijay Avuthu <vavuthu>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.14CC: cblum, muagarwa, nigoyal, ocs-bugs, odf-bz-bot
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-31 06:58:50 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 Vijay Avuthu 2023-07-28 11:41:15 UTC
Description of problem (please be detailed as possible and provide log
snippests):

After upgrading cluster to 4.14, deviceClasses is still set to hdd instead of ssd. 
Also "ceph osd tree" is dtill showing as hdd

Version of all relevant components (if applicable):
ODF upgraded from 4.13.0-218 to 4.14.0-90


Does this issue impact your ability to continue to work with the product
(please explain in detail what is the user impact)?
No

Is there any workaround available to the best of your knowledge?
No

Rate from 1 - 5 the complexity of the scenario you performed that caused this
bug (1 - very simple, 5 - very complex)?
1

Can this issue reproducible?
1/1

Can this issue reproduce from the UI?
Not Tried

If this is a regression, please provide more details to justify this:


Steps to Reproduce:
1. install ODF 4.13.0-218 using ocs-ci
2. upgrade cluster to 4.14.0-90
3. check ssd is updated in all places ( cephcluster, "ceph osd tree" )


Actual results:

$ oc get cephcluster ocs-storagecluster-cephcluster -o yaml | grep -i deviceClasses -A1
    deviceClasses:
    - name: hdd
$

$ oc exec rook-ceph-tools-796c9b77d6-ms64z -- ceph osd tree
ID   CLASS  WEIGHT   TYPE NAME                                 STATUS  REWEIGHT  PRI-AFF
 -1         1.50000  root default                                                       
-12         0.50000      rack rack0                                                     
-11         0.50000          host ocs-deviceset-0-data-0fksmt                           
  2    hdd  0.50000              osd.2                             up   1.00000  1.00000
 -4         0.50000      rack rack1                                                     
 -3         0.50000          host ocs-deviceset-1-data-0qxmqx                           
  1    hdd  0.50000              osd.1                             up   1.00000  1.00000
 -8         0.50000      rack rack2                                                     
 -7         0.50000          host ocs-deviceset-2-data-0sp4kp                           
  0    hdd  0.50000              osd.0                             up   1.00000  1.00000


Expected results:

it should show ssd in all places 


Additional info:

upgrade job: https://url.corp.redhat.com/e054a89
must gather: https://url.corp.redhat.com/dc9ef4f

Comment 2 Santosh Pillai 2023-07-31 06:30:51 UTC
Hi Vijay

This behavior is expected. The change was only for new clusters/OSDs. More info about this can found in the EPIC description and comments -  https://issues.redhat.com/browse/RHSTOR-4326

Comment 3 Santosh Pillai 2023-07-31 06:32:07 UTC
Moved to on_QA in case the QE as any concerns. Please close the BZ if there are no further concerns.

Comment 4 Vijay Avuthu 2023-07-31 12:37:15 UTC
(In reply to Santosh Pillai from comment #2)
> Hi Vijay
> 
> This behavior is expected. The change was only for new clusters/OSDs. More
> info about this can found in the EPIC description and comments - 
> https://issues.redhat.com/browse/RHSTOR-4326

There is inconsistency here. Its updated for the "crushDeviceClass" and "tuneFastDeviceClass" parameters where as in other places ( mentioned in description ) its not updated.
We need to decide whether we update at all places or not update anything.

cephcluster: https://url.corp.redhat.com/7ebca76

Comment 5 Santosh Pillai 2023-07-31 13:10:11 UTC
(In reply to Vijay Avuthu from comment #4)
> (In reply to Santosh Pillai from comment #2)
> > Hi Vijay
> > 
> > This behavior is expected. The change was only for new clusters/OSDs. More
> > info about this can found in the EPIC description and comments - 
> > https://issues.redhat.com/browse/RHSTOR-4326
> 
> There is inconsistency here. Its updated for the "crushDeviceClass" and
> "tuneFastDeviceClass" parameters where as in other places ( mentioned in
> description ) its not updated.
> We need to decide whether we update at all places or not update anything.
> 
> cephcluster: https://url.corp.redhat.com/7ebca76


Hi Chris,

Any suggestions on this?  We expected this because rook does not change the deviceClass of existing OSDs.

Thanks,
Santosh

Comment 6 Chris Blum 2023-08-07 12:41:08 UTC
yes, please keep the device class of existing OSDs on upgrade the way it was before the upgrade. Only new OSDs that are added should be marked SSD. 

This means the following can be possible:
1) ODF 4.13, all OSDs marked as HDD
2) Upgrade to ODF 4.14, all OSDs still marked as HDD
3) Scale out, new OSDs are marked as SSD, old as HDD