在模块中使用puppetlabs_stdlib中的file_line不起作用

时间:2018-01-23 12:46:13

标签: puppet

我正在尝试使用Puppetlabs stdlib模块中的file_line,但是我正在打砖墙。当我尝试运行我的模块时,出现以下错误:

2018-01-23 12:34:16,981 ERROR [qtp2056613703-62] [puppetserver] Puppet This expression is invalid. Did you try declaring a 'file_line' resource without a title? at /etc/puppetlabs/code/modules/my_module/manifests/control_1_5_1.pp:5:3 on node puppet-slave-1
2018-01-23 12:34:16,982 ERROR [qtp2056613703-62] [puppetserver] Puppet Server Error: This expression is invalid. Did you try declaring a 'file_line' resource without a title? at /etc/puppetlabs/code/modules/my_module/manifests/control_1_5_1.pp:5:3 on node puppet-slave-1

我的rspec测试带来了类似的错误:

  1) my_module with default values for all parameters should contain Class[my_module]
 Failure/Error: include stdlib

 Puppet::PreformattedError:
   Evaluation Error: Error while evaluating a Function Call, Could not find class ::stdlib for puppet.eu-west-1.compute.internal at /etc/puppetlabs/code/modules/my_module/spec/fixtures/modules/my_module/manifests/init.pp:38:3 on node puppet.eu-west-1.compute.internal

我在服务器和客户端上运行Puppet 5.3.3,以下信息显示我运行的木偶模块列表:

/etc/puppetlabs/code/modules
├── puppetlabs-stdlib (v4.24.0)
└── my_module (v0.1.0)

我在我的模块的init.pp文件中包含了stdlib。

非常感谢任何帮助。

编辑: 添加示例代码块。这就是我尝试使用stdlib模块的方法。出于测试目的,这个类将直接放入init.pp文件中,在生产中它将是一个单独的.pp并包含在init.pp中

class my_module {
  include stdlib
  file_line { 'sudo_rule':
    path => '/etc/sudoers',
    line => '%sudo ALL=(ALL) ALL',
  }
}

0 个答案:

没有答案