Я использую марионетку для создания виртуальной машины с бродягой (ubuntu). В моем script мне нужно:
sudo apt-get build-dep python-lxml
Я знаю, что могу установить apt
кукольный модуль, чтобы я мог использовать:
apt::builddep { 'python-lxml': }
Но я не могу найти ссылку на установку модуля из script и как включить/потребовать его. Мне кажется, что марионеточные документы относятся только к установке из кукольного инструмента командной строки
Я также попытался сделать что-то вроде:
define build_dep($pkgname){
exec {
"builddepend_$pkgname":
commmand => "sudo apt-get build-dep $pkgname";
}
}
build_dep{
"python-imaging":
pkgname => "python-imaging";
"python-lxml":
pkgname => "python-lxml";
}
Но марионетка вышла с ошибкой об этом. А также:
exec{"install apt module":
command => "puppet module install puppetlabs/apt"
}
class { 'apt':
require => Exec["install apt module"]}
include apt
apt::builddep { 'python-imaging':
}
но получил could not find declared class apt at..
любые идеи? направления? Я знаю, что мне не хватает чего-то очевидного, но не могу понять это.
EDIT: Если я предварительно устанавливаю (с puppet module install
из командной строки), apt:builddep
работает отлично. Но мне нужна марионетка для загрузки и установки модуля. Некоторые из других работ также работают для основного варианта использования, но не будут отвечать на мой главный вопрос.