Skip to content

Commit ae6cf20

Browse files
committed
Merge branch 'master' into feature/#22773_postgresql_health_check
2 parents ac4a2c6 + 84f5524 commit ae6cf20

File tree

5 files changed

+14
-18
lines changed

5 files changed

+14
-18
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
cookbook-postgresql CHANGELOG
22
===============
33

4+
## 0.4.0
5+
6+
- nilsver
7+
- [e0684d7] added fallback
8+
- [47bdec7] remove dependency on serf
9+
410
## 0.3.1
511

612
- jnavarrorb

resources/libraries/helper.rb

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,14 @@ def local_routes
1414
routes
1515
end
1616

17-
# Queries Serf members to find the master node's IP.
18-
def find_master_ip_from_serf(postgresql_hosts)
19-
postgresql_master_node = postgresql_hosts.first
20-
serf_output = `serf members`
17+
def find_master_ip
18+
cluster_info = node.dig('redborder', 'cluster_info')
19+
postgresql_managers = node.dig('redborder', 'managers_per_services', 'postgresql')
2120

22-
master_ip = serf_output.lines.find do |line|
23-
next unless line.include?('alive')
24-
25-
node_name = line.split[0]
26-
node_name == postgresql_master_node
21+
if cluster_info && postgresql_managers
22+
postgres_ips = cluster_info.select { |m, _| postgresql_managers.include?(m) }.map { |_, v| v['ipaddress_sync'] }
23+
postgres_ips.first
2724
end
28-
29-
return unless master_ip
30-
31-
ip_part = master_ip.split[1]
32-
ip_part&.split(':')&.first
3325
end
3426
end
3527
end

resources/metadata.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
maintainer_email '[email protected]'
66
license 'AGPL-3.0'
77
description 'Installs/Configures cookbook-logstash'
8-
version '0.3.1'
8+
version '0.4.0'

resources/providers/config.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
action :add do
77
begin
88
user = new_resource.user
9-
postgresql_hosts = new_resource.postgresql_hosts
109
routes = local_routes
1110

1211
dnf_package 'postgresql' do
@@ -42,7 +41,7 @@
4241

4342
ruby_block 'sync_if_not_master' do
4443
block do
45-
master_ip = find_master_ip_from_serf(postgresql_hosts)
44+
master_ip = find_master_ip
4645
if master_ip
4746
local_ips = `hostname -I`.split
4847
unless local_ips.include?(master_ip)

resources/resources/config.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@
88
attribute :postgresql_port, kind_of: Integer, default: 5432
99
attribute :cdomain, kind_of: String, default: 'redborder.cluster'
1010
attribute :ipaddress, kind_of: String, default: '127.0.0.1'
11-
attribute :postgresql_hosts, kind_of: Array, default: []

0 commit comments

Comments
 (0)