From 2e032b7c4384500989dff115688cee88ab02f276 Mon Sep 17 00:00:00 2001 From: Neil Anderson Date: Mon, 22 Jul 2024 09:48:41 +0100 Subject: [PATCH] (PE-38767) Adding legacy compilers to get_peadm_config Added legacy compilers section, and updated compilers with legacy compilers oid --- tasks/get_peadm_config.rb | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/tasks/get_peadm_config.rb b/tasks/get_peadm_config.rb index 30d8ad21..071229ac 100755 --- a/tasks/get_peadm_config.rb +++ b/tasks/get_peadm_config.rb @@ -47,6 +47,7 @@ def config 'primary_postgresql_host' => postgresql[primary_letter], 'replica_postgresql_host' => postgresql[replica_letter], 'compilers' => compilers.map { |c| c['certname'] }, + 'legacy_compilers' => legacy_compilers.map { |c| c['certname'] }, 'compiler_pool_address' => groups.dig('PE Master', 'config_data', 'pe_repo', 'compile_master_pool_address'), 'internal_compiler_a_pool_address' => groups.dig('PE Compiler Group B', 'classes', 'puppet_enterprise::profile::master', 'puppetdb_host', 1), 'internal_compiler_b_pool_address' => groups.dig('PE Compiler Group A', 'classes', 'puppet_enterprise::profile::master', 'puppetdb_host', 1), @@ -63,7 +64,11 @@ def config 'compilers' => { 'A' => compilers.select { |c| c['letter'] == 'A' }.map { |c| c['certname'] }, 'B' => compilers.select { |c| c['letter'] == 'B' }.map { |c| c['certname'] }, - } + }, + 'legacy_compilers' => { + 'A' => legacy_compilers.select { |c| c['letter'] == 'A' }.map { |c| c['certname'] }, + 'B' => legacy_compilers.select { |c| c['letter'] == 'B' }.map { |c| c['certname'] }, + }, }, } end @@ -81,7 +86,24 @@ def groups # Returns a list of compiler certnames and letters, based on a PuppetDB query def compilers @compilers ||= - pdb_query('inventory[certname,trusted.extensions] { trusted.extensions.pp_auth_role = "pe_compiler" }').map do |c| + pdb_query('inventory[certname,trusted.extensions] { + trusted.extensions.pp_auth_role = "pe_compiler" and + trusted.extensions."1.3.6.1.4.1.34380.1.1.9814" = "false" + }').map do |c| + { + 'certname' => c['certname'], + 'letter' => c.dig('trusted.extensions', '1.3.6.1.4.1.34380.1.1.9813'), + } + end + end + + # Returns a list of legacy compiler certnames and letters, based on a PuppetDB query + def legacy_compilers + @legacy_compilers ||= + pdb_query('inventory[certname,trusted.extensions] { + trusted.extensions.pp_auth_role = "pe_compiler" and + trusted.extensions."1.3.6.1.4.1.34380.1.1.9814" = "true" + }').map do |c| { 'certname' => c['certname'], 'letter' => c.dig('trusted.extensions', '1.3.6.1.4.1.34380.1.1.9813'),