Skip to content

Commit 7533166

Browse files
committed
feat(convert_compiler_to_legacy): gather certificate extension information
- Added steps to gather certificate extension information from all systems using the `peadm::cert_data` task. - Updated variable names for clarity and consistency. - Filtered legacy compiler targets based on availability group using the gathered certificate data. This enhancement improves the accuracy of the conversion process by ensuring that the correct certificate data is used.
1 parent 79dc961 commit 7533166

File tree

1 file changed

+39
-27
lines changed

1 file changed

+39
-27
lines changed

plans/convert_compiler_to_legacy.pp

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,51 @@
55
Optional[Boolean] $remove_pdb = true,
66
) {
77
$primary_target = peadm::get_targets($primary_host, 1)
8-
$legacy_compiler_targets = peadm::get_targets($legacy_hosts)
8+
$convert_legacy_compiler_targets = peadm::get_targets($legacy_hosts)
99

1010
$cluster = run_task('peadm::get_peadm_config', $primary_host).first.value
1111
$error = getvar('cluster.error')
1212
if $error {
1313
fail_plan($error)
1414
}
1515

16+
$replica_host = getvar('cluster.params.replica_host')
17+
$primary_postgresql_host = getvar('cluster.params.primary_postgresql_host')
18+
$replica_postgresql_host = getvar('cluster.params.replica_postgresql_host')
19+
$compiler_hosts = getvar('cluster.params.compiler_hosts')
20+
$legacy_compilers = getvar('cluster.params.legacy_hosts')
21+
22+
$replica_target = peadm::get_targets($replica_host, 1)
23+
$primary_postgresql_target = peadm::get_targets($primary_postgresql_host, 1)
24+
$replica_postgresql_target = peadm::get_targets($replica_postgresql_host, 1)
25+
$compiler_targets = peadm::get_targets($compiler_hosts)
26+
$legacy_targets = peadm::get_targets($legacy_compilers) + $convert_legacy_compiler_targets
27+
1628
$all_targets = peadm::flatten_compact([
17-
getvar('cluster.params.primary_host'),
18-
getvar('cluster.params.replica_host'),
19-
getvar('cluster.params.primary_postgresql_host'),
20-
getvar('cluster.params.replica_postgresql_host'),
21-
getvar('cluster.params.compiler_hosts'),
29+
$primary_target,
30+
$replica_target,
31+
$primary_postgresql_target,
32+
$replica_postgresql_target,
33+
$compiler_targets,
34+
$legacy_targets,
2235
])
2336

2437
# Ensure input valid for a supported architecture
2538
$arch = peadm::assert_supported_architecture(
26-
getvar('cluster.params.primary_host'),
27-
getvar('cluster.params.replica_host'),
28-
getvar('cluster.params.primary_postgresql_host'),
29-
getvar('cluster.params.replica_postgresql_host'),
30-
getvar('cluster.params.compiler_hosts'),
39+
$primary_host,
40+
$replica_host,
41+
$primary_postgresql_host,
42+
$replica_postgresql_host,
43+
$compiler_hosts,
44+
$legacy_compilers,
3145
)
3246

3347
if $arch['disaster-recovery'] {
3448
# Gather certificate extension information from all systems
3549
$cert_extensions = run_task('peadm::cert_data', $all_targets).reduce({}) |$memo,$result| {
3650
$memo + { $result.target.peadm::certname => $result['extensions'] }
3751
}
38-
$legacy_compiler_a_targets = $legacy_compiler_targets.filter |$index,$target| {
52+
$legacy_compiler_a_targets = $convert_legacy_compiler_targets.filter |$index,$target| {
3953
$exts = $cert_extensions[$target.peadm::certname()]
4054
if ($exts[peadm::oid('peadm_availability_group')] in ['A', 'B']) {
4155
$exts[peadm::oid('peadm_availability_group')] == 'A'
@@ -47,7 +61,7 @@
4761
$index % 2 == 0
4862
}
4963
}
50-
$legacy_compiler_b_targets = $legacy_compiler_targets.filter |$index,$target| {
64+
$legacy_compiler_b_targets = $convert_legacy_compiler_targets.filter |$index,$target| {
5165
$exts = $cert_extensions[$target.peadm::certname()]
5266
if ($exts[peadm::oid('peadm_availability_group')] in ['A', 'B']) {
5367
$exts[peadm::oid('peadm_availability_group')] == 'B'
@@ -60,12 +74,10 @@
6074
}
6175
}
6276
} else {
63-
$legacy_compiler_a_targets = $legacy_compiler_targets
77+
$legacy_compiler_a_targets = $convert_legacy_compiler_targets
6478
$legacy_compiler_b_targets = []
6579
}
6680

67-
$compiler_targets = peadm::get_targets(getvar('cluster.params.compiler_hosts'))
68-
6981
wait([
7082
background('modify-compilers-certs') || {
7183
run_plan('peadm::modify_certificate', $compiler_targets,
@@ -98,8 +110,8 @@
98110
])
99111

100112
if $remove_pdb {
101-
run_command('puppet resource service puppet ensure=stopped', $legacy_compiler_targets)
102-
run_command('puppet resource service pe-puppetdb ensure=stopped enable=false', $legacy_compiler_targets)
113+
run_command('puppet resource service puppet ensure=stopped', $convert_legacy_compiler_targets)
114+
run_command('puppet resource service pe-puppetdb ensure=stopped enable=false', $convert_legacy_compiler_targets)
103115
}
104116

105117
apply($primary_target) {
@@ -121,22 +133,22 @@
121133
}
122134
}
123135

124-
run_task('peadm::puppet_runonce', $legacy_compiler_targets)
136+
run_task('peadm::puppet_runonce', $convert_legacy_compiler_targets)
125137
run_task('peadm::puppet_runonce', $compiler_targets)
126138
run_task('peadm::puppet_runonce', $primary_target)
127139
run_task('peadm::puppet_runonce', $all_targets)
128140

129141
if $remove_pdb {
130-
run_command('puppet resource package pe-puppetdb ensure=purged', $legacy_compiler_targets)
131-
run_command('puppet resource user pe-puppetdb ensure=absent', $legacy_compiler_targets)
142+
run_command('puppet resource package pe-puppetdb ensure=purged', $convert_legacy_compiler_targets)
143+
run_command('puppet resource user pe-puppetdb ensure=absent', $convert_legacy_compiler_targets)
132144

133-
run_command('rm -rf /etc/puppetlabs/puppetdb', $legacy_compiler_targets)
134-
run_command('rm -rf /var/log/puppetlabs/puppetdb', $legacy_compiler_targets)
135-
run_command('rm -rf /opt/puppetlabs/server/data/puppetdb', $legacy_compiler_targets)
145+
run_command('rm -rf /etc/puppetlabs/puppetdb', $convert_legacy_compiler_targets)
146+
run_command('rm -rf /var/log/puppetlabs/puppetdb', $convert_legacy_compiler_targets)
147+
run_command('rm -rf /opt/puppetlabs/server/data/puppetdb', $convert_legacy_compiler_targets)
136148
}
137149

138-
run_command('systemctl start pe-puppetserver.service', $legacy_compiler_targets)
139-
run_command('puppet resource service puppet ensure=running', $legacy_compiler_targets)
150+
run_command('systemctl start pe-puppetserver.service', $convert_legacy_compiler_targets)
151+
run_command('puppet resource service puppet ensure=running', $convert_legacy_compiler_targets)
140152

141-
return("Converted host ${legacy_compiler_targets} to legacy compiler.")
153+
return("Converted host ${convert_legacy_compiler_targets} to legacy compiler.")
142154
}

0 commit comments

Comments
 (0)