为什么puppet找不到我的环境模块路径?

为什么puppet找不到我的环境模块路径?,puppet,Puppet,我用木偶搭建了一个简单的环境。在我的主人身上 [root@ak-puppetm develop]# pwd /etc/puppet/environments/develop [root@ak-puppetm develop]# puppet config print modulepath --section master --environment develop /etc/puppet/modules:/usr/share/puppet/modules [root@ak-puppetm d

我用木偶搭建了一个简单的环境。在我的主人身上

[root@ak-puppetm develop]# pwd
/etc/puppet/environments/develop

[root@ak-puppetm develop]# puppet config print modulepath --section master --environment develop
/etc/puppet/modules:/usr/share/puppet/modules

[root@ak-puppetm develop]# ls -lah
total 28K
drwxr-xr-x 5 akropp akropp 4.0K Jul 16 15:16 .
drwxr-xr-x 4 akropp akropp 4.0K Jul 16 15:16 ..
-rw-r--r-- 1 akropp akropp 6.1K Jul 16 15:16 .DS_Store
drwxr-xr-x 4 akropp akropp 4.0K Jul 16 15:16 files
drwxr-xr-x 2 akropp akropp 4.0K Jul 16 15:16 manifests
drwxr-xr-x 3 akropp akropp 4.0K Jul 16 15:20 modules

[root@ak-puppetm develop]# ls -lah modules/
total 12K
drwxr-xr-x 3 akropp akropp 4.0K Jul 16 15:20 .
drwxr-xr-x 5 akropp akropp 4.0K Jul 16 15:16 ..
drwxr-xr-x 3 akropp akropp 4.0K Jul 16 15:08 domains
[root@ak-puppetm develop]#
但是您可以看到模块路径似乎不包含develope

如果我将模块代码移动到
/etc/puppet/modules
,那么puppet会发现我的类很好

我甚至试着把

modulepath=$confdir/environments/$environment/modules:$confdir/modules
进入puppet.conf,但它仍然没有找到它,只是收到了弃用警告


虽然我的环境正在工作,但我在其中有一个清单,它对于使用
develope
环境标记的节点非常有效。似乎无法让模块在
/etc/puppet/environments/development
中拾取您需要一个文件名
environment.conf
。该文件的内容可以类似于以下内容:

modulepath = /etc/puppet/environments/develop/modules:$basemodulepath

一旦切换到环境目录,全局
modulepath
设置就无关紧要了。所以重要的问题是,你知道吗

puppet master --configprint environmentpath
产量
/etc/puppet/environments

在OP反馈后更新

由于您尚未激活目录环境,因此您的
/etc/puppet/environments/develope
实际上不会生成实际的
develope
环境。您需要在
puppet.conf
中明确定义此环境,包括其
清单
模块路径
设置

不过,不要那样做。如果您的文件系统布局已准备好用于环境目录,则应该将该设置添加到
puppet.conf

[main]
environmentpath=/etc/puppet/environments

你能分享你的
puppet.conf[master]
部分吗?我在这个上下文中遇到了另一个问题-破折号是不允许的!仅\A[A-z0-9_234;]+\Z模式不应严格需要环境配置。在其中使用相对路径是一种很好的做法,这样对中心配置的更改就不会破坏您的环境。它没有显示正确的模块路径,所以我不确定它为什么没有拾取不,你没有。您的问题与
modulepath
设置有关,该设置很可能在您的设置中失效。我明白了,我误解了您的问题。不幸的是,它没有打印出任何内容