LINUX.ORG.RU
решено ФорумAdmin

Лезет в чужие стэйджи

 ,


0

0

Ребят, прошу помощи, а то башка уже кипит.

Есть тестовый паппет который обслуживает пока две тестовые ноды. site.pp:

node default {
    case $operatingsystem {
        fedora: { 
            import 'dist/fedora.pp'
            include packages-default 
            include services-default }
    }
}

node 'db.example.local' inherits default { 
    import 'nodes/db.pp'
    include 'db::storage'
    include 'db::packages'
    include 'db::files-mysql-server'
    include 'db::files-pgsql-server'
    include 'db::files-webadmin'
    include 'db::services-mysql-server'
    include 'db::services-pgsql-server'
    include 'db::services-webadmin'
}

node 'mail-new.example.local' inherits default { 
    import 'nodes/mail.pp'
    include 'mail::storage'
    include 'mail::packages'
}

fedora.pp - http://pastebin.com/y7M6kXV3 db.pp - http://pastebin.com/wxJMw5UJ mail.pp - http://pastebin.com/DnLJsjXr

Проблема в том, что когда я запускаю паппет на ноде mail-new

Получаю: notice: /Stage[packages-DB]/Fedora-nginx/Package[nginx]/ensure: created

То есть он зачем-то выполняет стэйджи другой ноды.

Ребят, прошу, подскажите что я неправильно делаю, заранее благодарен.

Ответ на: комментарий от strangeman

1) Не использовать import, т.к. он влечет за собой труднодиагностируемые ошибки и требует перезапуска puppetmaster при изменениях в импортируемых файлах.

У меня с import проблем не было, но я никогда не пытался делать import внутри node. В корне site.pp импорт, в нодах - только include. И ни разу не возникала необходимость перезапуска процессов master'а при добавлении модуля или class/*.pp. Работает на debian squeeze и wheezy и rhel ( и его клонах ) 5.x, 6.x

мой site.pp:

# включаем все из /etc/puppet/manifest/classes/*.pp
import "classes/*"

# подключаем модули из /etc/puppet/modules/<имя модуля>/
import "mail"
import "secure"
import "monitoring"
import "ntp"
import "repository"

# подключаем конфиг с нодами. Да, он у меня отдельный, для наглядности.
import "nodes.pp"
router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

Извини, уже всё переписал без стейджев. Разрулив порядок реквайрами - сейчас всё работает.

Большое спасибо за подсказки и советы!

WhiteWolf
() автор топика
Ответ на: комментарий от router

У меня с import проблем не было, но я никогда не пытался делать import внутри node. В корне site.pp импорт, в нодах - только include. И ни разу не возникала необходимость перезапуска процессов master'а при добавлении модуля или class/*.pp.

Я конкретно вот про это говорил: http://docs.puppetlabs.com/puppet/3/reference/lang_import.html#inability-to-r... Сам не пробовал, но на этапе чтения документации для себя отметил, что импортируемые манифесты не всосутся после редактирования, если не отредактировать site.pp или не рестартануть master. С модулями-то нет никаких проблем.

strangeman ★★★★
()
Ответ на: комментарий от strangeman

У меня редактирование nodes.pp или class/*.pp не требует ни рестарта мастера, ни изменнения даты редактирования site.pp

router ★★★★★
()
Ответ на: комментарий от router

Ну значит документация врет. А я в нее верил. :(

strangeman ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.