Write hostname-related configs for new ejabberd cluster
This commit is contained in:
parent
5b351036ba
commit
74dd59ad07
|
@ -26,3 +26,4 @@ depends "kosmos_postgresql"
|
|||
depends "backup"
|
||||
depends "firewall"
|
||||
depends "tor-full"
|
||||
depends "hostsfile"
|
||||
|
|
|
@ -29,15 +29,25 @@ file "/opt/ejabberd/.erlang.cookie" do
|
|||
content ejabberd_credentials['erlang_cookie']
|
||||
end
|
||||
|
||||
ejabberd_nodes = search(:node, "role:ejabberd")
|
||||
|
||||
ejabberd_nodes.each do |n|
|
||||
ip_address = n["knife_zero"]["host"]
|
||||
IPAddr.new ip_address
|
||||
hostsfile_entry ip_address do
|
||||
hostname n["hostname"]
|
||||
action :create
|
||||
end
|
||||
rescue IPAddr::InvalidAddressError
|
||||
next
|
||||
end
|
||||
|
||||
ejabberd_hostnames = ejabberd_nodes.map { |n| n["hostname"] }
|
||||
file "/opt/ejabberd/.hosts.erlang" do
|
||||
mode "0644"
|
||||
owner "ejabberd"
|
||||
group "ejabberd"
|
||||
content <<-EOF
|
||||
"andromeda.kosmos.org".
|
||||
"centaurus.kosmos.org".
|
||||
"draco.kosmos.org".
|
||||
EOF
|
||||
content ejabberd_hostnames.map{|h| "#{h}."}.join("\n")
|
||||
end
|
||||
|
||||
ruby_block "configure ERLANG_NODE" do
|
||||
|
@ -45,7 +55,7 @@ ruby_block "configure ERLANG_NODE" do
|
|||
file = Chef::Util::FileEdit.new("/opt/ejabberd/conf/ejabberdctl.cfg")
|
||||
file.search_file_replace_line(
|
||||
%r{#ERLANG_NODE=ejabberd@localhost},
|
||||
"ERLANG_NODE=#{node['kosmos-ejabberd']['erlang_node']}"
|
||||
"ERLANG_NODE=ejabberd@#{node['name']}"
|
||||
)
|
||||
file.write_file
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue