Project

General

Profile

Actions

Feature #6805

closed

mon: find a way to properly extend/change mon commands without breaking backward compatibility

Added by Joao Eduardo Luis over 10 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Monitor
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

This need stems from #6796. It became obvious that changing variable types will break compatibility with previous versions that expect a different type.

A possible solution may be introducing an 'api_version'.

[to-be-extended]

Actions #1

Updated by Joao Eduardo Luis over 10 years ago

  • Tracker changed from Bug to Feature
Actions #2

Updated by Greg Farnum over 10 years ago

  • Status changed from New to In Progress
  • Assignee set to Greg Farnum
  • Target version set to v0.75
  • Source changed from other to Development

Current plan: Leader will share its command map with peons. Peons will advertise the leader's set, validate incoming commands first against the leader's set (and reject if not present), then against their set, and if not present in their set (or if paramters between leader and peon command differ) will just forward the command to the leader automatically.
If peons do not get the command map from the leader, they can assume it is using the "classic" command mapping and just fill it in on their own.

This should cover any new monitors going forward and let new monitors deal with having a classic monitor as leader. We will need to ensure that new monitors continue to handle the classic format going forward (or eventually exclude old monitors) though in order to let new monitors lead classic peons. And this shared-broadcast format will sadly not apply to old monitors, but too bad. If you're trying to use new commands while running only part of your quorum on new monitors, the potential to get it rejected is to be expected (it should be prevented by other feature bits, anyway!).

Actions #3

Updated by Greg Farnum over 10 years ago

  • Status changed from In Progress to Fix Under Review

PR: https://github.com/ceph/ceph/pull/925

I haven't looked at backporting it to emperor yet, although it should be easy to do if we decide we want to! (I think we can do a mass cherry-pick -X).

Actions #4

Updated by Sage Weil over 10 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF