首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不可用模块: module_stderr和module_stdout都是空的

不可用模块: module_stderr和module_stdout都是空的
EN

Stack Overflow用户
提问于 2018-02-01 03:44:46
回答 1查看 2.9K关注 0票数 0

我正在调用一个自定义模块delete_sdb_domain.py在游戏手册中删除简单的数据库域在AWS后删除猿军混沌猴。任务可以成功执行,但是Ansible模块有错误消息。

这是剧本:

代码语言:javascript
运行
复制
     # call ansible module in the playbook 

  - name: Delete Simian Army SimpleDB domain
         delete_sdb_domain:
         sdb_domain_name: "SIMIAN_ARMY_{{ stack_prefix }}"

         when:
              "stack_query.rc == 0"
         tags:
              - delete

下面是模块delete_sdb_domain.py

代码语言:javascript
运行
复制
    #!/usr/bin/python

    # Delete SimpleDB Domain

    from ansible.module_utils.basic import *
    import boto3

    def delete_sdb_domain(sdb_domain_name):
        sdb = boto3.client('sdb')
        sdb.delete_domain(DomainName=sdb_domain_name)

    def main():
        module = AnsibleModule(
        argument_spec = dict(
         sdb_domain_name = dict(required=True, type='str')
                        )
        )

        delete_sdb_domain(module.params['sdb_domain_name'])



       if __name__ == '__main__':
           main()

这是一个错误:

代码语言:javascript
运行
复制
TASK [Delete Simian Army SimpleDB domain] 
*************************************************************************
fatal: [127.0.0.1]: FAILED! => {
   "changed": false, 
   "module_stderr": "", 
   "module_stdout": "", 
    "rc": 0
}

MSG:

    MODULE FAILURE
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 08:10:10

Ansible报告一个错误,因为您没有提供结果所需的JSON对象。

看看关于新模块开发的教程

在我们主要关心的对象#中设置结果dict,状态#更改是,如果这个模块有效地修改了目标#状态,那么目标#状态将包含您希望模块返回#以供使用的任何数据,例如,在后续的任务结果= dict( changed=False,原件_message=‘,message=’,message='‘)#.#如果模块执行成功,您将希望# simple AnsibleModule.exit_json(),传递键/值结果module.exit_json(*module.exit_json)

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

https://stackoverflow.com/questions/48555010

复制
相关文章

相似问题

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