Project

General

Profile

Bug #20430

crush_location_hook does not work with Luminous

Added by Wido den Hollander over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
OSD
Target version:
-
Start date:
06/27/2017
Due date:
% Done:

0%

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

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

History

#2 Updated by Josh Durgin over 2 years ago

  • Status changed from New to Need Review

#3 Updated by xie xingguo over 2 years ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF