Puppet 傀儡/制造者:“;“已创建(更正)”;

Puppet 傀儡/制造者:“;“已创建(更正)”;,puppet,Puppet,我使用puppet来更新/维护自己(以及其他东西)。出于某种原因,每次客户端运行时,我都会执行以下两个操作: Notice: /Stage[main]/Servers::Packages::Puppet/Package[facter]/ensure: created (corrective) Notice: /Stage[main]/Servers::Packages::Puppet/Package[puppet]/ensure: created (corrective) 相关定义如下所示:

我使用puppet来更新/维护自己(以及其他东西)。出于某种原因,每次客户端运行时,我都会执行以下两个操作:

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.只提供了客户端组件的一体化软件包,没有命名为“puppet”或“facter”。Puppet 6的包名为
Puppet agent
——这是您应该管理的,而不是名为“Puppet”或“facter”的包

您报告的消息表明Puppet没有看到最新的“Puppet”或“facter”包,这是很自然的,因为它们不存在。它们还表明puppet认为它已经纠正了这个问题——它将通过安装/更新具有这些名称的包来尝试这样做,并且显然成功了。出现这种看似不一致的情况是因为puppet代理包声明它们提供了名为“puppet”和“facter”的功能,您的包管理器正在使用这些功能将这些包名称与puppet代理包相关联。结果,安装/更新成功,而没有实际安装任何新的东西,使系统准备好在下一次运行时再次执行相同的操作


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

这是傀儡企业版还是免费版?这看起来也像是一个相当古老的木偶版本。您也可以指定吗?Puppet似乎能够通过名称“Puppet”和“facter”来识别包,但这些可能不是包的实际名称。例如,由于Puppet目前由Puppet,Inc.为RHEL打包,
Puppet
facter
均由
Puppet代理提供。它的元数据指定它提供“puppet”和“facter”功能,允许包管理器将这些名称映射到该包。此安装使用puppet 6.x-尽管它是免费软件版本。