#!/usr/bin/python

import sys
import subprocess

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

# XXXEEY: delete this when virtual nodes are fully geom-ized.
# Find an ATA device between 1e9 and 4e9 bytes and assume it's swap!
def legacy_start_swap():
    mesh = geom.Mesh()
    for provider in mesh.disk_providers:
        if (provider.name.startswith('ad') and provider.mediasize > 100000000
                and provider.mediasize < 4000000000):
            sys.stdout.write('Enabling swap on %s for virtual node\n' %
                             provider.name)
            subprocess.check_call(['swapon', '/dev/%s' % provider.name])

if __name__ == '__main__':
    if not hal.isVirtualSeries():
        sys.stderr.write('This is not a virtual node. '
                         'Swap is only used on virtual nodes.\n')
        sys.exit(1)

    if bootdisk.current_system_is_imdd():
        legacy_start_swap()
    else:
        bootdisk.start_swap()
