Skip to content

Commit 4e3e2c4

Browse files
committed
determine avail groups properly
1 parent b793f1f commit 4e3e2c4

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

plans/upgrade.pp

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -255,32 +255,51 @@
255255
},
256256
)
257257

258-
# Show the peadm configuration before node manager setup
258+
# Log the peadm configuration before node manager setup
259259
run_task('peadm::get_peadm_config', $primary_target)
260260

261261
# Update classification. This needs to be done now because if we don't, and
262262
# the PE Compiler node groups are wrong, then the compilers won't be able to
263263
# successfully classify and update
264+
265+
# First, determine the correct hosts for the A and B availability groups
266+
$server_a_host = $cert_extensions.dig($primary_target.peadm::certname(), peadm::oid('peadm_availability_group')) ? {
267+
'A' => $primary_target.peadm::certname(),
268+
default => $replica_target.peadm::certname(),
269+
}
270+
271+
$server_b_host = $server_a_host ? {
272+
$primary_target.peadm::certname() => $replica_target.peadm::certname(),
273+
default => $primary_target.peadm::certname(),
274+
}
275+
276+
$postgresql_a_host = $cert_extensions.dig($primary_postgresql_target.peadm::certname(), peadm::oid('peadm_availability_group')) ? {
277+
'A' => $primary_postgresql_target.peadm::certname(),
278+
default => $replica_postgresql_target.peadm::certname(),
279+
}
280+
281+
$postgresql_b_host = $postgresql_a_host ? {
282+
$primary_postgresql_target.peadm::certname() => $replica_postgresql_target.peadm::certname(),
283+
default => $primary_postgresql_target.peadm::certname(),
284+
}
285+
264286
apply($primary_target) {
265287
class { 'peadm::setup::node_manager_yaml':
266288
primary_host => $primary_target.peadm::certname(),
267289
}
268290

269291
class { 'peadm::setup::node_manager':
270292
primary_host => $primary_target.peadm::certname(),
271-
server_a_host => $primary_target.peadm::certname(),
272-
server_b_host => $replica_target.peadm::certname(),
273-
postgresql_a_host => $primary_postgresql_target.peadm::certname(),
274-
postgresql_b_host => $replica_postgresql_target.peadm::certname(),
293+
server_a_host => $server_a_host,
294+
server_b_host => $server_b_host,
295+
postgresql_a_host => $postgresql_a_host,
296+
postgresql_b_host => $postgresql_b_host,
275297
compiler_pool_address => $compiler_pool_address,
276298
internal_compiler_a_pool_address => $internal_compiler_a_pool_address,
277299
internal_compiler_b_pool_address => $internal_compiler_b_pool_address,
278300
require => Class['peadm::setup::node_manager_yaml'],
279301
}
280302
}
281-
282-
# Show the peadm configuration after node manager setup
283-
run_task('peadm::get_peadm_config', $primary_target)
284303
}
285304

286305
peadm::plan_step('upgrade-primary-compilers') || {

0 commit comments

Comments
 (0)