Skip to content

Commit 7a967b5

Browse files
committed
Add role-letter for compilers to get_peadm_config
Realized this could be a generally useful way of understanding all letter assignments, if we returned compilers as well.
1 parent 07b3126 commit 7a967b5

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

tasks/get_peadm_config.rb

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def config
3434
'replica_host' => replica,
3535
'primary_postgresql_host' => postgresql[primary_letter],
3636
'replica_postgresql_host' => postgresql[replica_letter],
37-
'compilers' => compilers,
37+
'compilers' => compilers.map { |c| c['certname'] },
3838
'compiler_pool_address' => groups.dig('PE Master', 'config_data', 'pe_repo', 'compile_master_pool_address'),
3939
'internal_compiler_a_pool_address' => groups.dig('PE Compiler Group A', 'classes', 'puppet_enterprise::profile::master', 'puppetdb_host', 1),
4040
'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
4848
'A' => postgresql['A'],
4949
'B' => postgresql['B'],
5050
},
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+
}
5155
},
5256
}
5357
end
@@ -56,16 +60,22 @@ def config
5660
# returned by the classifier
5761
def groups
5862
@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
6367
end
6468

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
6670
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
6979
end
7080

7181
def server(role, letter)

0 commit comments

Comments
 (0)