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

Добавление репозитория yum с марионеткой - Ошибка 400 на СЕРВЕРЕ: недопустимый параметр enable в фигурной скобке?

Пытаюсь автоматизировать некоторые задачи при получении нового сервера. Первым делом нужно добавить несколько репозиториев yum.

Мой /etc/puppet/modules/repo/manifests/init.pp:

     1  class repo {
     2      file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL": 
     3          owner   => root, 
     4          group   => root, 
     5          mode    => 0644, 
     6          source  => "puppet:///repo/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL" 
     7      }
     8  
     9      yumrepo { 
    10          "epel":
    11              descr       => 'the epel repo',
    12              mirrorlist  => 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch',
    13              enable      => 1,
    14              gpgcheck    => 1,
    15              gpgkey      => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL", 
    16              require     => File["/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL"]
    17      }
    18  }

Синтаксис ОК при проверке с puppet parser validate.

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

# puppet agent --no-daemonize --verbose
notice: Starting Puppet client version 2.7.1
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter enable at /etc/puppet/modules/repo/manifests/init.pp:17 on node svr051-4170
notice: Using cached catalog
err: Could not retrieve catalog; skipping run
notice: Caught INT; calling stop

Как видите, строка 17 - это закрытая фигурная скобка. Я действительно не понимаю, в чем проблема. Любая помощь будет оценена по достоинству.

"Включить" на самом деле не является допустимым параметром для ресурс yumrepo. Это называется «enable_d_».

Причина, по которой он подавляется фигурной скобкой, заключается в том, что это конец этого раздела. Я не знаю подробностей того, как Puppet анализирует файлы, но я предполагаю, что Puppet захватывает все параметры во время синтаксического анализа и обрабатывает их вместе, поэтому он не знает о проблеме, пока парсер не покинет раздел.

Быстрое предположение, что это как-то связано с $ или & в строке зеркального списка, попробуйте добавить \ перед ними и посмотрите, что произойдет