在Puppet申请期间找不到课程(Can not find class during Puppet apply)

编程入门 行业动态 更新时间:2024-10-23 23:20:19
在Puppet申请期间找不到课程(Can not find class during Puppet apply)

我的木偶结构如下

/puppet /manifests /nodes redis.pp site.pp /modules

site.pp类似于

class base { include ml-basefw include ml-users include ml-filelimits include repoforge include epel class { 'ml-yumrepo': base_url => "http://${puppet_server}/yumrepo" } } import 'nodes/*.pp' node default { include base }

当我跑

puppet apply --modulepath=/puppet/modules:/puppet/manifests --noop --debug /puppet/manifests/nodes/redis.pp

我收到

Error: Could not find class base for redis-1.test.ml.com on node redis-1.test.ml.com

我的文件布局有什么不标准的东西阻止我使用apply吗?

我不是puppet模块的维护者,所以我无法改变文件结构或布局。

有许多相关的问题,但我无法将它们与我遇到的问题联系起来。

Edit1:添加redis.pp

node /^redis-\d+(.stage)?(.test)?(.aws)?.ml.com$/ { include base include epel class { 'redis': package_ensure => '2.8.15-1.el6.remi', service_ensure => 'running', conf_bind => '0.0.0.0', conf_port => '6379', } firewall { '176 allow port 6379 for redis traffic': chain => 'INPUT', state => ['NEW'], dport => '6379', proto => 'tcp', action => 'accept' } }

My puppet structure is as follows

/puppet /manifests /nodes redis.pp site.pp /modules

The site.pp resembles

class base { include ml-basefw include ml-users include ml-filelimits include repoforge include epel class { 'ml-yumrepo': base_url => "http://${puppet_server}/yumrepo" } } import 'nodes/*.pp' node default { include base }

When I run

puppet apply --modulepath=/puppet/modules:/puppet/manifests --noop --debug /puppet/manifests/nodes/redis.pp

I receive

Error: Could not find class base for redis-1.test.ml.com on node redis-1.test.ml.com

Is there something non-standard about my file layout that precludes me from using apply?

I am not the maintainer of the puppet module so I am not able to alter the file structure or layout.

There are numerous related questions but I wasn't able to relate them to the problem that I am having.

Edit1 : Adding redis.pp

node /^redis-\d+(.stage)?(.test)?(.aws)?.ml.com$/ { include base include epel class { 'redis': package_ensure => '2.8.15-1.el6.remi', service_ensure => 'running', conf_bind => '0.0.0.0', conf_port => '6379', } firewall { '176 allow port 6379 for redis traffic': chain => 'INPUT', state => ['NEW'], dport => '6379', proto => 'tcp', action => 'accept' } }

最满意答案

当你运行puppet时会发生什么情况而不是你的site.pp文件? 您可能在redis.pp文件中没有节点定义(也不应该)。

What happens when you run puppet apply against your site.pp file instead? You probably don't have a node definition in your redis.pp file (nor should you).

更多推荐

本文发布于:2023-07-29 20:36:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1319555.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:找不到   课程   Puppet   apply   class

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!