Esempio n. 1
0
def run_module():
    """Setup and initialize all relevant ansible module data"""
    module_args = dict(
        mount=dict(type='str', required=True),
        fs_type=dict(type='str', required=True)
    )

    result = dict(
        changed=False,
        vg_name='',
        lv_name=''
    )

    module = AnsibleModule(
        argument_spec=module_args,
        supports_check_mode=True
    )

    lvm_facts = facts.ansible_facts(module)['lvm']
    host_name = facts.ansible_facts(module)['nodename'].lower().replace('.', '_').replace('-', '_')

    result['lv_name'] = get_lv_name(module.params['fs_type'], module.params['mount'], lvm_facts)
    result['vg_name'] = get_vg_name(host_name, lvm_facts)

    if result['lv_name'] != '' and result['vg_name'] != '':
        module.exit_json(**result)
    else:
        module.fail_json(msg="Unable to initialize both group and volume names")
def run_module():
    """Create the module"""
    module_args = dict(
        max_return=dict(type='int', required=False, default=10)
    )

    result = dict(
        changed=False,
        disks=[]
    )

    module = AnsibleModule(
        argument_spec=module_args,
        supports_check_mode=True
    )

    ansible_facts = facts.ansible_facts(module)
    run_command = module.run_command
    for disk in ansible_facts['devices'].keys():
        # If partition table exists but contains no partitions -> no partitions.
        no_partitions = not bool(ansible_facts['devices'][disk]['partitions'])

        if no_partitions and no_signature(run_command, '/dev/' + disk) and no_holders(disk) and can_open('/dev/' + disk):
            result['disks'].append(disk)
            if len(result['disks']) >= module.params['max_return']:
                break

    if not result['disks']:
        result['disks'] = "Unable to find unused disk"
    module.exit_json(**result)