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 "backup"
|
||||||
depends "firewall"
|
depends "firewall"
|
||||||
depends "tor-full"
|
depends "tor-full"
|
||||||
|
depends "hostsfile"
|
||||||
|
@ -29,15 +29,25 @@ file "/opt/ejabberd/.erlang.cookie" do
|
|||||||
content ejabberd_credentials['erlang_cookie']
|
content ejabberd_credentials['erlang_cookie']
|
||||||
end
|
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
|
file "/opt/ejabberd/.hosts.erlang" do
|
||||||
mode "0644"
|
mode "0644"
|
||||||
owner "ejabberd"
|
owner "ejabberd"
|
||||||
group "ejabberd"
|
group "ejabberd"
|
||||||
content <<-EOF
|
content ejabberd_hostnames.map{|h| "#{h}."}.join("\n")
|
||||||
"andromeda.kosmos.org".
|
|
||||||
"centaurus.kosmos.org".
|
|
||||||
"draco.kosmos.org".
|
|
||||||
EOF
|
|
||||||
end
|
end
|
||||||
|
|
||||||
ruby_block "configure ERLANG_NODE" do
|
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 = Chef::Util::FileEdit.new("/opt/ejabberd/conf/ejabberdctl.cfg")
|
||||||
file.search_file_replace_line(
|
file.search_file_replace_line(
|
||||||
%r{#ERLANG_NODE=ejabberd@localhost},
|
%r{#ERLANG_NODE=ejabberd@localhost},
|
||||||
"ERLANG_NODE=#{node['kosmos-ejabberd']['erlang_node']}"
|
"ERLANG_NODE=ejabberd@#{node['name']}"
|
||||||
)
|
)
|
||||||
file.write_file
|
file.write_file
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user