Как написать шаблон для автоматической записи "server.x=hostname:Quorom_Port:Election_Port" в zoo.cfg

Я хочу, чтобы значение "server.x=hostname:Quorom_Port:Election_Port" было записано в zoo.cfg с использованием шаблона на основе количества хостов, объявленных в файле attribute / default.rb

default['zookeeper']['servers'] = ["hostname1", "hostname2", "hostname3"]
default['zookeeper']['follower_port'] = 2888
default['zookeeper']['election_port'] = 3888

Для вышеуказанных атрибутов следующие значения должны автоматически записываться в файл zoo.cfg с использованием шаблона:

server.1= hostname1:2888:3888
server.2= hostname2:2888:3888
server.3= hostname3:2888:3888

Пожалуйста, дайте мне знать, как это сделать?

1 ответ

Решение
<%- if node['zookeeper']['servers'] %>
    <%- node['zookeeper']['servers'].each_with_index do |host, idx| %>
        server.<%= idx+1 %>=<%= host %>:<%= node['zookeeper']['follower_port']%>:<%= node['zookeeper']['election_port']%>
    <%- end %>
<%- end %>

Приведенный выше фрагмент кода решил проблему.

Другие вопросы по тегам