2016-04-04 2 views
1

Я хотел бы использовать модуль vcsrepo в манифесте модуля кукол. Поэтому мне нужно установить puppetlabs/vcsrepo. Возможно ли избежать его установки вручную командой sudo puppet install puppetlabs-vcsrepo? Я пытался использовать somethink, как это в моем файле init.ppPuppet - установить модуль через манифест другого модуля

module { 'puppetlabs/vcsrepo': 
    ensure => installed, 
} 

, но он не работает :(

+0

Ну нет, что вы пытались, вероятно, не будет работать, потому что есть. нет типа ресурса 'module' в стандартном дистрибутиве , Не следует пытаться угадывать имена или атрибуты типов ресурсов; проконсультируйтесь с [ссылкой на тип] (https://docs.puppetlabs.com/puppet/latest/reference/type.html) для вашей версии Puppet. –

+0

Вы можете написать 'Exec', который гарантирует, что модуль установлен в целевой системе, но полезность этого неясно. Конечно, модуль, установленный таким образом, будет недоступен до следующего запуска Puppet. Более того, хотя это может служить цели в контексте «марионеточного применения», это не имеет никакого смысла в контексте мастера/агента, поскольку кукольные модули используются во время создания каталога. Нецелесообразно устанавливать их в любом месте, кроме машин (ов), где создаются каталоги. –

ответ

1

Лучший способ использовать этот модуль будет добавить его к метаданным .json файл, как описано здесь: https://docs.puppetlabs.com/guides/style_guide.html#module-metadata

После того, как вы сделали это модуль просил, в вашем случае puppetlabs/будут установлены vcsrepo

Смежные вопросы