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>
(cherry picked from commit cbe505d)
  • Loading branch information
parth-gr authored and mergify-bot committed Nov 29, 2021
1 parent cf2b787 commit cb6f87e
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 @@ -129,7 +129,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 cb6f87e

Please sign in to comment.