Chef infra chef client 16不报告更新了多少资源

Chef infra chef client 16不报告更新了多少资源,chef-infra,Chef Infra,我正在Ubuntu Focal上使用chef client 16.8, 刚发现它的产量和以前的有很大的不同 # chef-client -o some_cookbook -l info ... [2021-01-14T09:45:49+00:00] INFO: Skipping removal of unused files from the cache [2021-01-14T09:45:49+00:00] INFO: Running report handlers [2021-01-14T0

我正在Ubuntu Focal上使用chef client 16.8, 刚发现它的产量和以前的有很大的不同

# chef-client -o some_cookbook -l info
...
[2021-01-14T09:45:49+00:00] INFO: Skipping removal of unused files from the cache
[2021-01-14T09:45:49+00:00] INFO: Running report handlers
[2021-01-14T09:45:49+00:00] INFO: Report handlers complete
[2021-01-14T09:45:49+00:00] INFO: Chef::Compliance::Runner#enabled?: Chef InSpec profiles? false
[2021-01-14T09:45:49+00:00] INFO: Chef::Compliance::Runner#enabled?: audit cookbook? false
[2021-01-14T09:45:49+00:00] INFO: Sending resource update report (run-id: 27e9fbeb-118d-4fc3-8de3-8f5f32eae15d)

前一个(chef client 13.12.3)是这样的:

...
  * execute[echo] action run (skipped due to only_if)
  * file[/tmp/etc/apache2/certs/.changed] action nothing (skipped due to action :nothing)

Running handlers:
Running handlers complete
Chef Client finished, 0/13 resources updated in 06 seconds
显然,chef client 16不显示颜色报告,也不显示更新了多少资源的统计信息


有人知道如何设置chef client 16以显示哪些资源已更改吗?

我正在运行chef 16.9.20,我没有这个问题。在客户运行之后,我得到

Chef Infra客户端完成,在36秒内更新了15/126个资源

我运行的是chef 16.9.20,我没有这个问题。在客户运行之后,我得到

Chef Infra客户端完成,在36秒内更新了15/126个资源

Chef 16.0改变了记录器和格式化程序的工作方式:

这样做是为了解决一个极其常见的问题,即当通过类似grep的管道传输时,输出会从格式化程序神奇地变为记录器:

chef-client | grep "resources updated"
(在没有任何其他配置的情况下,管道通常会打印“资源更新”行,而到grep的管道会丢失tty,而chef客户端中的magic会自动将输出切换到不再记录该行的记录器)

不可能修复此问题并保持向后兼容性。在确保config.rb设置得到遵守、cli设置可以覆盖这些设置以及命令行运行chef client也可以登录到/var/log/messages方面做了大量工作

格式化程序输出中的tty输出和记录器输出仍不可能同时进入日志文件

对于在client.rb中配置了日志记录的用户,现在可能需要
--force formatter
选项:

chef-client --force-formatter

这通常也会记录到日志文件,但会将输出切换到格式化程序,如果用户设置了日志记录到日志格式的日志文件,则会导致格式混合,这并不是任何人真正想要的,但修复这一问题是上述pull请求末尾讨论的主题。由于Chef 17可能由Ruby 3.0修复主导,因此在Chef 18之前不太可能修复bug。

Chef 16.0改变了记录器和格式化程序的工作方式:

这样做是为了解决一个极其常见的问题,即当通过类似grep的管道传输时,输出会从格式化程序神奇地变为记录器:

chef-client | grep "resources updated"
(在没有任何其他配置的情况下,管道通常会打印“资源更新”行,而到grep的管道会丢失tty,而chef客户端中的magic会自动将输出切换到不再记录该行的记录器)

不可能修复此问题并保持向后兼容性。在确保config.rb设置得到遵守、cli设置可以覆盖这些设置以及命令行运行chef client也可以登录到/var/log/messages方面做了大量工作

格式化程序输出中的tty输出和记录器输出仍不可能同时进入日志文件

对于在client.rb中配置了日志记录的用户,现在可能需要
--force formatter
选项:

chef-client --force-formatter

这通常也会记录到日志文件,但会将输出切换到格式化程序,如果用户设置了日志记录到日志格式的日志文件,则会导致格式混合,这并不是任何人真正想要的,但修复这一问题是上述pull请求末尾讨论的主题。由于Chef 17可能由Ruby 3.0修复主导,所以在Chef 18之前不太可能修复bug。

谢谢,似乎没有其他人遇到过这个问题。我将结束这个问题。谢谢,似乎没有其他人遇到过这个问题。我将结束这个问题。您只需要以某种方式获取记录器,您需要
--强制格式化程序
或查看您的client.rb设置。我也看到了。@lamont谢谢你,很好!让我安装一个chef 16并试一试。我认为没有人会有这个问题,也不希望得到答案。@lamont这就像一个charm@lamont你能给出一个简单的答案吗?我将接受这一点作为最终答案。您只需要以某种方式获得记录器,您需要
--强制格式化程序
,或者查看您的client.rb设置。我也看到了。@lamont谢谢你,很好!让我安装一个chef 16并试一试。我认为没有人会有这个问题,也不希望得到答案。@lamont这就像一个charm@lamont你能给出一个简单的答案吗?我将接受这一最终答案。