Как я должен обработать экземпляры Монетного двора с Марионеткой?

Я использую Марионетку для установки VMs время от времени. Иногда я запускаю Linux Mint на этих VMs. У меня есть много Марионеточных модулей, которые мне нравится использовать, но когда они проверяют факты LSB, они отступают от странной версии Linux Mint.

Например, я использую официальный Марионеточный модуль Java Labs для установки JDK и такого. params.pp файл похож на это (я отключил большую часть его):

class java::params {

  case $::osfamily {
    'RedHat': {...}
    'Debian': {
      case $::lsbdistcodename {
        default: { fail("unsupported release ${::lsbdistcodename}") }
        'lenny', 'squeeze', 'lucid', 'natty': {
          $java  = {
            'jdk' => {
              'package'          => 'openjdk-6-jdk'...
            },
            'jre' => {
              'package'          => 'openjdk-6-jre-headless...
            },
          }
        }
        'wheezy', 'jessie', 'precise','quantal','raring','saucy', 'trusty', 'utopic': {
             ...I could add 'rebecca' to the above list, and that would probably do it
          $java =  {
            'jdk' => {
              'package'          => 'openjdk-7-jdk'...
            },
            'jre' => {
              'package'          => 'openjdk-7-jre-headless'
            },
            'oracle-jre' => {...},
            'oracle-jdk' => {...},
          }
        }
      }
    }
...
    default: { fail("unsupported platform ${::osfamily}") }
  }

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

Ошибка: не Мог получить каталог от удаленного сервера: Ошибка 400 на СЕРВЕРЕ: неподдерживаемый выпуск rebecca в/etc/puppet/modules/java/manifests/params.pp:50 на узле some.host.com

rebecca является версией Linux Mint, с которым я имею дело в данный момент, который соответствует Надежному человеку Ubuntu.

Но каждая версия Монетного двора основана на версии Ubuntu, и это должно хорошо работать. (Достаточно прекрасный для попытки, по крайней мере.) я действительно хотел бы сказать фактору возвращать эквивалентную Ubuntu lsb информация, вместо того, чтобы изменять модуль и все другие модули как он. Хотя это могло бы быть сервисом для сообщества...

Кто-то попытался решить эту проблему? Идеи?

4
задан 9 January 2015 в 02:32
1 ответ

Эта страница , кажется, подразумевает, что вы можете переопределить факты Facter, установив переменную среды:

# show the operating system we are running (retrieved from facter)
$ puppet -e 'notify { "We are running on $operatingsystem": }'
notice: We are running on Fedora

# override $operatingsystem for testing purposes
$ FACTER_operatingsystem=Debian puppet -e 'notify { "We are running on $operatingsystem": }'
notice: We are running on Debian

В этом случае вы сможете собрать каждую rebecca хост с переменной FACTER_lsbdistcodename = trusty ?

Я не тестировал это, но факты - это просто вещи, сообщаемые узлом, и поэтому их можно легко переопределить / редактировать ...

1
ответ дан 3 December 2019 в 04:10

Теги

Похожие вопросы