puppet - 木偶/因素:“创建(纠正)”
问题描述
我使用 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-agent 包声明它们提供名为“puppet”和“facter”的功能,因此会出现这种看似不一致的情况,您的包管理器正在使用这些功能将这些包名称与 puppet-agent 包相关联。结果,安装/更新成功而没有实际安装任何新内容,从而使系统准备好在下次运行时再次执行相同的操作。
我怀疑日志输出上的“(纠正)”标记反映了包管理器退出状态,表明成功而没有做任何事情。
推荐阅读
- cmd - Python-Nuitka 无法使用我设置的图标将 .py 编译为 .exe
- java - selenium NullPointerException 解决方案的驱动程序
- python - Python - 具有多个数组的多线程将参数传递给函数
- pine-script - 如何在 pine 脚本中按值浮点(值)和另一个字符串(键)数组对数组进行排序?
- c++ - 将静态成员函数与 pthread_create() 一起使用有什么含义?
- r - 如何将额外文件添加到 pkgdown 站点?
- reactjs - React:在回调中设置功能组件的状态
- java - 使用嵌套键的杰克逊多态性
- stripe-payments - Stripe 的 invoice.paid webhook 与订阅开始时间相关的交付时间是什么时候?
- node.js - 命令失败,退出代码 1:CI= npm run build