I'll focus on the mysql module first. I assigned the ::mysql::server class to one of my hosts expecting mysql server to get loaded and this happened instead:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Unknown function pick at /etc/puppet/environments/production/modules/mysql/manifests/server/config.pp:22 on node
earlier in the day with a different host I saw the same function get called out for the puppetlabs-postgresql module as not being found.
Here is the affected line in the msyql;:server::config class.
$logbin = pick($options['mysqld']['log-bin'], $options['mysqld']['log_bin'], false)
where was this function supposed to have come from?