Как исключить Марионеточные модули для нескольких узлов?

Эта запись в блоге объясняет, как установить несколько маршрутов для Linux в некоторых деталях.

3
задан 11 June 2013 в 11:22
2 ответа

Проблема в том, что hiera_include будет использовать классы со всех уровней (вероятно, использует hiera_array).

Это, вероятно, сработает:

[root@puppetmaster puppet]# cat hieradata/common.yaml
---
classes:
  - ldap
  - motd
  - ntp
  - puppet-conf
[root@puppetmaster puppet]# cat hieradata/environment/tst/tst-01.yaml
---
classes:
  - puppet-update
  - public-keys
  - motd
  - ntp
  - puppet-conf

В node-def:

class { hiera('classes'): }

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

Это поможет?

2
ответ дан 3 December 2019 в 06:10

Вы можете использовать что-то вроде этого в вашем node.pp :

node default {
  hiera_include('classes')
}

node /^tst-0(1|2)\.example\.com$/ inherits default {
}

node /.*example\.com$/ inherits default {
  include ldap
}
2
ответ дан 3 December 2019 в 06:10

Теги

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