首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“NoneType”对象在不可访问的输出中不可迭代

TypeError:“NoneType”对象在不可访问的输出中不可迭代
EN

Stack Overflow用户
提问于 2019-02-05 13:08:27
回答 1查看 1.9K关注 0票数 0

我已经用下面的码头图像建立了一个可对接的塔台

代码语言:javascript
复制
ybalt/ansible-tower:latest

设置之后,我将容器内的应用程序升级为

代码语言:javascript
复制
apt-get upgrade

在此之后,下面是我的conatiner里面的版本

代码语言:javascript
复制
ansible 2.7.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.12 (default, Jul 18 2016, 15:02:52) [GCC 4.8.4]

然后,当我执行一个使用ansible中的邮件模块的脚本时,下面的错误显示在ansible输出中

代码语言:javascript
复制
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…

我已经开发了一个带有电子邮件配置的独立的残疾人手册,以便从任何一本剧本中参考。下面是我在剧本中定义的变量

代码语言:javascript
复制
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: 

以下是我如何从其他剧本中引用上述电子邮件剧本的方法

代码语言:javascript
复制
- 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

但是当该部分触发时,当第二本游戏书试图发送电子邮件时。我知道上面的错误。我的ansible配置文件中的变量将被完全注释掉,并且所有变量都会被ansible变量覆盖。所有的配置都会被重新检查,并且根据ansible文档。我甚至可以通过ansible塔发送通知,但不能通过ansible中的邮件模块发送通知。但我希望通过ansible脚本自动发送邮件。但那没有发生..。

EN

回答 1

Stack Overflow用户

发布于 2022-04-16 07:43:31

您的实际错误在module_stdout TypeError: 'NoneType' object is not iterable中。必须引用为null或未知变量类型的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54535148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档