]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ceph_argparse: introduce CephBool arguments
authorJohn Spray <john.spray@redhat.com>
Wed, 31 Oct 2018 16:59:20 +0000 (12:59 -0400)
committerJohn Spray <john.spray@redhat.com>
Fri, 2 Nov 2018 10:57:42 +0000 (06:57 -0400)
commit525623b6cd335ce4dd84879567bde214668c38de
tree930bbe351884cd2ded8daac0da06f3ee625fc304
parent6c1e4b825ccc4bf90e20f1c0d3205c97197b5ada
ceph_argparse: introduce CephBool arguments

This replaces use of CephChoices for cases like
--yes-i-really-really-mean-it.

It's a relatively invasive change, because both
client and server need to handle backward compatibility:
 - Clients are easy, they just cope with the server's
   use of CephChoices/CephString with a few special case
   strings to recognise --yes-i-really-mean-it and similar
 - Servers are harder, they have to convert CephBool arguments
   into a similar CephChoices argument that older clients will
   understand.  This involves propagating feature flags into
   some code paths that couldn't see them before.

Signed-off-by: John Spray <john.spray@redhat.com>
13 files changed:
src/common/admin_socket.cc
src/common/cmdparse.cc
src/common/cmdparse.h
src/mds/MDSDaemon.cc
src/mgr/DaemonServer.cc
src/mon/MonCommands.h
src/mon/Monitor.cc
src/mon/Monitor.h
src/mon/OSDMonitor.cc
src/osd/OSD.cc
src/pybind/ceph_argparse.py
src/test/common/get_command_descriptions.cc
src/test/pybind/test_ceph_argparse.py