]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
radosgw-admin: realm pull should not fail if the realm exists
authorOrit Wasserman <owasserm@redhat.com>
Mon, 18 Jan 2016 12:17:57 +0000 (13:17 +0100)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 12 Feb 2016 00:13:55 +0000 (16:13 -0800)
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/rgw/rgw_admin.cc

index d922e01609ed390f2e497834db940f690cc91177..a3af3ea779d3e40cc30ac1078918cd8fd81c167d 100644 (file)
@@ -2402,7 +2402,7 @@ int main(int argc, char **argv)
         try {
           decode_json_obj(realm, &p);
         } catch (JSONDecoder::err& e) {
-          cout << "failed to decode JSON response: " << e.message << std::endl;
+          cerr << "failed to decode JSON response: " << e.message << std::endl;
           return -EINVAL;
         }
         RGWPeriod period;
@@ -2418,11 +2418,17 @@ int main(int argc, char **argv)
           }
         }
         ret = realm.create(false);
-        if (ret < 0) {
+        if (ret < 0 && ret != -EEXIST) {
           cerr << "Error storing realm " << realm.get_id() << ": "
             << cpp_strerror(ret) << std::endl;
           return ret;
-        }
+        } else if (ret ==-EEXIST) {
+         ret = realm.update();
+         if (ret < 0) {
+           cerr << "Error storing realm " << realm.get_id() << ": "
+                << cpp_strerror(ret) << std::endl;
+         }
+       }
 
         if (set_default) {
           ret = realm.set_as_default();
@@ -2572,6 +2578,7 @@ int main(int argc, char **argv)
        }
        string default_zonegroup;
        ret = zonegroup.read_default_id(default_zonegroup);
+       cout << "read_default_id : " << ret << std::endl;
        if (ret < 0 && ret != -ENOENT) {
          cerr << "could not determine default zonegroup: " << cpp_strerror(-ret) << std::endl;
        }