Ошибка модуля электронной почты на Ansible - PullRequest
0 голосов
/ 05 февраля 2019

Я установил контейнер Ansible с помощью докера.Я использовал ybalt / ansible-tower: последнее изображение для развертывания контейнера.Я настроил все, и все они, кажется, работает нормально, за исключением модуля электронной почты.Когда playbook пытается отправить электронное письмо, появляется следующая ошибка:

"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1

Я перепроверяю конфигурации, и все они в порядке.Я даже могу отправить письмо через модули уведомлений в ansible tower с использованием тех же учетных данных smtp, которые я использовал в модуле электронной почты в моих книгах воспроизведения.Я даже обновил версию приложений внутри контейнера, но, похоже, ничего не работает.Я уже дал учетные данные компьютера с разрешениями sudo, и я даже попытался с уровнем эскалации su тоже

Полная ошибка

fatal: [Server]: FAILED! => {
    "changed": false, 
    "module_stderr": "Shared connection to x.x.x.x closed.\r\n", 
    "module_stdout": "\r\nTraceback (most recent call last):\r\n  File \"/home/ansible/.ansible/tmp/ansible-tmp-1549369654.27-211111564926363/AnsiballZ_mail.py\", line 113, in <module>\r\n    _ansiballz_main()\r\n  File \"/home/ansible/.ansible/tmp/ansible-tmp-1549369654.27-211111564926363/AnsiballZ_mail.py\", line 105, in _ansiballz_main\r\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n  File \"/home/ansible/.ansible/tmp/ansible-tmp-1549369654.27-211111564926363/AnsiballZ_mail.py\", line 48, in invoke_module\r\n    imp.load_module('__main__', mod, module, MOD_DESC)\r\n  File \"/tmp/ansible_mail_payload_bQeVQh/__main__.py\", line 381, in <module>\r\n  File \"/tmp/ansible_mail_payload_bQeVQh/__main__.py\", line 330, in main\r\nTypeError: 'NoneType' object is not iterable\r\n", 
    "msg": "MODULE FAILURE\nSee stdo…

конфигурации модуля электронной почты

email_host: "smtp.sendgrid.net"
email_port: 587
email_username: "username"
email_password: "password"
email_to: "admin@example.com"
email_cc:
email_subject: "test"
email_body:
email_subtype: "html"
email_secure: "try"
email_from: "noreply@example.com ( Ansible Tower )"
email_bcc:
email_attach: 

раздел отправки почты в palybook, который ссылается на playbook модуля электронной почты

- name: Email body on failure
  set_fact:
    email_body="Hi {{ tower_user_name }}, <br><br> Status - Failed
                                                                  <br> Issue - Build path or given build name doesn't exist
                                                                  <br> Suggested Solution - Check the validity of the build path or the build name.
                                                                  <br><br> Thank You"

- name: Sending an email
  include_role:
    name: email
    tasks_from: main.yml
  when: path_build_location.stat.exists == False

Я ожидал отправить сообщение электронной почты соответственно на указанный адрес электронной почты с помощью ответной башни.Но в противовес этому появляется всплывающая ошибка.Что я здесь делаю, и я много чего перепробовал, и я не очень представляю, как может произойти сбой модуля в описанной выше ситуации.

...