#!/usr/bin/python

import sys
import subprocess
import isi.sys.geom as geom

def main():
    # Disable the isi_bootdisk class. This prevents an immediate re-lock after
    # an unlock.
    p = subprocess.Popen(['sysctl', 'kern.geom.isi_bootdisk.enabled=0'],
                         stdout=subprocess.PIPE)
    p.stdout.read()
    p.wait()

    mesh = geom.Mesh()
    lock_geoms = mesh.get_class('LOCK').geoms
    if lock_geoms:
        lock_geom = lock_geoms[0]
        pps = [c.provider for c in lock_geom.consumers]
        if pps:
            mesh.unlock(pps)

if __name__ == '__main__':
    main()
