]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: more lifecycle code cleanup and tooling
authorYehuda Sadeh <yehuda@redhat.com>
Fri, 27 Jul 2018 23:22:12 +0000 (16:22 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 11 Dec 2018 08:10:43 +0000 (00:10 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_lc.cc
src/rgw/rgw_lc.h

index 9da7175b3603afd6981278bc78317ad5d6a6345d..fe056655e2a3593f4017542c35373d1199602106 100644 (file)
@@ -45,6 +45,16 @@ bool LCRule::valid()
   return true;
 }
 
+void LCRule::init_simple_days_rule(std::string_view _id, std::string_view _prefix, int num_days)
+{
+  id = _id;
+  prefix = _prefix;
+  char buf[32];
+  snprintf(buf, sizeof(buf), "%d", num_days);
+  expiration.set_days(buf);
+  set_enabled(true);
+}
+
 void RGWLifecycleConfiguration::add_rule(LCRule *rule)
 {
   string id;
@@ -55,9 +65,7 @@ void RGWLifecycleConfiguration::add_rule(LCRule *rule)
 bool RGWLifecycleConfiguration::_add_rule(LCRule *rule)
 {
   lc_op op;
-  if (rule->get_status().compare("Enabled") == 0) {
-    op.status = true;
-  }
+  op.status = rule->is_enabled();
   if (rule->get_expiration().has_days()) {
     op.expiration = rule->get_expiration().get_days();
   }
index 260711149e238703ac8824f3b398c0766b8d16ad..83a4818ab63922a3d90598cfe6aed9c5ec6226b4 100644 (file)
@@ -175,6 +175,14 @@ public:
       return status;
   }
 
+  bool is_enabled() {
+    return status == "Enabled";
+  }
+
+  void set_enabled(bool flag) {
+    status = (flag ? "Enabled" : "Disabled");
+  }
+
   string& get_prefix() {
       return prefix;
   }
@@ -199,28 +207,28 @@ public:
     return dm_expiration;
   }
 
-  void set_id(string*_id) {
-    id = *_id;
+  void set_id(const string& _id) {
+    id = _id;
   }
 
-  void set_prefix(string*_prefix) {
-    prefix = *_prefix;
+  void set_prefix(const string& _prefix) {
+    prefix = _prefix;
   }
 
-  void set_status(string*_status) {
-    status = *_status;
+  void set_status(const string& _status) {
+    status = _status;
   }
 
-  void set_expiration(LCExpiration*_expiration) {
-    expiration = *_expiration;
+  void set_expiration(const LCExpiration& _expiration) {
+    expiration = _expiration;
   }
 
-  void set_noncur_expiration(LCExpiration*_noncur_expiration) {
-    noncur_expiration = *_noncur_expiration;
+  void set_noncur_expiration(const LCExpiration& _noncur_expiration) {
+    noncur_expiration = _noncur_expiration;
   }
 
-  void set_mp_expiration(LCExpiration* _mp_expiration) {
-    mp_expiration = *_mp_expiration;
+  void set_mp_expiration(const LCExpiration& _mp_expiration) {
+    mp_expiration = _mp_expiration;
   }
 
   void set_dm_expiration(bool _dm_expiration) {
@@ -263,19 +271,19 @@ public:
    }
   void dump(Formatter *f) const;
 
+  void init_simple_days_rule(std::string_view _id, std::string_view _prefix, int num_days);
 };
 WRITE_CLASS_ENCODER(LCRule)
 
 struct lc_op
 {
-  bool status;
-  bool dm_expiration;
-  int expiration;
-  int noncur_expiration;
-  int mp_expiration;
+  bool status{false};
+  bool dm_expiration{false};
+  int expiration{0};
+  int noncur_expiration{0};
+  int mp_expiration{0};
   boost::optional<ceph::real_time> expiration_date;
   boost::optional<RGWObjTags> obj_tags;
-  lc_op() : status(false), dm_expiration(false), expiration(0), noncur_expiration(0), mp_expiration(0) {}
   
   void dump(Formatter *f) const;
 };