Привет, посоны.
Написал свой модуль для ансибла - всё работает, но есть одна деталь, которая не даёт покоя. Почему, когда условие модуля отрабатывает без ошибок, то ансибл просто пишет
ok: [HOSTNAME -> localhost]
вместо того, чтобы мне показать моё сообщение? Причем, в многословном режиме -vvv мессага показывается. Щито делать и кто виноват?
from ansible.module_utils.basic import *
import os
def check(file, ip):
with open(file, 'r+') as f:
content = f.readline()
if content == "":
os.remove(file)
msg = "NO ERRORS FOUND IN %s" % (ip)
rc=0
return {'changed':False,'failed':False,'message': msg}
else:
msg = "ERRORS FOUND IN %s" % (ip)
rc=1
return {'changed':True,'failed':True,'message': msg}
def run_module():
# Arguments
module_args = dict(
directory=dict(type='str', required=True),
ip=dict(type='str', required=True)
)
# Result Dictionary
result = dict(
changed=False,
failed=False,
message=''
)
# Handle Exception
try:
# Initialize AnsibleModule
module = AnsibleModule(
argument_spec=module_args,
supports_check_mode=True
)
# Get Module Parameters
dir = module.params['directory']
ip = module.params['ip']
# Construct Response Message
result = check(dir, ip)
# Return The Response
module.exit_json(**result)
except Exception as e:
# Handle Exception
result['message'] = str(e)
module.fail_json(msg=result['message'])
if __name__ == '__main__':
run_module()
Заранее рассылаю во все стороны флюиды токсичной маскулинности и гендерного абьюза.