fix: replace puppetdbquery with native PQL queries

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
This commit is contained in:
2026-03-21 21:54:24 +11:00
parent 1d41d07b2d
commit 4bf0d07e54
18 changed files with 124 additions and 44 deletions
@@ -11,13 +11,14 @@ class profiles::proxmox::clusterjoin {
$root_password = $profiles::proxmox::params::root_password
# query puppetdb for list of cluster members
$members_array = sort(query_nodes(
"enc_role='${membersrole}' and \
country='${facts['country']}' and \
region='${facts['region']}' and \
pve_cluster.cluster_name='${clustername}'",
'networking.fqdn'
))
$members_array = sort(puppetdb_query(
"nodes[certname] {
facts.enc_role = '${membersrole}' and
facts.country = '${facts['country']}' and
facts.region = '${facts['region']}' and
facts.pve_cluster.cluster_name = '${clustername}'
}"
).map |$node| { $node['certname'] })
# check if the pve kernerl is running
if $facts['kernelrelease'] == $profiles::proxmox::params::pve_kernel_release {