Skip to content

Commit 33a1a1e

Browse files
committed
Switch to using .dig for checking cert exts
This fixes the situation where there is no replica, so computing the second compiler group cannot be done due to hitting an array indexing issue. By switching to dig, undef will simply be returned in that situation.
1 parent f36fa7f commit 33a1a1e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

plans/upgrade.pp

+6-5
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@
9595

9696
# Ensure needed trusted facts are available
9797
if $cert_extensions.any |$_,$cert| {
98-
[peadm::oid('peadm_role'), 'pp_auth_role'].all |$ext| { $cert[$ext] == undef }
98+
[peadm::oid('peadm_role'), 'pp_auth_role'].all |$ext| { $cert[$ext] == undef } or
99+
$cert[peadm::oid('peadm_availability_group')] == undef
99100
} {
100101
fail_plan(@(HEREDOC/L))
101102
Required trusted facts are not present; upgrade cannot be completed. If \
@@ -106,13 +107,13 @@
106107

107108
# Determine which compilers are associated with which DR group
108109
$compiler_m1_targets = $compiler_targets.filter |$target| {
109-
($cert_extensions[$target][peadm::oid('peadm_availability_group')]
110-
== $cert_extensions[$primary_target[0]][peadm::oid('peadm_availability_group')])
110+
($cert_extensions.dig($target, peadm::oid('peadm_availability_group'))
111+
== $cert_extensions.dig($primary_target[0], peadm::oid('peadm_availability_group')))
111112
}
112113

113114
$compiler_m2_targets = $compiler_targets.filter |$target| {
114-
($cert_extensions[$target][peadm::oid('peadm_availability_group')]
115-
== $cert_extensions[$replica_target[0]][peadm::oid('peadm_availability_group')])
115+
($cert_extensions.dig($target, peadm::oid('peadm_availability_group'))
116+
== $cert_extensions.dig($replica_target[0], peadm::oid('peadm_availability_group')))
116117
}
117118

118119
$primary_target.peadm::fail_on_transport('pcp')

0 commit comments

Comments
 (0)