4

我正在尝试为 puppet 编写一个新函数,该函数将 puppet 源路径作为参数,例如:

puppet:///modules/foo/some/dir

然后函数需要分析这个目录,所以我需要弄清楚目录的绝对路径,这取决于环境,例如:

/srv/puppetmaster/stable/modules/foo/files/some/dir

我可以使用什么功能来实现这一点?

4

2 回答 2

1

不确定是否有内部方法/函数可以做到这一点,但仍然可能有几种方法可以实现这一点。

  1. 检查 ENV 是否有任何 puppet 配置。

  2. 从您的脚本中调用 system() - puppet 可以转储模块路径的配置值:

    $ puppet master --configprint modulepath
    $ puppet agent --configprint modulepath
    
于 2012-04-04T14:14:58.903 回答
0

从对 puppet 源代码的了解来看,我得到的印象是,如果可能的话,需要对 puppet 源代码进行修改,而且会很丑陋。

所以我的回答是,你可能是在尝试解决错误的问题吗?

如果要将文件服务器路径转换为主本地文件路径,这表明您要编写一个函数,该函数使用服务器上的数据,通常只需要在客户端上使用。你为什么要这样做?您是否有主服务器和客户端都需要的文件?(这听起来不太可能)该 url 实际上是否需要转换为本地文件路径?

于 2012-04-07T12:10:30.327 回答