Project

General

Profile

Actions

Bug #20430

closed

crush_location_hook does not work with Luminous

Added by Wido den Hollander almost 7 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
OSD
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Trying with the Luminous RC it seems that the crush_location_hook isn't invoked.

The OSDs always seem to add themselves to root=default host=xyz

Looking at the source code the culprit seems to be in crush/CrushLocation.h

public:
  CrushLocation(CephContext *c) : cct(c) {
    update_from_conf();
  }

  int update_from_conf();  ///< refresh from config
  int update_from_hook();  ///< call hook, if present
  int init_on_startup();

  std::multimap<std::string,std::string> get_location() {
    std::lock_guard<std::mutex> l(lock);
    return loc;
  }
};

update_from_conf() is called in the constructor, but to me it seems that init_on_startup() should be called

Actions #2

Updated by Josh Durgin almost 7 years ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by xie xingguo almost 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF