Project

General

Profile

Actions

Feature #51984

closed

[RFE] Provide warning when the 'require-osd-release' flag does not match current release.

Added by Vikhyat Umrao over 2 years ago. Updated almost 2 years ago.

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

0%

Source:
Tags:
Backport:
pacific, octopus, nautilus
Reviewed:
Affected Versions:
Component(RADOS):
Pull request ID:

Description


Related issues 4 (0 open4 closed)

Related to CephFS - Bug #53615: qa: upgrade test fails with "timeout expired in wait_until_healthy"ResolvedPatrick Donnelly

Actions
Copied to RADOS - Backport #53549: nautilus: [RFE] Provide warning when the 'require-osd-release' flag does not match current release.RejectedSridhar SeshasayeeActions
Copied to RADOS - Backport #53550: octopus: [RFE] Provide warning when the 'require-osd-release' flag does not match current release.ResolvedSridhar SeshasayeeActions
Copied to RADOS - Backport #53551: pacific: [RFE] Provide warning when the 'require-osd-release' flag does not match current release.ResolvedSridhar SeshasayeeActions
Actions #1

Updated by Sebastian Wagner over 2 years ago

Thinking. cephadm sets this automatically after the upgrade finishes in https://github.com/ceph/ceph/blob/c50d8ebdefcf8fe7b7b96ddf30124cc41ae77654/src/pybind/mgr/cephadm/upgrade.py#L761-L771 . Can we further hide this flag altogether and set this always to the minimum OSD version within the cluster? Is there a need to later add outdated OSDs to a cluster? Seems like an edge case to me. I'd favor if we hide things instead of creating new warnings.

Actions #2

Updated by Vikhyat Umrao over 2 years ago

Sebastian Wagner wrote:

Thinking. cephadm sets this automatically after the upgrade finishes in https://github.com/ceph/ceph/blob/c50d8ebdefcf8fe7b7b96ddf30124cc41ae77654/src/pybind/mgr/cephadm/upgrade.py#L761-L771 . Can we further hide this flag altogether and set this always to the minimum OSD version within the cluster? Is there a need to later add outdated OSDs to a cluster? Seems like an edge case to me. I'd favor if we hide things instead of creating new warnings.

I agree we could do it at MGR when all the OSD's up/in the MGR can set the flag, instead of leaving it to external tools it could be ceph-ansible, cephadm or manual upgrades scripts etc. If we could do this no need for a warning.

Actions #3

Updated by Vikhyat Umrao over 2 years ago

  • Priority changed from Normal to High
Actions #4

Updated by Neha Ojha over 2 years ago

  • Assignee set to Sridhar Seshasayee
Actions #5

Updated by Sridhar Seshasayee over 2 years ago

I am providing the history of PRs and commits that resulted in
the loss/removal of the checks for 'require-osd-release' flag
starting from the mimic release.

1. The commit below from PR: https://github.com/ceph/ceph/pull/15643
added the new OSDMonitor::_check_health(). This did not
implement the 'require-osd-release' checks but left a
placeholder to implement it at a later point in time.

   mon/OSDMonitor: implement new health checks

    Signed-off-by: Sage Weil <sage@redhat.com>
    PR: https://github.com/ceph/ceph/pull/15643
    commit 24a1636302f522e7355ef39584868ac22c75eae8
    committed on Jul 12, 2017

2. The following commit from the same PR in (1) above moved
OSDMonitor::_check_health() to OSDMap::check_health()
as is without adding the 'require-osd-release' checks.

    mon: move osd health checks into OSDMap method
    ...with one check moving into HealthMonitor where it belongs.

     Signed-off-by: Sage Weil <sage@redhat.com>
     PR: https://github.com/ceph/ceph/pull/15643
     commit: 6a9924270b9fa263955e904366527405db1890aa     
     committed on Jul 12, 2017

3. The below commit from PR: https://github.com/ceph/ceph/pull/17322
removed the legacy OSDMonitor::get_health() method. This
method had the legacy 'require-osd-release' checks and
was removed as part of the following commit.

    mon: remove legacy get_health infrastructure

     Signed-off-by: Sage Weil <sage@redhat.com>
     PR: https://github.com/ceph/ceph/pull/17322
     commit: 729a08923fb4403b88baafa0ae75643cfefe6510
     committed on Sep 6, 2017

Therefore, the original checks would now need to be
re-introduced within OSDMap::check_health().

Actions #6

Updated by Sridhar Seshasayee over 2 years ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 44090
Actions #7

Updated by Neha Ojha over 2 years ago

  • Backport set to pacific, octopus, nautilus
Actions #8

Updated by Neha Ojha over 2 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #9

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53549: nautilus: [RFE] Provide warning when the 'require-osd-release' flag does not match current release. added
Actions #10

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53550: octopus: [RFE] Provide warning when the 'require-osd-release' flag does not match current release. added
Actions #11

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53551: pacific: [RFE] Provide warning when the 'require-osd-release' flag does not match current release. added
Actions #12

Updated by Patrick Donnelly over 2 years ago

  • Related to Bug #53615: qa: upgrade test fails with "timeout expired in wait_until_healthy" added
Actions #13

Updated by Sridhar Seshasayee almost 2 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF