|
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