Условное составление каталога - PullRequest
1 голос
/ 10 апреля 2020

У меня есть два сервера, например app01.zone1.mydomain.com и app01.zone2.mydomain.com. У меня есть класс app, который классификатор узлов назначает каждому хосту с именем хоста, совпадающим с app*. Класс app выглядит примерно так:

class app inherits common {
  include 'appm'
}

Он просто включает в себя модуль appm.

Теперь модуль appm получил некоторый код, который может быть взломан zone2. Итак, я изменил класс app следующим образом:

class app inherits common {
  if ($zone == 'zone1'){
     include 'appm'
  }
}

Однако, когда каталог компилируется, условие игнорируется. Из-за этого происходит сбой компиляции, когда агент на app01.zone2.mydomain.com пытается синхронизировать c.

Есть ли способ заставить компиляцию каталога выполнить условие? Любое другое предложение для ситуации?

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете использовать условное сопоставление с регулярным выражением для вашего случая:

class app inherits common {
  if $::fqdn =~ /^app(\d+)\.zone1\./ {
    include 'appm'
  }
}
...