From 5d50805b1c27cad701441ad5f049107b8bac932b Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sat, 22 Apr 2017 10:14:45 +0200 Subject: [PATCH] ceph-disk: implement prepare --no-locking Signed-off-by: Dan van der Ster Signed-off-by: Loic Dachary --- src/ceph-disk/ceph_disk/main.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ceph-disk/ceph_disk/main.py b/src/ceph-disk/ceph_disk/main.py index 69fe9f3eaa5c..a9d21351506e 100755 --- a/src/ceph-disk/ceph_disk/main.py +++ b/src/ceph-disk/ceph_disk/main.py @@ -1957,6 +1957,11 @@ class Prepare(object): default='{statedir}/bootstrap-osd/{cluster}.keyring', dest='prepare_key_template', ) + parser.add_argument( + '--no-locking', + action='store_true', default=None, + help='let many prepare\'s run in parallel', + ) return parser @staticmethod @@ -2017,8 +2022,11 @@ class Prepare(object): return parser def prepare(self): - with prepare_lock: - self.prepare_locked() + if self.args.no_locking: + self._prepare() + else: + with prepare_lock: + self._prepare() @staticmethod def factory(args): @@ -2047,7 +2055,7 @@ class PrepareFilestore(Prepare): PrepareJournal.parser(), ] - def prepare_locked(self): + def _prepare(self): if self.data.args.dmcrypt: self.lockbox.prepare() self.data.prepare(self.journal) @@ -2083,7 +2091,7 @@ class PrepareBluestore(Prepare): PrepareBluestoreBlockWAL.parser(), ] - def prepare_locked(self): + def _prepare(self): if self.data.args.dmcrypt: self.lockbox.prepare() to_prepare_list = [] -- 2.47.3