Skip to content

Commit

Permalink
osd: update existing OSDs with deviceClass
Browse files Browse the repository at this point in the history
If we apply useAllNodes to false for the current deployment,
the OSDs should get updated with the individual nodes values and config,
The deviceClass was not updating to the existing OSDs because there was
bug in the check.
The check osdInfo.DeviceClass == "" which should be
checked like this osdInfo.DeviceClass == "None"

Updated the code so OSDs can make use of the devices present

Signed-off-by: parth-gr <paarora@redhat.com>
  • Loading branch information
parth-gr committed Nov 29, 2021
1 parent 35b28f7 commit cbe505d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pkg/operator/ceph/cluster/osd/update.go
Expand Up @@ -126,7 +126,9 @@ func (c *updateConfig) updateExistingOSDs(errs *provisionErrors) {
}

// backward compatibility for old deployments
if osdInfo.DeviceClass == "" {
// Checking DeviceClass with None too, because ceph-volume lvm list return crush device class as None
// Tracker https://tracker.ceph.com/issues/53425
if osdInfo.DeviceClass == "" || osdInfo.DeviceClass == "None" {
deviceClassInfo, err := cephclient.OSDDeviceClasses(c.cluster.context, c.cluster.clusterInfo, []string{strconv.Itoa(osdID)})
if err != nil {
logger.Errorf("failed to get device class for existing deployment %q. %v", depName, err)
Expand Down

0 comments on commit cbe505d

Please sign in to comment.