【问题标题】:Ohai thinks my plugin is version 6. Why?Ohai 认为我的插件是第 6 版。为什么?
【发布时间】:2015-05-20 03:24:56
【问题描述】:

我正在尝试为 ohai 编写一个插件。这似乎是一项非常简单的任务:

Ohai.plugin(:Uname) do
  provides 'uname'
  depends 'kernel'

  collect_data do
    uname Mash.new
    uname[:message] = `uname -a`
  end
end

在我看来,这类似于 Opscode、O'Reilly 和其他人提供的在线示例。但是当我尝试对其进行测试时会发生以下情况:

 % irb -rohai
irb(main):001:0> Ohai::Config[:plugin_path] << "."
=> ["/home/ll0359/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/ohai-8.3.0/lib/ohai/plugins", "."]
irb(main):002:0> o = Ohai::System.new
=> #<Ohai::System:0x007fed82e43078 @plugin_path="", @data={}, @provides_map=#<Ohai::ProvidesMap:0x007fed82e42fd8 @map={}>, @v6_dependency_solver={}, @d82e42f38 @controller=#<Ohai::System:0x007fed82e43078 ...>, @v6_plugin_classes=[], @v7_plugin_classes=[]>, @runner=#<Ohai::Runner:0x007fed82e42ec0 @prp:0x007fed82e42fd8 @map={}>, @safe_run=true>>

irb(main):003:0> o.all_plugins

这就是乐趣的开始。我一遍又一遍地得到这个输出:

[2015-05-20T03:13:09+00:00] WARN: Plugin Definition Error: <./ohai_uname.rb>: collect_data already defined on platform default
[2015-05-20T03:13:09+00:00] WARN: [DEPRECATION] Plugin at ./test_ohai.rb is a version 6 plugin. Version 6 plugins will not be supported in future releases....
your plugin to version 7 plugin syntax. For more information visit here: docs.chef.io/ohai_custom.html

(我第二行的文字被我的屏幕剪掉了,但你明白了)

我已经尝试在有和没有“depends”行的情况下运行这段代码。结果一样。

我尝试在使用和不使用 Mash 行的情况下运行此代码,用 'uname uname -a' 代替分配行。结果一样。

我尝试过将“:linux”作为参数传递给 collect_data 的情况下运行。唯一的区别是我收到一个关于 collect_data(:linux) 已经被定义而不是 :default 的警告。

我尝试将插件重命名为一个随机的 8 个字符标识符,以防万一它被称为:Uname。结果一样。

我尝试将“uname”(大写和小写)作为参数传递给 o.all_plugins。结果一样。

所以我的问题是:

  1. 为什么 ohai(8.3,在 Ruby 2.2.1 下运行)认为这是版本 6 插件?我看不出其中有任何使它看起来不是版本 7 的内容。

  2. 我怎样才能让它工作?

谢谢

【问题讨论】:

    标签: ruby ohai-gem


    【解决方案1】:

    自我注意:下次你这样做时,不要尝试从插件所在的目录进行测试并添加“。”到你的 plugin_path。移动到不同的目录并添加插件的绝对路径解决了这个问题。

    我打算保留它,以防其他人发生这种情况。

    【讨论】:

      猜你喜欢
      • 2017-09-25
      • 1970-01-01
      • 2017-07-12
      • 2013-09-11
      • 2011-01-22
      • 2015-03-24
      • 1970-01-01
      • 2021-02-09
      • 2015-09-14
      相关资源
      最近更新 更多