]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_test_rados_api_tier: tolerate ENOENT from 'pg scrub' 14807/head
authorSage Weil <sage@redhat.com>
Wed, 26 Apr 2017 13:47:09 +0000 (09:47 -0400)
committerSage Weil <sage@redhat.com>
Wed, 26 Apr 2017 13:47:09 +0000 (09:47 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/test/librados/tier.cc

index ab7130ce5a41a6c95e8fe1855900012ab48aade4..73d4d1eccc9efd6459bace3e8b68cb815de01dc6 100755 (executable)
@@ -530,11 +530,18 @@ TEST_F(LibRadosTwoPoolsPP, PromoteSnapScrub) {
     IoCtx cache_ioctx;
     ASSERT_EQ(0, cluster.ioctx_create(cache_pool_name.c_str(), cache_ioctx));
     for (int i=0; i<10; ++i) {
-      ostringstream ss;
-      ss << "{\"prefix\": \"pg scrub\", \"pgid\": \""
-        << cache_ioctx.get_id() << "." << i
-        << "\"}";
-      cluster.mon_command(ss.str(), inbl, NULL, NULL);
+      do {
+       ostringstream ss;
+       ss << "{\"prefix\": \"pg scrub\", \"pgid\": \""
+          << cache_ioctx.get_id() << "." << i
+          << "\"}";
+       int r = cluster.mon_command(ss.str(), inbl, NULL, NULL);
+       if (r == -ENOENT ||  // in case mgr osdmap is stale
+           r == -EAGAIN) {
+         sleep(5);
+         continue;
+       }
+      } while (false);
     }
 
     // give it a few seconds to go.  this is sloppy but is usually enough time
@@ -3072,8 +3079,11 @@ TEST_F(LibRadosTwoPoolsECPP, PromoteSnap) {
         << hash
         << "\"}";
       int r = cluster.mon_command(ss.str(), inbl, NULL, NULL);
-      if (r == -EAGAIN)
+      if (r == -EAGAIN ||
+         r == -ENOENT) {  // in case mgr osdmap is a bit stale
+       sleep(5);
        continue;
+      }
       ASSERT_EQ(0, r);
       break;
     }