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

Puppet-Labs Apache Module Установить тип операционной системы

Я новичок в Puppet, и у меня возникли проблемы с модулем Apache Puppet-Labs http://forge.puppetlabs.com/puppetlabs/apache. Я использую его вместе с Vagrant как бессерверную установку (если это изменит ваш ответ).

В своей точке входа я вызываю класс apache.pp, который выглядит так:

class {'apache::mod::php': 
   case $::operatingsystem {
     'RedHat', 'Fedora', 'CentOS', 'Scientific', 'SLC', 'Ascendos', 'CloudLinux', 'PSBM', 'OracleLinux', 'OVS', 'OEL': {
     }
     default: {
      $osfamily = $::operatingsystem
      }
    }
  }

Однако, когда я запускаю марионетку, я получаю синтаксическую ошибку:

Error: Could not parse for environment production: Syntax error at '::operatingsystem';    expected '}' at /tmp/vagrant-puppet/manifests/classes/apache.pp:2

Я пошел по этому пути, потому что во время отладочных прогонов ранее я обнаружил, что марионетка пыталась использовать "apt" в поле centos. Я предположил, что мне нужно установить тип операционной системы в соответствии с информацией о «типах» марионеточных лабораторий на странице марионеточной кузницы.

Единственное, что я должен отметить для тех, кто не знает о работе с vagrant, * .pp используются совместно с хост-системой, которой в данном случае является Debian. Может ли это быть причиной? Я не думаю, что это так.

Прошу прощения, если это глупый вопрос. Спасибо.

Вам не нужно каким-либо образом устанавливать операционную систему - это сделает Facter. Бегать facter в системе, чтобы убедиться в правильности установки фактов.

Какую версию Puppet вы используете? Вроде задыхается от использования $:: как явная спецификация верхней области видимости, которая должна нормально работать в любой последней версии.