rabbitmq 原因::[警告]:模块没有为update_password设置no_log

a14dhokn  于 2023-01-13  发布在  RabbitMQ
关注(0)|答案(3)|浏览(287)

我正在尝试使用terraform和ansible脚本创建一个rabbitmq节点,其他脚本正在成功执行,但我在运行此脚本时遇到一个警告,即在rabbitmq节点中添加用户。

[警告]:模块没有为update_password设置no_log

failed: [rabbit-node1] (item=admin) => {
    "ansible_loop_var": "item", 
    "changed": false, 
    "cmd": "/usr/sbin/rabbitmqctl -q -n rabbit list_users", 
    "invocation": {
        "module_args": {
            "configure_priv": ".*", 
            "force": false, 
            "node": "rabbit", 
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
            "permissions": [
                {
                    "configure_priv": ".*", 
                    "read_priv": ".*", 
                    "vhost": "/", 
                    "write_priv": ".*"
                }
            ], 
            "read_priv": ".*", 
            "state": "present", 
            "tags": "administrator,admin", 
            "update_password": "on_create", 
            "user": "admin", 
            "vhost": "/", 
            "write_priv": ".*"
        }
    }, 
    "item": "admin", 
    "msg": "Error:********@rabbit-node1.\n * Suggestion: start it with \"rabbitmqctl start_app\" and try again", 
    "rc": 70, 
    "stderr": "Error: rabbit application is not running on node rabbit@rabbit-node1.\n * Suggestion: start it with \"rabbitmqctl start_app\" and try again\n", 
    "stderr_lines": [
        "Error: rabbit application is not running on node rabbit@rabbit-node1.", 
        " * Suggestion: start it with \"rabbitmqctl start_app\" and try again"
    ], 
    "stdout": "", 
    "stdout_lines": []
}

用于使用ansible在Rabbitmq节点中创建用户的main.yml文件:

- name: add user
  rabbitmq_user:
    user: "{{ item }}"
    password: "{{ ADMIN_PASS }}"
    tags: administrator,{{item}}
    vhost: /
    configure_priv: .*
    write_priv: .*
    read_priv: .*
    state: present
  with_items:
  - admin
wgxvkvu9

wgxvkvu91#

像这样使用

- name: add user
      no_log: true
      rabbitmq_user:
        user: "{{ item }}"
        password: "{{ ADMIN_PASS }}"
        tags: administrator,{{item}}
        vhost: /
        configure_priv: .*
        write_priv: .*
        read_priv: .*
        state: present
      with_items:
      - admin

关键点是no_log:真选项

oiopk7p5

oiopk7p52#

Alex的答案是正确的......但是它不能解析。我认为这不重要,但是我总是把任务控件放在底部。

- name: add user
  rabbitmq_user:
    user: "{{ item }}"
    password: "{{ ADMIN_PASS }}"
    tags: administrator,{{item}}
    vhost: /
    configure_priv: .*
    write_priv: .*
    read_priv: .*
    state: present
  no_log: true
  with_items:
  - admin
vcudknz3

vcudknz33#

这是模块源代码中的一些内容。当您在包含“password”的模块源代码中创建一个参数,但没有设置“no_log=True”选项时,Ansible会在模块中开始抛出此警告。下面是一个示例,显示了设置了该选项的模块。请参阅定义中带有附加选项的最后一行。

def run_module():
# define available arguments/parameters a user can pass to the module
module_args = dict(
    soap_url=dict(type='str', required=True),
    request_username=dict(type='str', required=True),
    request_password=dict(type='str', required=True, no_log=True),
)

相关问题