|  | 
| 81 | 81 | 
 | 
| 82 | 82 |   # PE Compiler group comes from default PE and already has the pe compiler role | 
| 83 | 83 |   node_group { 'PE Compiler': | 
| 84 |  | -    parent => 'PE Master', | 
| 85 |  | -    rule   => ['and', ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'false']], | 
|  | 84 | +    parent         => 'PE Master', | 
|  | 85 | +    purge_behavior => 'rule', | 
|  | 86 | +    rule           => ['and', ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler']], | 
| 86 | 87 |   } | 
| 87 | 88 | 
 | 
| 88 | 89 |   # This group should pin the primary, and also map to any pe-postgresql nodes | 
|  | 
| 116 | 117 |   # Configure the A pool for compilers. There are up to two pools for DR, each | 
| 117 | 118 |   # having an affinity for one "availability zone" or the other. | 
| 118 | 119 |   node_group { 'PE Compiler Group A': | 
| 119 |  | -    ensure  => 'present', | 
| 120 |  | -    parent  => 'PE Compiler', | 
| 121 |  | -    rule    => ['and', | 
|  | 120 | +    ensure         => 'present', | 
|  | 121 | +    purge_behavior => 'rule', | 
|  | 122 | +    parent         => 'PE Compiler', | 
|  | 123 | +    rule           => ['and', | 
| 122 | 124 |       ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler'], | 
| 123 | 125 |       ['=', ['trusted', 'extensions', peadm::oid('peadm_availability_group')], 'A'], | 
| 124 |  | -      ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'false'], | 
| 125 | 126 |     ], | 
| 126 |  | -    classes => { | 
|  | 127 | +    classes        => { | 
| 127 | 128 |       'puppet_enterprise::profile::puppetdb' => { | 
| 128 | 129 |         'database_host' => pick($postgresql_a_host, $notconf), | 
| 129 | 130 |       }, | 
|  | 
| 134 | 135 |         'puppetdb_port' => [8081], | 
| 135 | 136 |       }, | 
| 136 | 137 |     }, | 
| 137 |  | -    data    => { | 
|  | 138 | +    data           => { | 
| 138 | 139 |       # Workaround for GH-118 | 
| 139 | 140 |       'puppet_enterprise::profile::master::puppetdb' => { | 
| 140 | 141 |         'ha_enabled_replicas' => [], | 
|  | 
| 175 | 176 |   } | 
| 176 | 177 | 
 | 
| 177 | 178 |   node_group { 'PE Compiler Group B': | 
| 178 |  | -    ensure  => 'present', | 
| 179 |  | -    parent  => 'PE Compiler', | 
| 180 |  | -    rule    => ['and', | 
|  | 179 | +    ensure         => 'present', | 
|  | 180 | +    purge_behavior => 'rule', | 
|  | 181 | +    parent         => 'PE Compiler', | 
|  | 182 | +    rule           => ['and', | 
| 181 | 183 |       ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler'], | 
| 182 | 184 |       ['=', ['trusted', 'extensions', peadm::oid('peadm_availability_group')], 'B'], | 
| 183 |  | -      ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'false'], | 
| 184 | 185 |     ], | 
| 185 |  | -    classes => { | 
|  | 186 | +    classes        => { | 
| 186 | 187 |       'puppet_enterprise::profile::puppetdb' => { | 
| 187 | 188 |         'database_host' => pick($postgresql_b_host, $notconf), | 
| 188 | 189 |       }, | 
|  | 
| 193 | 194 |         'puppetdb_port' => [8081], | 
| 194 | 195 |       }, | 
| 195 | 196 |     }, | 
| 196 |  | -    data    => { | 
|  | 197 | +    data           => { | 
| 197 | 198 |       # Workaround for GH-118 | 
| 198 | 199 |       'puppet_enterprise::profile::master::puppetdb' => { | 
| 199 | 200 |         'ha_enabled_replicas' => [], | 
|  | 
| 202 | 203 |   } | 
| 203 | 204 | 
 | 
| 204 | 205 |   node_group { 'PE Legacy Compiler': | 
| 205 |  | -    parent  => 'PE Master', | 
| 206 |  | -    rule    => ['and', | 
| 207 |  | -      ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler'], | 
| 208 |  | -      ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'true'], | 
| 209 |  | -    ], | 
| 210 |  | -    classes => { | 
|  | 206 | +    parent         => 'PE Master', | 
|  | 207 | +    purge_behavior => 'rule', | 
|  | 208 | +    rule           => ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler_legacy'], | 
|  | 209 | +    classes        => { | 
| 211 | 210 |       'puppet_enterprise::profile::master'   => { | 
| 212 | 211 |         'puppetdb_host' => [$internal_compiler_a_pool_address, $internal_compiler_b_pool_address].filter |$_| { $_ }, | 
| 213 | 212 |         'puppetdb_port' => [8081], | 
|  | 
| 218 | 217 |   # Configure the A pool for legacy compilers. There are up to two pools for DR, each | 
| 219 | 218 |   # having an affinity for one "availability zone" or the other. | 
| 220 | 219 |   node_group { 'PE Legacy Compiler Group A': | 
| 221 |  | -    ensure  => 'present', | 
| 222 |  | -    parent  => 'PE Legacy Compiler', | 
| 223 |  | -    rule    => ['and', | 
| 224 |  | -      ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler'], | 
|  | 220 | +    ensure         => 'present', | 
|  | 221 | +    parent         => 'PE Legacy Compiler', | 
|  | 222 | +    purge_behavior => 'rule', | 
|  | 223 | +    rule           => ['and', | 
|  | 224 | +      ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler_legacy'], | 
| 225 | 225 |       ['=', ['trusted', 'extensions', peadm::oid('peadm_availability_group')], 'A'], | 
| 226 |  | -      ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'true'], | 
| 227 | 226 |     ], | 
| 228 |  | -    classes => { | 
|  | 227 | +    classes        => { | 
| 229 | 228 |       'puppet_enterprise::profile::master'   => { | 
| 230 | 229 |         'puppetdb_host' => [$internal_compiler_b_pool_address, $internal_compiler_a_pool_address].filter |$_| { $_ }, | 
| 231 | 230 |         'puppetdb_port' => [8081], | 
| 232 | 231 |       }, | 
| 233 | 232 |     }, | 
| 234 |  | -    data    => { | 
|  | 233 | +    data           => { | 
| 235 | 234 |       # Workaround for GH-118 | 
| 236 | 235 |       'puppet_enterprise::profile::master::puppetdb' => { | 
| 237 | 236 |         'ha_enabled_replicas' => [], | 
|  | 
| 242 | 241 |   # Configure the B pool for legacy compilers. There are up to two pools for DR, each | 
| 243 | 242 |   # having an affinity for one "availability zone" or the other. | 
| 244 | 243 |   node_group { 'PE Legacy Compiler Group B': | 
| 245 |  | -    ensure  => 'present', | 
| 246 |  | -    parent  => 'PE Legacy Compiler', | 
| 247 |  | -    rule    => ['and', | 
| 248 |  | -      ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler'], | 
|  | 244 | +    ensure         => 'present', | 
|  | 245 | +    parent         => 'PE Legacy Compiler', | 
|  | 246 | +    purge_behavior => 'rule', | 
|  | 247 | +    rule           => ['and', | 
|  | 248 | +      ['=', ['trusted', 'extensions', 'pp_auth_role'], 'pe_compiler_legacy'], | 
| 249 | 249 |       ['=', ['trusted', 'extensions', peadm::oid('peadm_availability_group')], 'B'], | 
| 250 |  | -      ['=', ['trusted', 'extensions', peadm::oid('peadm_legacy_compiler')], 'true'], | 
| 251 | 250 |     ], | 
| 252 |  | -    classes => { | 
|  | 251 | +    classes        => { | 
| 253 | 252 |       'puppet_enterprise::profile::master'   => { | 
| 254 | 253 |         'puppetdb_host' => [$internal_compiler_a_pool_address, $internal_compiler_a_pool_address].filter |$_| { $_ }, | 
| 255 | 254 |         'puppetdb_port' => [8081], | 
| 256 | 255 |       }, | 
| 257 | 256 |     }, | 
| 258 |  | -    data    => { | 
|  | 257 | +    data           => { | 
| 259 | 258 |       # Workaround for GH-118 | 
| 260 | 259 |       'puppet_enterprise::profile::master::puppetdb' => { | 
| 261 | 260 |         'ha_enabled_replicas' => [], | 
|  | 
0 commit comments