为什么木偶没有找到我的环境模块路径?

时间:2015-07-16 22:23:48

标签: 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 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]#

然而你可以看到模块路径似乎不包含开发?

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

我甚至试过把

modulepath=$confdir/environments/$environment/modules:$confdir/modules

进入puppet.conf,但它没有找到它,只是改为弃用警告

我的环境虽然有效,但我有一个清单,它适用于标有develop环境的节点。似乎无法让模块拿起来

2 个答案:

答案 0 :(得分:3)

/etc/puppet/environments/develop内,您需要一个文件名environment.conf。该文件的内容可以类似于:

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

答案 1 :(得分:3)

切换到环境目录后,全局modulepath设置无关紧要。所以重要的问题是,

puppet master --configprint environmentpath

收益率/etc/puppet/environments

OP的反馈后

更新

由于您尚未激活目录环境,因此/etc/puppet/environments/develop实际上并未产生实际的develop环境。您需要在puppet.conf中明确定义此环境,包括其manifestmodulepath设置。

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

[main]
environmentpath=/etc/puppet/environments