Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止ansible.playbook.playbook中的冗长_Ansible_Ansible Playbook - Fatal编程技术网

停止ansible.playbook.playbook中的冗长

停止ansible.playbook.playbook中的冗长,ansible,ansible-playbook,Ansible,Ansible Playbook,我正在CLi中使用ansible。所以所有的错误处理我想自己做,我不想给额外的信息,可能会迷失方向的用户 当我尝试用python代码运行ansible playbook时,我收到了详细的消息: PLAY [Role] *************************************************************** GATHERING FACTS ************************************************************

我正在CLi中使用ansible。所以所有的错误处理我想自己做,我不想给额外的信息,可能会迷失方向的用户

当我尝试用python代码运行ansible playbook时,我收到了详细的消息:

PLAY [Role] ***************************************************************

GATHERING FACTS ***************************************************************
ok: [127.0.0.1]

TASK: [base-devel-go | Install go lang support] *******************************
ok: [127.0.0.1]
我将其用作流的源。现在我看到很多冗长的东西。我想把它藏起来但我找不到怎么做

playbook = params["playbook"]
inventory = ansible.inventory.Inventory(hosts)
inventory.set_playbook_basedir(os.path.dirname(playbook))

stats = callbacks.AggregateStats()
playbook_cb = callbacks.PlaybookCallbacks(verbose=utils.VERBOSITY)
runner_cb = callbacks.PlaybookRunnerCallbacks(
    stats, verbose=utils.VERBOSITY)


params["inventory"] = inventory
params["stats"] = stats
params["callbacks"] = playbook_cb
params["runner_callbacks"] = runner_cb

pb = ansible.playbook.PlayBook(**playbook_params)
pr = pb.run()

我试图在中找到答案,但我的python水平较低,这是禁用输出的最简单方法。 我正在CLi中使用ansible。所以当我运行它时,我认为python绑定->有输出。但我找到了禁用它的方法:

from ansible import callbacks
# pylint: disable=too-many-arguments
def display(msg, color=None, stderr=False,
            screen_only=False, log_only=True, runner=None):
    # prevent a very rare case of interlaced multiprocess I/O
    callbacks.log_flock(runner)
    msg2 = msg
    if color:
        msg2 = stringc(msg, color)
    if not log_only:
        if not stderr:
            try:
                print msg2
            except UnicodeEncodeError:
                print msg2.encode('utf-8')
        else:
            try:
                print >>sys.stderr, msg2
            except UnicodeEncodeError:
                print >>sys.stderr, msg2.encode('utf-8')
    if callbacks.constants.DEFAULT_LOG_PATH != '':
        while msg.startswith("\n"):
            msg = msg.replace("\n", "")
        if not screen_only:
            if color == 'red':
                logging.error(msg)
            else:
                logging.info(msg)
    callbacks.log_unflock(runner)

# disable verbose
callbacks.display = display

如果您不关心输出,请执行ansible playbook pb.yml>/dev/null 2>&1。你看到的不是冗长的。如果你想看到真正的详细使用-vvv选项。这就是我在python中运行时看到的!再说一次:你看到的并不是冗长的。。这是ansible打印的最小输出。。将其重定向到/dev/null!我明白这一点。但我不经营ansible剧本。我做了使用python绑定的cli,当我运行此部分->用户时,可以看到此输出。我认为这是一个最有效的问题。。