Ansible 删除/更改剧本执行输出中带有星号的行

Sri*_*har 6 ansible

我想控制每个任务执行的ansible playbook输出显示的星星数量(*)。

例子:

  PLAY [localhost] *********************************************************************************

  TASK [Gathering Facts] ***************************************************************************
  ok: [localhost]

  TASK [include_vars] ******************************************************************************
  ok: [localhost]
Run Code Online (Sandbox Code Playgroud)

我想控制这里打印的星星数量。是否有一个简单的解决方案,例如在配置文件中添加条目或其他内容而不更改 ansible 代码?

我想打印类似的东西

  PLAY [localhost] *************************************

  TASK [Gathering Facts] *********************************************************
  ok: [localhost]

  TASK [include_vars] *********************************************************
  ok: [localhost]
Run Code Online (Sandbox Code Playgroud)

我正在尝试控制输出,使其适合小终端屏幕

Kon*_*rov 5

这就是引擎盖下的样子:

self.columns = max(79, tty_size - 1)
Run Code Online (Sandbox Code Playgroud)

因此,如果 tty_size 足够宽,则可以获取 tty_size;如果 tty_size 小于该值,则可以获取默认值 79。

为了克服这个问题,您可以将此代码删除为callback_plugins/crop_columns.py

from ansible.plugins.callback import CallbackBase

try:
    from __main__ import display
except ImportError:
    display = None


class CallbackModule(CallbackBase):

    def __init__(self, *args, **kwargs):

        if display is not None:
            display.columns = 50
Run Code Online (Sandbox Code Playgroud)

  • 我想完全删除星星/星号。将“display.columns”设置为“0”只会导致减少到三个星号,因为“banner”方法将“star_len”设置为最小值“3”。您知道是否可以使用回调来避免输出任何星号? (3认同)