Существует ли шпаргалка Ruby/ERB для марионеточных пользователей, не знакомых с Ruby в целом?

Различие также более примечательно, когда существует большая активность диска: Виртуальные машины не сильны в записи в диск, в то время как кремний и металл превосходны.

3
задан 25 November 2010 в 16:05
1 ответ

Я был в той же самой ситуации некоторое время назад. В основном, чтобы шаблоны erb использовались марионеткой, Вы не требуете большого знания Ruby. Но, который также зависит от сложности и цели Ваших марионеточных модулей.

Если бы, например, Вы главным образом собираетесь использовать их для конфигурационных файлов для управления сервером, то главным образом необходимо было бы управлять вещами как IP-адресами и именами хостов. И обычно используемые функции Ruby, с которыми Вы встретились бы, split и join.

Самый легкий способ бездельничать с этими и другими функциями состоял бы в том, чтобы установить рубин и его интерактивную оболочку, irb и протестировать Ваш код. Так... шпаргалка, я не знаю. Я прослушивал людей при переполнении стека и #ruby на irc! У меня есть набор шаблонов здесь https://github.com/alcy/pupmods/tree/master/puppet/templates/(плохо организованный!), который мог бы помочь Вам.

Относительно запроса оператора выбора у Вас может быть что-то вроде этого (один из возможных подходов):

$ip1=inline_template('<%= ipaddress.split(".")[0..2].collect{|x| x}.join(".") %>')

$source = $ip1 ? {
  "10.0.0" => "puppet:///your-module-name/resolv.conf.1",
  "10.0.1" => "puppet:///your-module-name/resolv.conf.2",
  }

file {"/etc/resolv.conf":
  ensure => present,
  source => $source,
  }

Шаблонная часть его объяснена как: разделите ipaddress клиентской машины, полученной из фактора при каждом возникновении ТОЧКИ ".", соберите первые три числа и присоединитесь к ним с ТОЧКОЙ, промежуточной каждый элемент. Сохраните это как переменную ip1. Согласно этому значению, служите необходимому resolv.conf файлу от файлового сервера марионетки.

2
ответ дан 3 December 2019 в 07:15
  • 1
    Прямо сейчас я ищу пример оператора выбора, таким образом, у меня может быть шаблон resolv.conf, который имеет различные записи сервера имен в зависимости от того, каков IP-адрес клиента. Например, если IP 10.0.0.x, используйте серверы имен 10.0.0.1 и 10.0.0.2, если IP 10.0.1.x, используйте серверы имен 10.0.1.1 и 10.0.1.2. –  ThatGraemeGuy 26 November 2010 в 10:21
  • 2
    Отредактированный исходный ответ. Надежда это помогает. –  alcy 26 November 2010 в 14:14
  • 3
    Хороший. Мой первоначальный план состоял в том, чтобы иметь .erb файл быть источником для ресурса Файла и иметь оператор выбора в .erb, но это могло работать точно также. –  ThatGraemeGuy 26 November 2010 в 15:45

Теги

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