Марионеточному агенту не удается найти тестовый модуль

Я настраиваю марионеточное ведущее устройство и агент. Они работают на том же хосте, как я хочу, чтобы марионетка управляла этим хостом, также. Агенту не удается найти удобный тестовый модуль, который обеспечивает пакет.

Я выполняю надежного человека человечности (14.04 LTS) и установленный puppetmaster-пассажир пакетов и марионетка для начинаний. Вся польза до сих пор.

root@mangosteen:/etc/puppet# dpkg -l | grep puppet
ii  puppet                           3.4.3-1ubuntu1.1    [...]
ii  puppet-common                    3.4.3-1ubuntu1.1    [...]
ii  puppetmaster                     3.4.3-1ubuntu1.1    [...]
ii  puppetmaster-common              3.4.3-1ubuntu1.1    [...]
ii  puppetmaster-passenger           3.4.3-1ubuntu1.1    [...]
root@mangosteen:/etc/puppet# 

Мой /etc/puppet/puppet.conf кажется довольно обычным:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN 
ssl_client_verify_header = SSL_CLIENT_VERIFY

dns_alt_names = mangosteen.example.com,puppetmaster.example.com

Пакет обеспечивает быстрый тест, который я думаю, должен означать, что перевод в рабочее состояние агента закончится в письменной форме HelloWorld к/tmp/hello:

root@mangosteen:/etc/puppet# pwd
/etc/puppet
root@mangosteen:/etc/puppet# find manifests/ -type f
manifests/site.pp
root@mangosteen:/etc/puppet# find modules/ -type f
modules/test/manifests/init.pp
root@mangosteen:/etc/puppet# cat manifests/site.pp
include test
root@mangosteen:/etc/puppet# cat modules/test/manifests/init.pp
class test { file { \/tmp/hello\: content => \HelloWorld\ } }
root@mangosteen:/etc/puppet# 

Но это не то, что происходит. (Вспомните, что агент и ведущее устройство находятся на том же хосте, который называют mangosteen.example.com с псевдонимом puppetmaster.example.com),

root@mangosteen:/etc/puppet# puppet agent --test
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class test for mangosteen.example.com on node mangosteen.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
root@mangosteen:/etc/puppet# 

Журнал сервера (/var/log/puppet/masterhttp.log) довольно обычно посредством той операции:

[2015-10-02 12:54:08] 139.162.x.y - - [02/Oct/2015:12:54:08 UTC] "GET /production/node/mangosteen.example.com? HTTP/1.1" 200 4487
[2015-10-02 12:54:08] - -> /production/node/mangosteen.example.com?
[2015-10-02 12:54:08] 139.162.x.y - - [02/Oct/2015:12:54:08 UTC] "GET /production/file_metadatas/plugins?links=manage&recurse=true&ignore=.svn&ignore=CVS&ignore=.git&checksum_type=md5 HTTP/1.1" 200 278
[2015-10-02 12:54:08] - -> /production/file_metadatas/plugins?links=manage&recurse=true&ignore=.svn&ignore=CVS&ignore=.git&checksum_type=md5
[2015-10-02 12:54:09] 139.162.x.y - - [02/Oct/2015:12:54:09 UTC] "POST /production/catalog/mangosteen.example.com HTTP/1.1" 400 89
[2015-10-02 12:54:09] - -> /production/catalog/mangosteen.example.com
[2015-10-02 12:54:09] 139.162.x.y - - [02/Oct/2015:12:54:09 UTC] "PUT /production/report/mangosteen.example.com HTTP/1.1" 200 9
[2015-10-02 12:54:09] - -> /production/report/mangosteen.example.com

И вывод отладки от агента является неинтересным к моему глазу, главным образом о нахождении его сертификатов. Эти команды предоставляют разумную сводку той скуки:

root@mangosteen:/etc/puppet# puppet agent --test --debug --trace 2>&1 | grep -i module
root@mangosteen:/etc/puppet# puppet agent --test --debug --trace 2>&1 | grep -i test
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class test for mangosteen.example.com on node mangosteen.example.com
root@mangosteen:/etc/puppet# 

Какие-либо указатели на том, что я делаю неправильно?

0
задан 2 October 2015 в 16:03
2 ответа

Если вы используете агент марионетки на том же хосте, где у вас есть мастер марионеток, вы можете использовать применение марионетки как @FelixFrank предложено

В любом случае проблема в том, что у вас нет узла, определенного как "mangosteen.example.com" , вы также можете решить эту проблему, указав узел по умолчанию , Puppet ищет определяющий узел и, если ничего не найдено, использует узел по умолчанию .

0
ответ дан 5 December 2019 в 12:01

@FelixFrank предоставил основной ключ к ответу, что файл модули/test/manifests/init.pp имел опечатку. Странно, что мастер марионеток не сообщил об этом в лог, а агент марионеток просто сказал, что класс теста не может быть найден. (Его не удалось найти, потому что он не разобрал, насколько я могу судить.)

Я достаточно новичок в марионетке, чтобы как-то испортить запись в журнал. В любом случае, так как директивы для этого хоста вообще не было, отсутствие директивы для этого хоста не было проблемой. Действительно, это оказалось довольно умным тестом, потому что как только агент работал (я исправил опечатку), агент создал файл по адресу /tmp/hello.

.
0
ответ дан 5 December 2019 в 12:01

Теги

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