puppet apply «не удалось найти класс»

Это довольно простая проблема, и я прочитал ряд предложенных решений, но я все еще не могу заставить puppet применить импорт класса git::config. Вот мои настройки файла:

Я импортирую модуль git через nodes.pp:

#/etc/puppet/manifests/nodes.pp
node default {
}
include git

site.pp импортирует nodes.pp:

#/etc/puppet/manifests/site.pp
import 'nodes.pp'

Модуль git определяется следующим образом:

#/etc/puppet/modules/git/manifests/init.pp
class git {
    include git::install
    include git::config
}
class git::install{
    package {'git': => present }
}

и файл конфигурации:

#/etc/puppet/modules/git/manifests/config.pp
define git::config{
    [some code here]
}

Когда я запускаю puppet apply, puppet не находит класс git::config:

sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp
Error: Could not find class git::config for xxxx on node xxxx.

Исходным модулем был puppetlabs-git (такая же структура папок), но я воссоздал ошибку, используя упрощенную файловую структуру (см. выше).

Обновление 1

Опечатка выше, git config.pp и init.pp находятся в папке /modules/git/manifests, а файл config.pp читает «define git::config»


person Andrew    schedule 25.02.2015    source источник
comment
Это опечатка, что в файле git::config нет ключевого слова class?   -  person Chris Pitman    schedule 26.02.2015
comment
pp нужно поместить в папку git/manifests, а не непосредственно в папку git.   -  person BMW    schedule 26.02.2015


Ответы (2)


Вы не можете звонить include на git::config. git::config — это определенный тип, а не класс. Синтаксис использования defined type следующий:

git::config { 'the_name_var':
  param1 => 'foo',
  param2 => 'bar'
}

Надеюсь это поможет

person ptierno    schedule 26.02.2015

Ваша структура кода марионетки неверна. Вам нужно переместить файл pp в папки манифестов.

/etc/puppet/modules/git/init.pp
/etc/puppet/modules/git/config.pp

to

/etc/puppet/modules/git/manifests/init.pp
/etc/puppet/modules/git/manifests/config.pp
person BMW    schedule 26.02.2015