community.general.puppet 模块 – 运行 puppet

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。 您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定: community.general.puppet

概要

  • 以可靠的方式运行 puppet 代理或 apply。

要求

以下要求需要在执行此模块的主机上满足。

  • puppet

参数

参数

注释

certname

字符串

处理证书时要使用的名称。

confdir

字符串

在 community.general 5.1.0 中添加

包含 puppet.conf 文件的目录的路径。

debug

布尔值

启用完全调试。

选项

  • false ← (默认)

  • true

environment

字符串

要使用的 Puppet 环境。

environment_lang

字符串

在 community.general 8.6.0 中添加

运行 puppet 代理时要使用的 lang 环境。

默认值 C 在每个系统上都受支持,但如果输出中使用 UTF-8,则可能会导致编码错误

如果出现问题,请使用 C.UTF-8en_US.UTF-8 或类似的 UTF-8 支持的区域设置。 您需要确保 puppet 代理运行的系统支持所选区域设置。

从 community.general 9.1.0 开始,您可以使用值 auto,并且模块将尝试确定要使用的最佳可解析区域设置。

默认: "C"

execute

字符串

执行特定的 Puppet 代码片段。

对 puppetmaster 没有影响。

facter_basename

字符串

facter 输出文件的基本名称。

默认: "ansible"

facts

字典

要作为持久外部 facter 事实传入的值的字典。

logdest

字符串

如果正在使用 puppet apply,则 puppet 日志应去往的位置。

all 将同时转到 consolesyslog

stdout 将被弃用,并由 console 替换。

选项

  • "all"

  • "stdout" ← (默认)

  • "syslog"

manifest

字符串

要在其上运行 puppet apply 的清单文件的路径。

modulepath

字符串

puppet 模块的替代位置的路径。

noop

布尔值

覆盖 puppet.conf noop 模式。

true 时,运行设置了 --noop 开关的 Puppet 代理。

false 时,运行设置了 --no-noop 开关的 Puppet 代理。

当未设置时(默认),如果已定义,则使用默认值或 puppet.conf 值。

选项

  • false

  • true

puppetmaster

字符串

要联系的 puppetmaster 的主机名。

show_diff

布尔值

是否打印文件更改详细信息

选项

  • false ← (默认)

  • true

skip_tags

列表 / 元素=字符串

在 community.general 6.6.0 中添加

要排除的 puppet 标签的列表。

summarize

布尔值

是否打印事务摘要。

选项

  • false ← (默认)

  • true

tags

列表 / 元素=字符串

要使用的 Puppet 标签列表。

timeout

字符串

等待 puppet 完成的最长时间。

默认值: "30m"

use_srv_records

布尔值

切换 use_srv_records 标志。

选项

  • false

  • true

verbose

布尔值

打印额外信息。

选项

  • false ← (默认)

  • true

waitforlock

字符串

在 community.general 9.0.0 中添加

puppet 在启动之前应等待已运行的 puppet 代理完成的最大时间。

如果提供的是不带单位的数字,则假定为秒数。允许的单位为 m(分钟)和 h(小时)。

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Run puppet agent and fail if anything goes wrong
  community.general.puppet:

- name: Run puppet and timeout in 5 minutes
  community.general.puppet:
    timeout: 5m

- name: Run puppet using a different environment
  community.general.puppet:
    environment: testing

- name: Run puppet using a specific certname
  community.general.puppet:
    certname: agent01.example.com

- name: Run puppet using a specific piece of Puppet code. Has no effect with a puppetmaster
  community.general.puppet:
    execute: include ::mymodule

- name: Run puppet using a specific tags
  community.general.puppet:
    tags:
    - update
    - nginx
    skip_tags:
    - service

- name: Wait 30 seconds for any current puppet runs to finish
  community.general.puppet:
    waitforlock: 30

- name: Wait 5 minutes for any current puppet runs to finish
  community.general.puppet:
    waitforlock: 5m

- name: Run puppet agent in noop mode
  community.general.puppet:
    noop: true

- name: Run a manifest with debug, log to both syslog and console, specify module path
  community.general.puppet:
    modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
    logdest: all
    manifest: /var/lib/example/puppet_step_config.pp

作者

  • Monty Taylor (@emonty)