В настройках, над которыми я работаю, переменная $var1 объявлена в нескольких местах. Однако я не уверен, какая строка применялась последней. Структура следующая.
Модуль puppet, module1, содержит класс vars.pp, который наследуется его манифестом init.pp. В манифесте vars.pp var1 объявлен как «value-vars».
#vars.pp
$var1 = "value-vars"
Этот модуль применяется к любому узлу, который соответствует определенному регулярному выражению, определенному в файле nodes.pp.
#nodes.pp
node "/nodepattern/" inherits base {
require module1
}
nodes.pp наследуется от base.pp, который объявляет var1 как «базу значения».
#base.pp
$var1 = "value-base"
Теперь, когда модуль применяется к определенному узлу, какое значение будет содержать var1?
Это «значение-вары», потому что блок узла применяется перед классом?
ОБНОВИТЬ
├── puppet3
│ ├──**manifests**
│ │ └───**nodes**
│ │ └──base.pp (node "base", $var1 = "value-base")
│ ├──nodes.pp (various nodes inheriting base node, contains module1 node)
│ ├──**modules**
│ │ ├──**module1**
│ │ │ ├──**manifests**
│ │ ├──vars.pp (class "vars", $var1 = "value-vars")
│ │ ├──init.pp (class "module1", inherits vars class)
notify {"value: ${var1}":}
, чтобы показать значение при тестировании с помощьюpuppet agent -t
илиnotice("value: ${var1}")
, чтобы добавить сообщение в журнал мастера. - person webNeat   schedule 26.08.2014