~tribaal/charms/trusty/ceph-osd/fix-typo

« back to all changes in this revision

Viewing changes to hooks/ceph.py

  • Committer: Christopher Glass
  • Date: 2014-09-12 12:08:22 UTC
  • mfrom: (24.1.2 ceph-osd)
  • Revision ID: christopher.glass@canonical.com-20140912120822-7jzokljne991unzc
Add a config option to treat unusable disks as a non fatal error [james-page,r=tribaal]

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
)
19
19
from charmhelpers.core.hookenv import (
20
20
    log,
21
 
    ERROR,
 
21
    ERROR, WARNING
22
22
)
23
23
from charmhelpers.contrib.storage.linux.utils import (
24
24
    zap_disk,
307
307
            pass
308
308
 
309
309
 
310
 
def osdize(dev, osd_format, osd_journal, reformat_osd=False):
 
310
def osdize(dev, osd_format, osd_journal, reformat_osd=False,
 
311
           ignore_errors=False):
311
312
    if dev.startswith('/dev'):
312
 
        osdize_dev(dev, osd_format, osd_journal, reformat_osd)
 
313
        osdize_dev(dev, osd_format, osd_journal, reformat_osd, ignore_errors)
313
314
    else:
314
315
        osdize_dir(dev)
315
316
 
316
317
 
317
 
def osdize_dev(dev, osd_format, osd_journal, reformat_osd=False):
 
318
def osdize_dev(dev, osd_format, osd_journal, reformat_osd=False,
 
319
               ignore_errors=False):
318
320
    if not os.path.exists(dev):
319
321
        log('Path {} does not exist - bailing'.format(dev))
320
322
        return
349
351
        if reformat_osd:
350
352
            zap_disk(dev)
351
353
 
352
 
    subprocess.check_call(cmd)
 
354
    try:
 
355
        subprocess.check_call(cmd)
 
356
    except subprocess.CalledProcessError as e:
 
357
        if ignore_errors:
 
358
            log('Enable to initialize device: {}'.format(dev), WARNING)
 
359
        else:
 
360
            log('Enable to initialize device: {}'.format(dev), ERROR)
 
361
            raise e
353
362
 
354
363
 
355
364
def osdize_dir(path):
357
366
        log('Path {} is already configured as an OSD - bailing'.format(path))
358
367
        return
359
368
 
360
 
    if cmp_pkgrevno('ceph', '0.56.6.') < 0:
 
369
    if cmp_pkgrevno('ceph', '0.56.6') < 0:
361
370
        log('Unable to use directories for OSDs with ceph < 0.56.6',
362
371
            level=ERROR)
363
372
        raise