Карта пути кукол к абсолютному пути - PullRequest
4 голосов
/ 28 марта 2012

Я пытаюсь написать новую функцию для puppet, которая в качестве аргумента будет использовать исходный путь куклы, например:

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

Затем функции необходимо проанализировать этот каталог, поэтому мне нужно определить абсолютный путь к каталогу, который зависит от среды, например:

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

Какую функцию я могу использовать для достижения этой цели?

Ответы [ 2 ]

1 голос
/ 04 апреля 2012

Не уверен, что для этого есть внутренний метод / функция, но все же может быть несколько способов достичь этого.

  1. Проверьте ENV на наличие любых конфигураций марионеток.

  2. Выполните системный вызов () из вашего скрипта - puppet может вывести значения конфигурации для пути к модулю:

    $ puppet master --configprint modulepath
    $ puppet agent --configprint modulepath
    
0 голосов
/ 07 апреля 2012

Из персоны марионеточного источника у меня складывается впечатление, что если бы это было возможно, потребовались бы изменения исходного кода марионетки, и это было бы ужасно.

Итак, мой ответ: возможно, вы пытаетесь решить не ту проблему?

Если вы хотите преобразовать путь к файловому серверу в путь к главному локальному файлу, это предполагает, что вы хотите написать функцию, которая использует данные на сервере, которые обычно нужны только клиенту. почему ты хочешь сделать это? Есть ли у вас файлы, которые нужны как мастеру, так и клиентам? (Это звучит маловероятно) Действительно ли этот URL вообще нужно преобразовывать в локальный путь к файлу?

...