unclean = [stat['pgid'] for stat in stats if 'active+clean' not in stat['state']]
split_merge = []
osd_dump = manager.get_osd_dump_json()
- split_merge = [i['pool_name'] for i in osd_dump['pools'] if i['pg_num'] != i['pg_num_target']]
+ try:
+ split_merge = [i['pool_name'] for i in osd_dump['pools'] if i['pg_num'] != i['pg_num_target']]
+ except KeyError:
+ # we don't support pg_num_target before nautilus
+ pass
if not unclean and not split_merge:
all_clean = True
break
"""
self.log('Canceling any pending splits or merges...')
osd_dump = self.get_osd_dump_json()
- for pool in osd_dump['pools']:
- if pool['pg_num'] != pool['pg_num_target']:
- self.log('Setting pool %s (%d) pg_num %d -> %d' %
- (pool['pool_name'], pool['pool'],
- pool['pg_num_target'],
- pool['pg_num']))
- self.raw_cluster_cmd('osd', 'pool', 'set', pool['pool_name'],
- 'pg_num', str(pool['pg_num']))
+ try:
+ for pool in osd_dump['pools']:
+ if pool['pg_num'] != pool['pg_num_target']:
+ self.log('Setting pool %s (%d) pg_num %d -> %d' %
+ (pool['pool_name'], pool['pool'],
+ pool['pg_num_target'],
+ pool['pg_num']))
+ self.raw_cluster_cmd('osd', 'pool', 'set', pool['pool_name'],
+ 'pg_num', str(pool['pg_num']))
+ except KeyError:
+ # we don't support pg_num_target before nautilus
+ pass
def set_pool_pgpnum(self, pool_name, force):
"""