]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
misc: make get_scratch_devices look for (almost) any disk that's not mounted
authorSage Weil <sage@newdream.net>
Sat, 11 Feb 2012 22:20:18 +0000 (14:20 -0800)
committerSage Weil <sage@newdream.net>
Mon, 13 Feb 2012 23:28:24 +0000 (15:28 -0800)
teuthology/misc.py

index 2b144c73b5c92be2c9f24e869a74d63123983afc..71d8fbdca4797ec0966fc026319a46b334a567b4 100644 (file)
@@ -249,15 +249,42 @@ def get_scratch_devices(remote):
         file_data = get_file(remote, "/scratch_devs")
         devs = file_data.split()
     except:
-        devs = ['/dev/sdb']
+        devs = [
+            '/dev/sda',
+            '/dev/sdb',
+            '/dev/sdc',
+            '/dev/sdd',
+            '/dev/sde',
+            '/dev/sdf',
+            '/dev/sdg',
+            '/dev/sdh',
+            '/dev/sdi',
+            '/dev/sdj',
+            '/dev/sdk',
+            '/dev/sdl',
+            '/dev/sdm',
+            '/dev/sdn',
+            '/dev/sdo',
+            '/dev/sdp',
+            ]
 
     retval = []
     for dev in devs:
         try:
             remote.run(
                 args=[
+                    # node exists
                     'stat',
-                    dev
+                    dev,
+                    run.Raw('&&'),
+                    # readable
+                    'sudo', 'dd', 'if=%s' % dev, 'of=/dev/null', 'count=1',
+                    run.Raw('&&'),                   
+                    # not mounted
+                    run.Raw('!'),
+                    'mount',
+                    run.Raw('|'),
+                    'grep', '-q', dev,
                     ]
                 )
             retval.append(dev)