使用连接的Puppet模块在生产中工作但会中断测试

时间:2018-02-01 17:22:07

标签: puppet

我有一个包含以下行的模块:

join(lookup('latest_packages'),"\n")

在生产中它可以工作,但我正在尝试根据puppet module generate中的模板重新构建模块,包括测试。

当我跑rake spec时,我回来了:

  1) custom_facts with default values for all parameters should contain Class[custom_facts]
     Failure/Error: it { should contain_class('custom_facts') }

     Puppet::PreformattedError:
       Evaluation Error: Unknown function: 'join'. at /home/philip/projects/control-repo-globals/modules/custom_facts/spec/fixtures/modules/custom_facts/manifests/init.pp:8:16 on node philip-thinkpad-t420.lan

如何从测试中访问连接函数?

2 个答案:

答案 0 :(得分:3)

我能够通过创建包含标准puppet库的.fixtures.yml来解决问题:

fixtures:
  repositories:
    stdlib: git://github.com/puppetlabs/puppetlabs-stdlib.git

答案 1 :(得分:1)

这通常是由Puppet找不到包含Puppet函数的Ruby Lib引起的。

尝试添加spec/spec_helper.rb之类的内容:

$LOAD_PATH << './modules/lib'