Марионетка: Как зафиксировать “Недопустимый тип ресурса file_line”?

У меня есть недавно установленный Марионеточный сервер только с одним настроенным модулем и одним управляемым клиентом.

Это - модуль MOTD и похоже так:

class motd {
    file { "/etc/custom_motd.sh":
    path    => '/etc/custom_motd.sh',
    ensure  => present,
    owner   => "root",
    group   => "root",
    mode    => "775",
    content => template('motd/custom_motd.sh.erb'),
    #require => Class['nagios_client'],
    }

#    file_line { 'enable motd':
#    ensure  => present,
#    line    => '/etc/custom_motd.sh',
#    path    => '/etc/profile',
#    require  => File['/etc/custom_motd.sh']
#    }
}

Когда я работаю puppet agent -t на клиенте я получаю надлежащий результат:

[root@pnd01 ~]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for pnd01.company.com
Info: Applying configuration version '1426413575'
Notice: /Stage[main]/Motd/File[/etc/custom_motd.sh]/ensure: created
Notice: Finished catalog run in 0.24 seconds
[root@pnd01 ~]#

Но если я некомментирую "раздел" строки файла в init.pp файл модуля и затем выполненный puppet agent -t на клиенте я получаю следующий ответ:

[root@pnd01 ~]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type file_line at /etc/puppet/environments/production/modules/motd/manifests/init.pp:17 on node pnd01.company.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
[root@pnd01 ~]#

Строка 17 точек к "file_line" объявлению. У меня есть тот же самый модуль на другой Марионеточной среде, и это работает там как очарование. Я искал его на Google и нашел сообщение, которое рекомендует добавить:

pluginsync = true

к [main] раздел /etc/puppet/puppet.conf на клиентской машине и я сделал так, но я все еще получаю ту же ошибку.

Какая-либо идея, как устранить эту проблему или почему это даже происходит?

1
задан 15 March 2015 в 12:08
1 ответ

Скорее всего, вам нужно установить стандартную библиотеку . При другой установке, это может быть привлечено каким-либо другим установленным модулем.

После этого, используйте его с include stdlib.

.
4
ответ дан 3 December 2019 в 17:40

Теги

Похожие вопросы