|
34 | 34 | # try to load the cluster configuration by running peadm::get_peadm_config, but allow for errors to happen
|
35 | 35 | $_cluster = run_task('peadm::get_peadm_config', $targets, { '_catch_errors' => true }).first.value
|
36 | 36 |
|
37 |
| - if $_cluster == undef or getvar('_cluster.params') == undef { |
| 37 | + if $_cluster == undef or getvar('_cluster.params') == undef or getvar('_cluster.pe_version') == undef { |
38 | 38 | # failed to get cluster config, load from backup
|
39 | 39 | out::message('Failed to get cluster configuration, loading from backup...')
|
40 | 40 | $result = download_file("${recovery_directory}/peadm/peadm_config.json", 'peadm_config.json', $targets).first.value
|
|
59 | 59 | getvar('cluster.params.compiler_hosts'),
|
60 | 60 | )
|
61 | 61 |
|
| 62 | + $pe_version = peadm::validated_pe_version_for_backup_restore(getvar('cluster.pe_version')) |
| 63 | +
|
62 | 64 | $recovery_opts = $restore_type? {
|
63 |
| - 'recovery' => peadm::recovery_opts_default(), |
| 65 | + 'recovery' => peadm::recovery_opts_default($pe_version), |
64 | 66 | 'recovery-db' => { 'puppetdb' => true, },
|
65 |
| - 'migration' => peadm::migration_opts_default(), |
66 |
| - 'custom' => peadm::recovery_opts_all() + $restore, |
| 67 | + 'migration' => peadm::migration_opts_default($pe_version), |
| 68 | + 'custom' => peadm::recovery_opts_all($pe_version) + $restore, |
67 | 69 | }
|
68 | 70 |
|
69 | 71 | $primary_target = peadm::get_targets(getvar('cluster.params.primary_host'), 1)
|
|
97 | 99 | 'activity' => [$primary_target],
|
98 | 100 | 'rbac' => [$primary_target],
|
99 | 101 | 'puppetdb' => $puppetdb_postgresql_targets,
|
| 102 | + # (host-action-collector db will be filtered for pe version by recovery_opts) |
| 103 | + 'hac' => $primary_target, |
100 | 104 | }.filter |$key,$_| {
|
101 | 105 | $recovery_opts[$key] == true
|
102 | 106 | }
|
|
203 | 207 | if getvar('recovery_opts.orchestrator') {
|
204 | 208 | out::message('# Restoring orchestrator secret keys')
|
205 | 209 | run_command(@("CMD"/L), $primary_target)
|
206 |
| - cp -rp ${shellquote($recovery_directory)}/orchestrator/secrets/* /etc/puppetlabs/orchestration-services/conf.d/secrets/ |
| 210 | + cp -rp ${shellquote($recovery_directory)}/orchestrator/secrets/* /etc/puppetlabs/orchestration-services/conf.d/secrets/ |
207 | 211 | | CMD
|
208 | 212 | }
|
209 | 213 | # lint:endignore
|
|
0 commit comments