傀儡/傀儡:"created(corrective)"

puppet / facter: "created(corrective)"

我使用 puppet 来更新/维护自身(除其他外)。出于某种原因,每次客户端 运行s 我都会得到这两个动作:

Notice: /Stage[main]/Servers::Packages::Puppet/Package[facter]/ensure: created (corrective)
Notice: /Stage[main]/Servers::Packages::Puppet/Package[puppet]/ensure: created (corrective)

有问题的定义如下所示:

    package { 'puppet' :
            ensure => 'latest',
            require => Package['facter'];
    }

    package { 'facter' :
            ensure => 'latest',
    }

    file { '/etc/default/puppet' :
            ensure => 'file',
            mode => '644',
            source => 'puppet:///modules/servers/packages/puppet/default';
    }

    file{ '/etc/puppetlabs/puppet/puppet.conf' :
            mode => '644',
            content => template("servers/packages/puppet/puppet_conf.erb"),
            require => Package[ 'puppet' ];
    }

    service{ 'puppet' :
            ensure => 'running',
            enable => true,
            require => Package[ 'puppet' ],
            subscribe => [
                    File[ '/etc/default/puppet'],
                    File[ '/etc/puppetlabs/puppet/puppet.conf'],
            ];
    }

我的定义有什么问题?为什么每次 运行 都会重新安装 puppet / facter?

自 Puppet 4 以来,Puppet, Inc. 仅提供 all-in-one 个包含 client-side 个组件的包,未命名为 'puppet' 或 'facter'。 Puppet 6 的包名为 puppet-agent——这是您应该管理的包,而不是名为 'puppet' 或 'facter'.

的包

您报告的消息表明 Puppet 没有看到 up-to-date 'puppet' 或 'facter' 包,这是很自然的,因为它们不存在。它们还表明 puppet 认为它已经纠正了问题——它会尝试通过安装/更新具有这些名称的包来解决这个问题,并且显然成功了。这种看似不一致的情况会出现,因为 puppet-agent 包声明它们提供名为 "puppet" 和 "facter" 的功能,您的包管理器正在使用这些功能将这些包名称与 puppet-agent包裹。结果,安装/更新成功但实际上没有安装任何新东西,让系统准备好在下一个 运行.

再次做同样的事情

我怀疑日志输出中的“(更正)”标记反映了 package-manager 退出状态,表明没有做任何事情就成功了。