#!/usr/bin/python

import sys
import isi.sys.bootdisk as bootdisk
import isi.hw.hal as hal

def usage():
    sys.stdout.write('''Usage: isi_bootdisk_provider id
The argument id is one of root, root_lkg, var, var_lkg, var_crash, journal_backup, kerneldump, kernelsdump, keystore.
Uppercase and lowercase are accepted.
Underscore or dash are accepted.
PROVIDER_ID_ is an acceptable prefix.
''')
    sys.exit(1)

if __name__ == '__main__':
    if len(sys.argv) != 2:
        usage()
    arg = sys.argv[1]
    arg = arg.upper()
    arg = arg.replace('-', '_')
    if not arg.startswith('PROVIDER_ID_'):
        arg = 'PROVIDER_ID_' + arg
    try:
        id = bootdisk.__dict__[arg]
    except KeyError:
        sys.stderr.write('Unknown provider %s!\n' % arg)
        sys.exit(1)
    if id == 'journal-backup' and hal.isAcceleratorClass():
        sys.stderr.write('Accelerator nodes have no journal backup\n')
        sys.exit(1)
    dev = bootdisk.get_provider_dev(id)
    sys.stdout.write('%s\n' % dev)
