diff --git a/roles/moinmoin-gendoc/library/dmidecode.py b/roles/moinmoin-gendoc/library/dmidecode_facts.py similarity index 70% rename from roles/moinmoin-gendoc/library/dmidecode.py rename to roles/moinmoin-gendoc/library/dmidecode_facts.py index 6e01acc3..765713d6 100644 --- a/roles/moinmoin-gendoc/library/dmidecode.py +++ b/roles/moinmoin-gendoc/library/dmidecode_facts.py @@ -32,7 +32,6 @@ EXAMPLES = ''' ''' -import dmidecode import json from ansible.module_utils.basic import AnsibleModule @@ -48,16 +47,30 @@ def decode_dict(data): def run_module(): module = AnsibleModule( - argument_spec = {} + argument_spec = {}, + supports_check_mode=True, ) - dmi_data = decode_dict({ - 'bios': dmidecode.bios(), - 'processor': dmidecode.processor(), - 'system': dmidecode.system(), - 'memory': dmidecode.memory(), - 'slot': dmidecode.slot(), - }) - module.exit_json(changed=True, ansible_facts=dmi_data) + + try: + import dmidecode + dmi_data = decode_dict({ + 'bios': dmidecode.bios(), + 'processor': dmidecode.processor(), + 'system': dmidecode.system(), + 'memory': dmidecode.memory(), + 'slot': dmidecode.slot(), + }) + + except ImportError: + dmi_data = { + 'bios': dict(), + 'processor': dict(), + 'system': dict(), + 'memory': dict(), + 'slot': dict(), + } + + module.exit_json(changed=False, ansible_facts=dmi_data) def main(): diff --git a/roles/moinmoin-gendoc/tasks/main.yml b/roles/moinmoin-gendoc/tasks/main.yml index bcc819b5..a821e247 100644 --- a/roles/moinmoin-gendoc/tasks/main.yml +++ b/roles/moinmoin-gendoc/tasks/main.yml @@ -8,7 +8,7 @@ until: apt_result is succeeded - name: get dmidecode facts - dmidecode: {} + dmidecode_facts: {} - name: get ssh fingerprints sshfp: {}