fix: replace puppetdbquery with native PQL queries (#457)
Replace deprecated dalen-puppetdbquery module with native puppetdb_query function using PQL syntax to resolve URI.escape compatibility issues. This is required to migrated to Puppet 8 (and kubernetes). Changes: - Remove dalen-puppetdbquery dependency from Puppetfile - Replace query_nodes() calls with puppetdb_query() using PQL syntax - Update 27 function calls across 18 Puppet manifests - Maintain equivalent functionality with improved compatibility Reviewed-on: #457
This commit was merged in pull request #457.
This commit is contained in:
@@ -18,9 +18,28 @@ class profiles::dns::base (
|
||||
$nameserver_array = $ns_role ? {
|
||||
undef => $nameservers,
|
||||
default => $use_ns ? {
|
||||
'all' => query_nodes("enc_role='${ns_role}'", 'networking.ip'),
|
||||
'region' => query_nodes("enc_role='${ns_role}' and region=${facts['region']}", 'networking.ip'),
|
||||
'country' => query_nodes("enc_role='${ns_role}' and country=${facts['country']}", 'networking.ip'),
|
||||
'all' => puppetdb_query(
|
||||
"facts[certname,value] {
|
||||
name = 'networking' and
|
||||
certname in nodes[certname] { facts.enc_role = '${ns_role}' }
|
||||
}"
|
||||
).map |$fact| { $fact['value']['ip'] },
|
||||
'region' => puppetdb_query(
|
||||
"facts[certname,value] {
|
||||
name = 'networking' and
|
||||
certname in nodes[certname] {
|
||||
facts.enc_role = '${ns_role}' and facts.region = '${facts['region']}'
|
||||
}
|
||||
}"
|
||||
).map |$fact| { $fact['value']['ip'] },
|
||||
'country' => puppetdb_query(
|
||||
"facts[certname,value] {
|
||||
name = 'networking' and
|
||||
certname in nodes[certname] {
|
||||
facts.enc_role = '${ns_role}' and facts.country = '${facts['country']}'
|
||||
}
|
||||
}"
|
||||
).map |$fact| { $fact['value']['ip'] },
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user