Назад | Перейти на главную страницу

марионеточные параметризованные классы и hiera

Я использую puppet open source 3.1.0 из репозиториев puppetlabs на RedHat Enterprise Linux 6 и использую hiera 1.1.2. Я сталкиваюсь с ошибкой или фундаментальным непониманием с моей стороны того, как hiera работает с параметризованными классами. Я установил параметризованный подкласс со значением по умолчанию. Я пытаюсь установить другое значение на конкретном узле. Узел объявлен в одном из основных манифестов без классов, и у меня в нем есть hiera_include ('classes'). Пытаюсь изменить значение параметра «активировать» в классе «my_firewall». Когда мой файл узла hiera выглядит так:

---
classes:
  - puppetmaster
rel::auth_users: ['puppet']
rel::my_firewall::activate: false 

rel :: my_firewall даже не загружается (у меня есть уведомления для двух логических значений «активировать», но я их не вижу). Параметр rel :: auth_users передается нормально. Класс rel определен в родительском элементе hiera.

Когда я меняю его на это:

---
classes:
  - puppetmaster
  - rel::my_firewall
rel::auth_users: ['puppet']
rel::my_firewall::activate: false 

Он загружает класс rel :: my_firewall, но использует значение по умолчанию, а не значение false.

В качестве проверки работоспособности, когда я определяю вещи обычным способом в манифесте узла, все работает нормально:

node 'puppet.my.domain' {
  class { 'rel::my_firewall':
    activate => false,
  }
}

правильно объявляет класс и устанавливает активировать значение false.

Я что-то делаю неправильно? Мой синтаксис отключен? Любая помощь была бы потрясающей.

Синтаксис выглядит неплохо. Выглядит как ошибка 17474 - ложное значение загружается неправильно.

Как обходной путь до выхода 3.2, может быть, использовать строку?