#!/usr/local/bin/python

# Copyright C 2013 by Isilon Systems, Inc. All rights not expressly
# granted herein are reserved.
# Created in the United States of America.
# 
# This digital media is protected by U.S. and international copyright and
# intellectual property laws. Unless otherwise specified, all information
# and screens appearing as part of this digital medium, including
# software, services, documents, text, images, icons, and logos design;
# the selection, assembly, arrangement, and design thereof; and the code
# that enables its presentation, are the sole property of Isilon Systems,
# Inc.
# 
# Except as otherwise required by applicable law, no part of any
# copyrighted material may be reproduced, modified, translated,
# distributed, published, or transmitted by any means, electronic or
# mechanical, for any purpose, without the prior written consent of Isilon
# Systems. 
#  
# Isilon and Isilon Systems are registered trademarks of Isilon Systems,
# Inc.  Legion is a trademark of Isilon Systems, Inc.  All other
# trademarks and registered trademarks are the property of their
# respective holders.

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

def init_keystore():
    status = 0
    if hal.supportsSelfEncryptingDrives():
        dp = bootdisk.get_provider(bootdisk.PROVIDER_ID_KEYSTORE)
        if dp is None:
            print 'isi_keystore_reinit is unable to get keystore provider'
            status = 1
        else:
            if dp.mounted and dp.umount() != 0:
                print 'Unable to un-mount %s' % dp.provider_dev
                status = 1
            else:
                print 'Creating new filesystem on %s' % dp.provider_dev
                dp.newfs()
    return status

if __name__ == '__main__':
    sys.exit(init_keystore())
