Я пытаюсь создать кулинарную книгу шеф-повара, чтобы запустить несколько экземпляров mpd в моем бродячем виртуальном ящике (используя шеф-повар-соло).
Я хочу настроить каждый экземпляр в своем Vagrantfile следующим образом:
mpd: {
channels: {
mix: {
name: 'mpd_mix',
bind: '0.0.0.0',
socket: '/home/vagrant/.mpd/socket/mix',
port: '6600'
},
tech: {
name: 'mpd_tech',
bind: '0.0.0.0',
socket: '/home/vagrant/.mpd/socket/tech',
port: '6601'
}
}
}
Таким образом, рецепт должен взять эти настройки и прокрутить их (создав экземпляр mpd для каждого канала).
Вот что у меня сейчас есть в качестве рецепта:
package "mpd"
node.normal[:mpd][:channels].each_value do |channel|
# create socket
file channel[:socket] do
action :touch
end
# trying to set the attributes for the config file and the service
node.set[:mpd][:port] = channel[:port]
node.set[:mpd][:db_file] = "/var/lib/mpd/tag_cache_" + channel[:name]
node.set[:mpd][:bind_2] = channel[:socket]
node.set[:mpd][:icecast_mountpoint] = "/" + channel[:name] + ".mp3"
node.set[:mpd][:channel_name] = channel[:name]
# create service
service channel[:name] do
service_name "mpd" # linux service command
action :enable
end
# create the corresponding config file
config_filename = "/etc/" + channel[:name] + ".conf"
template config_filename do
source "mpd.conf.erb"
mode "0644"
notifies :restart, resources(:service => channel[:name])
end
end
У меня есть несколько проблем с этим:
- Ist не создает системную службу для каждого экземпляра mpd, поэтому я могу сделать
sudo service mpd_mix start
. Почему? - Он не использует файл конфигурации
/etc/mpd_mix.conf
при запуске mpd, потому что он по-прежнему вызывает/etc/init.d/mpd start
, который использует/etc/mpd.conf
. Как я могу это изменить, чтобы он использовал правильный файл конфигурации для каждого экземпляра mpd? - Настройка атрибутов для создания файлов конфигурации не работает должным образом (см. часть node.set в приведенном выше коде). Оба файла конфигурации,
/etc/mpd_tech.conf
и/etc/mpd_mix.conf
, используют атрибуты технического канала. Похоже, настройки микширования каким-то образом перезаписываются? Как я могу это исправить?
Я был бы очень признателен за помощь в этом, так как я новичок в кулинарных книгах шеф-повара.