Upgrade ejabberd to 22.05

Tested/running on all cluster nodes. Due to changes in the upstream
package we were able to remove some complexity from the recipe. Deleting
code FTW!

closes #334
This commit is contained in:
2022-05-31 16:27:07 +02:00
parent e55805bc1b
commit 48cdd62973
3 changed files with 22 additions and 70 deletions

View File

@@ -1,5 +1,5 @@
node.default["kosmos-ejabberd"]["version"] = "20.12"
node.default["kosmos-ejabberd"]["checksum"] = "3d2a4e9d1aa2d189017f4f310eff4d0b6c6d7cd911209cfbcca7b0ec5b577b65"
node.default["kosmos-ejabberd"]["version"] = "22.05"
node.default["kosmos-ejabberd"]["checksum"] = "b267a22fa9aebf3d77fb71d786520875d164b12d9e95393d63a970a7e165b20f"
node.default["kosmos-ejabberd"]["turn_ip_address"] = "148.251.83.201"
node.default["kosmos-ejabberd"]["stun_turn_port"] = 3478
node.default["kosmos-ejabberd"]["turn_min_port"] = 50000

View File

@@ -9,19 +9,21 @@ ejabberd_credentials = data_bag_item("credentials", "ejabberd")
ejabberd_version = node["kosmos-ejabberd"]["version"]
package_checksum = node["kosmos-ejabberd"]["checksum"]
package_path = "#{Chef::Config['file_cache_path']}/ejabberd_#{ejabberd_version}-0_amd64.deb"
package_path = "#{Chef::Config['file_cache_path']}/ejabberd_#{ejabberd_version}_amd64.deb"
remote_file package_path do
source "https://www.process-one.net/downloads/downloads-action.php?file=/#{ejabberd_version}/ejabberd_#{ejabberd_version}-0_amd64.deb"
# TODO There is a -2 suffix on the filename now. Need to see why and if it
# changes with new releases
source "https://github.com/processone/ejabberd/releases/download/#{ejabberd_version}/ejabberd_#{ejabberd_version}-2_amd64.deb"
checksum package_checksum
notifies :install, "dpkg_package[ejabberd]", :immediately
end
dpkg_package "ejabberd" do
source package_path
version "#{ejabberd_version}-0"
version ejabberd_version
options '--force-confdef --force-confold'
action :nothing
notifies :create, "file[/lib/systemd/system/ejabberd.service]", :immediately
end
file "/opt/ejabberd/.erlang.cookie" do
@@ -145,7 +147,7 @@ hosts.each do |host|
ldap_server: ldap_domain,
ldap_rootdn: ldap_rootdn,
ldap_encryption_type: ldap_encryption_type
notifies :run, "execute[ejabberdctl reload_config]", :delayed
notifies :reload, "service[ejabberd]", :delayed
end
end
@@ -167,29 +169,7 @@ template "/opt/ejabberd/conf/ejabberd.yml" do
turn_min_port: node["kosmos-ejabberd"]["turn_min_port"],
turn_max_port: node["kosmos-ejabberd"]["turn_max_port"],
akkounts_ip_addresses: akkounts_ip_addresses
notifies :run, "execute[ejabberdctl reload_config]", :delayed
end
execute "ejabberdctl reload_config" do
command "/opt/ejabberd-#{ejabberd_version}/bin/ejabberdctl reload_config"
action :nothing
end
file "/etc/init.d/ejabberd" do
action :delete
end
# Copy the systemd service file
file "/lib/systemd/system/ejabberd.service" do
content lazy { IO.read("/opt/ejabberd-#{ejabberd_version}/bin/ejabberd.service") }
action :nothing
notifies :run, "execute[systemctl daemon-reload]", :immediately
notifies :restart, "service[ejabberd]", :delayed
end
execute "systemctl daemon-reload" do
command "systemctl daemon-reload"
action :nothing
notifies :reload, "service[ejabberd]", :delayed
end
# Set permissions for the upload folders