]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_manager: define pool context
authorLoic Dachary <ldachary@redhat.com>
Thu, 20 Nov 2014 12:54:11 +0000 (13:54 +0100)
committerLoic Dachary <ldachary@redhat.com>
Tue, 13 Jan 2015 13:37:35 +0000 (14:37 +0100)
To create a pool before running a code bloc and remove it after.

   with manager.pool("mypool"):
        mytest..

Signed-off-by: Loic Dachary <ldachary@redhat.com>
tasks/ceph_manager.py

index 97f90a8ada96f9c2decf6ee510e97ecd0d7d6507..ac44233461b5747b1153421fe496deb4dff04c7a 100644 (file)
@@ -2,6 +2,7 @@
 ceph manager -- Thrasher and CephManager objects
 """
 from cStringIO import StringIO
+import contextlib
 import random
 import time
 import gevent
@@ -937,6 +938,12 @@ class CephManager:
                 erasure_code_profile_name=erasure_code_profile_name)
         return name
 
+    @contextlib.contextmanager
+    def pool(self, pool_name, pg_num=16, erasure_code_profile_name=None):
+        self.create_pool(pool_name, pg_num, erasure_code_profile_name)
+        yield
+        self.remove_pool(pool_name)
+
     def create_pool(self, pool_name, pg_num=16, erasure_code_profile_name=None):
         """
         Create a pool named from the pool_name parameter.