]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Handle newer btrfstools.
authorSandon Van Ness <sandon@inktank.com>
Wed, 12 Mar 2014 01:15:12 +0000 (18:15 -0700)
committerSandon Van Ness <sandon@inktank.com>
Wed, 12 Mar 2014 01:15:12 +0000 (18:15 -0700)
Newer btfs userland tools needs a -f like xfs instead of a prompt
for yes. Trusty needs this change.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
teuthology/task/ceph.py

index 0f8f45eb9900dcf48feb6bf9c1291793aa41b3fc..8a02770db1d32c7a38b7ef6dc26458bef0361faa 100644 (file)
@@ -748,7 +748,17 @@ def cluster(ctx, config):
                             ],
                         stdout=StringIO(),
                         )
-                remote.run(args= ['yes', run.Raw('|')] + ['sudo'] + mkfs + [dev])
+
+                try:
+                    remote.run(args= ['yes', run.Raw('|')] + ['sudo'] + mkfs + [dev])
+                except run.CommandFailedError:
+                    # Newer btfs-tools doesn't prompt for overwrite, use -f
+                    if '-f' not in mount_options:
+                        mkfs_options.append('-f')
+                        mkfs = ['mkfs.%s' % fs] + mkfs_options
+                        log.info('%s on %s on %s' % (mkfs, dev, remote))
+                    remote.run(args= ['yes', run.Raw('|')] + ['sudo'] + mkfs + [dev])
+                        
                 log.info('mount %s on %s -o %s' % (dev, remote,
                                                    ','.join(mount_options)))
                 remote.run(