首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >傀儡代理不识别r10k拉出模块

傀儡代理不识别r10k拉出模块
EN

Stack Overflow用户
提问于 2019-02-05 07:03:56
回答 1查看 194关注 0票数 1

请帮助我配置来自github的自定义木偶模块。模块在主节点中被正确地拉出,但在代理节点上根本没有被识别。

Puppetfile

代码语言:javascript
复制
mod "puppet-lamp",
    :git => "https://github.com/blablabla/puppet_lamp.git",
    :ref => "659fe4056060426d3a1449sdfgbc290571f5714f"

environment.conf

代码语言:javascript
复制
modulepath = modules:$basemodulepath

r10k正确地从github中提取模块

代码语言:javascript
复制
.
└── production
    ├── environment.conf
    ├── modules
    │   └── lamp
    │       └── manifests
    │           ├── apache.pp
    │           └── test.pp
    └── Puppetfile

4 directories, 4 files

apache.pp

代码语言:javascript
复制
class apache {

  package { 'httpd':
    ensure => installed,
  }

  service { 'httpd':
    enable => true,
    ensure => 'running'
  }

}

site.pp

代码语言:javascript
复制
include apache

但是当我运行代理时,什么都不会被应用!

代码语言:javascript
复制
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Applying configuration version '1549348460'
Notice: Applied catalog in 0.01 seconds

尝试使用节点定义,没有改变.

代码语言:javascript
复制
node 'default' {
  include 'apache'
}

在这里使用最新的木偶

代码语言:javascript
复制
[root@puppetmaster environments]# puppetserver --version
puppetserver version: 6.2.0

[root@node01 ~]# puppet -V
6.2.0

有人能告诉我我做错了什么吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-05 12:11:09

您的类名必须与模块名匹配,才能遵守自动加载限制。在您的例子中,您已经命名了模块lamp,并命名了类apache。这里更简单的方法是重命名类lamp,因为根据您的问题,它在任何地方都被引用为lamp

另一个自动加载限制是类名必须与模块名称和清单名称匹配。在本例中,您的清单名为apache.pp,这意味着类在定义和声明中都必须是lamp::apache。这里更简单的方法是将清单从apache.pp重命名为init.pp,以便类名只需匹配模块名即可。

考虑到自动加载的这两个名称空间问题,最容易让您工作的两个步骤是:

  • 将清单中对apache的定义和引用重命名为lamp (例如class lampinclude lamp)。
  • apache.pp清单重命名为init.pp

有关更多信息,您可以参考傀儡文献获取正在使用的木偶版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54529221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档