]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/mon_types: add mon feature for octopus
authorSage Weil <sage@redhat.com>
Fri, 22 Mar 2019 22:29:18 +0000 (17:29 -0500)
committerSage Weil <sage@redhat.com>
Mon, 1 Apr 2019 16:26:33 +0000 (11:26 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
qa/standalone/mon/misc.sh
src/mon/mon_types.h

index 3e70de85d819401c0cbc69eae4079393eca72904..da847d579804dd1563fe811db301fddcb816c309 100755 (executable)
@@ -237,7 +237,7 @@ function TEST_mon_features() {
 
     # monmap must have not all k l m persistent
     # features set.
-    jqfilter='.monmap.features.persistent | length == 5'
+    jqfilter='.monmap.features.persistent | length == 6'
     jq_success "$jqinput" "$jqfilter" || return 1
     jqfilter='.monmap.features.persistent[]|select(. == "kraken")'
     jq_success "$jqinput" "$jqfilter" "kraken" || return 1
@@ -249,6 +249,8 @@ function TEST_mon_features() {
     jq_success "$jqinput" "$jqfilter" "osdmap-prune" || return 1
     jqfilter='.monmap.features.persistent[]|select(. == "nautilus")'
     jq_success "$jqinput" "$jqfilter" "nautilus" || return 1
+    jqfilter='.monmap.features.persistent[]|select(. == "octopus")'
+    jq_success "$jqinput" "$jqfilter" "octopus" || return 1
 
     CEPH_ARGS=$CEPH_ARGS_orig
     # that's all folks. thank you for tuning in.
index 0539ae2e05fb30d5f2168dafa08360b602952f9d..22f39409699360841f300fd3a086eafa42605def 100644 (file)
@@ -495,6 +495,7 @@ namespace ceph {
       constexpr mon_feature_t FEATURE_MIMIC(      (1ULL << 2));
       constexpr mon_feature_t FEATURE_OSDMAP_PRUNE (1ULL << 3);
       constexpr mon_feature_t FEATURE_NAUTILUS(    (1ULL << 4));
+      constexpr mon_feature_t FEATURE_OCTOPUS(    (1ULL << 5));
 
       constexpr mon_feature_t FEATURE_RESERVED(   (1ULL << 63));
       constexpr mon_feature_t FEATURE_NONE(       (0ULL));
@@ -511,6 +512,7 @@ namespace ceph {
          FEATURE_MIMIC |
           FEATURE_OSDMAP_PRUNE |
          FEATURE_NAUTILUS |
+         FEATURE_OCTOPUS |
          FEATURE_NONE
          );
       }
@@ -531,6 +533,7 @@ namespace ceph {
          FEATURE_MIMIC |
          FEATURE_NAUTILUS |
          FEATURE_OSDMAP_PRUNE |
+         FEATURE_OCTOPUS |
          FEATURE_NONE
          );
       }
@@ -549,6 +552,9 @@ namespace ceph {
 
 static inline int infer_ceph_release_from_mon_features(mon_feature_t f)
 {
+  if (f.contains_all(ceph::features::mon::FEATURE_OCTOPUS)) {
+    return CEPH_RELEASE_OCTOPUS;
+  }
   if (f.contains_all(ceph::features::mon::FEATURE_NAUTILUS)) {
     return CEPH_RELEASE_NAUTILUS;
   }
@@ -577,6 +583,8 @@ static inline const char *ceph::features::mon::get_feature_name(uint64_t b) {
     return "osdmap-prune";
   } else if (f == FEATURE_NAUTILUS) {
     return "nautilus";
+  } else if (f == FEATURE_OCTOPUS) {
+    return "octopus";
   } else if (f == FEATURE_RESERVED) {
     return "reserved";
   }
@@ -595,6 +603,8 @@ inline mon_feature_t ceph::features::mon::get_feature_by_name(const std::string
     return FEATURE_OSDMAP_PRUNE;
   } else if (n == "nautilus") {
     return FEATURE_NAUTILUS;
+  } else if (n == "octopus") {
+    return FEATURE_OCTOPUS;
   } else if (n == "reserved") {
     return FEATURE_RESERVED;
   }