]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: replace require_*_osds flags with require_osd_release field
authorSage Weil <sage@redhat.com>
Fri, 12 May 2017 15:42:52 +0000 (11:42 -0400)
committerSage Weil <sage@redhat.com>
Tue, 30 May 2017 01:33:17 +0000 (21:33 -0400)
commit3118d9a15434e3eeb481cb91377feae2f649a940
treea92d285bf98c42cee2f0203e4b123280990472d4
parent0b517992e00b1e020d48fe996badb9056205c688
osd: replace require_*_osds flags with require_osd_release field

- OSDMap encode and decode translate between the flags and int
representations.
- OSDMap::Incremental only does decode; we do not expect to ever encode
an incremental osdmap for an old osd that sets any of these flags.
- the 'osd set' command still lets you set the jewel and kraken flags,
but not luminous.
- OSDMap::apply_incremental handles the conversion of legacy require flags
to the new field if the jewel or kraken flags have to be set before
starting the osd upgrade.
- clear out the legacy flags when we make the luminous transition only;
until then we keep using the old flag in the encoded and decoded version
(although the require_osd_release field will be accurate in memory in all
cases).

Signed-off-by: Sage Weil <sage@redhat.com>
qa/releases/luminous-with-mgr.yaml
qa/releases/luminous.yaml
qa/suites/rados/thrash/d-require-luminous/at-end.yaml
qa/workunits/cephtool/test.sh
src/include/rados.h
src/mon/MonCommands.h
src/mon/OSDMonitor.cc
src/osd/OSDMap.cc
src/osd/OSDMap.h