0

У меня есть функция класса, которая загружает пакеты с использованием метода пакета в кукольном.Как улучшить функцию класса с помощью шаблона или другого общего метода

class package { 

    define install($dependence=File[$dummy_dependence_file]) 
{ 
     package { $name: 
      ensure => "installed", 
     require => $dependence, 
    } 
} 
} 

В настоящее время я использую его в своей init.pp как так

# install dependencies 
$dependence_list = ['glibc.i686','wget','gcc'] 
# 
# ==Actions 
# Install glibc, gcc, wget dependency for running sybase 
# 
# ==Requires 
# * http proxy to be setup to get around jpm proxy 
package::install { $dependence_list: 
     dependence => File[ $http_setup_name ], 
     } 

Я хотел бы этот метод более универсальным. Возможно ли использовать массив зависимостей, которые мне нужно редактировать init.pp каждый раз. Использовать шаблон и читать каждую зависимость из файла? Или любой другой общий метод будет ...

Пример будет отличным.

ответ

1

вы должны быть в состоянии просто установить требование в рамках пакета и передать массив в пакет тоже:

$my_packages = ['apache2', 'curl', 'wget'] 
$my_dependencies = [File['a'], File['b'], User['tester']] 

package { $my_packages: 
    ensure => installed, 
    require => $my_dependencies, 
} 

Используя этот тип пакета должен быть достаточным для ваших нужд.

Однако, если вы хотите прочитать список зависимостей из файла, вы можете использовать функцию «шаблон». то есть.

$my_dependencies = template('modulepath/templates/dependency_list.erb') 

Наконец вы dependency_list.erb будет выглядеть следующим образом:

[File['a'], File['b'], User['tester']] 

и это все, что на самом деле это!

Для получения дополнительной информации вы можете увидеть http://docs.puppetlabs.com/guides/templating.html

+0

Это та же функциональность, что я выше. – MWright

+0

Извините, я добавил некоторую информацию об использовании шаблонов тоже – Sekm

+0

Можете ли вы добавить пример dependency_list.erb для полноты? :-D – MWright

 Смежные вопросы

  • Нет связанных вопросов^_^