@@ -34,7 +34,7 @@ def config
34
34
'replica_host' => replica ,
35
35
'primary_postgresql_host' => postgresql [ primary_letter ] ,
36
36
'replica_postgresql_host' => postgresql [ replica_letter ] ,
37
- 'compilers' => compilers ,
37
+ 'compilers' => compilers . map { | c | c [ 'certname' ] } ,
38
38
'compiler_pool_address' => groups . dig ( 'PE Master' , 'config_data' , 'pe_repo' , 'compile_master_pool_address' ) ,
39
39
'internal_compiler_a_pool_address' => groups . dig ( 'PE Compiler Group A' , 'classes' , 'puppet_enterprise::profile::master' , 'puppetdb_host' , 1 ) ,
40
40
'internal_compiler_b_pool_address' => groups . dig ( 'PE Compiler Group B' , 'classes' , 'puppet_enterprise::profile::master' , 'puppetdb_host' , 1 ) ,
@@ -48,6 +48,10 @@ def config
48
48
'A' => postgresql [ 'A' ] ,
49
49
'B' => postgresql [ 'B' ] ,
50
50
} ,
51
+ 'compilers' => {
52
+ 'A' => compilers . select { |c | c [ 'letter' ] == 'A' } . map { |c | c [ 'certname' ] } ,
53
+ 'B' => compilers . select { |c | c [ 'letter' ] == 'B' } . map { |c | c [ 'certname' ] } ,
54
+ }
51
55
} ,
52
56
}
53
57
end
@@ -56,16 +60,22 @@ def config
56
60
# returned by the classifier
57
61
def groups
58
62
@groups ||= begin
59
- net = https ( 4433 )
60
- res = net . get ( '/classifier-api/v1/groups' )
61
- NodeGroup . new ( JSON . parse ( res . body ) )
62
- end
63
+ net = https ( 4433 )
64
+ res = net . get ( '/classifier-api/v1/groups' )
65
+ NodeGroup . new ( JSON . parse ( res . body ) )
66
+ end
63
67
end
64
68
65
- # Returns a list of compiler certnames, based on a PuppetDB query
69
+ # Returns a list of compiler certnames and letters , based on a PuppetDB query
66
70
def compilers
67
- query = 'inventory[certname] { trusted.extensions.pp_auth_role = "pe_compiler" }'
68
- pdb_query ( query ) . map { |n | n [ 'certname' ] }
71
+ @compilers ||= begin
72
+ pdb_query ( 'inventory[certname,trusted.extensions] { trusted.extensions.pp_auth_role = "pe_compiler" }' ) . map do |c |
73
+ {
74
+ 'certname' => c [ 'certname' ] ,
75
+ 'letter' => c . dig ( 'trusted.extensions' , '1.3.6.1.4.1.34380.1.1.9813' ) ,
76
+ }
77
+ end
78
+ end
69
79
end
70
80
71
81
def server ( role , letter )
0 commit comments