Skip to content

Instantly share code, notes, and snippets.

@hesco
Last active August 29, 2015 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hesco/fe00c55e8c395b7f9e74 to your computer and use it in GitHub Desktop.
Save hesco/fe00c55e8c395b7f9e74 to your computer and use it in GitHub Desktop.
root@dessalines-003:~# puppet agent -t
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Invalid parameter provider at /etc/puppet/modules/ymd_ng/mysql/manifests/db.pp:27
on node dessalines-003.yourmessagedelivered.com
-----
mysql/manifests/db.pp --
mysql_database { $name:
ensure => $ensure,
charset => $charset,
collate => $collate,
provider => 'mysql',
require => [ Class['mysql::server'], Class['mysql::client'] ],
before => Mysql_user["${user}@${host}"],
}
-----
yet when I comment out the provider attribute, I get instead:
puppet agent -t
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Invalid parameter provider on node dessalines-003.yourmessagedelivered.com
-----
michchap: hesco: Yes there is, but I don't think it needs to be explicitly specified
michchap: hesco: https://github.com/puppetlabs/puppetlabs-mysql/blob/master/lib/puppet/provider/mysql.rb
michchap: hesco: do you have pluginsync on?
hesco: michchap: thanks for the feedback. pluginsync was already enabled on the master and is now
enabled on the agent as well. But this does not change the results, I'm afraid.
hesco: I see I have a file at: mysql/lib/puppet/provider/mysql_grant/mysql.rb I wonder if that
provider ought to actually be instead: mysql_grant/mysql or perhaps mysql_grant::mysql.
michchap: hesco: which version of puppetlabs-mysql are you using?
hesco: michchap: puppetlabs-mysql (v0.9.0)
michchap: hesco: are you passing mysql_module = '2.2' to any of the modules?
hesco: when I try to upgrade, I get:
hesco: puppet module upgrade puppetlabs-mysql --version 2.2.3
'puppetlabs-glance' (v3.1.0) requires 'puppetlabs-mysql' (>=0.9.0 <1.0.0)
'puppetlabs-keystone' (v3.1.1) requires 'puppetlabs-mysql' (>=0.6.1 <1.0.0)
michchap: hesco: the default is to use 0.9. There is a parameter in a bunch of classes, eg
nova::-Db::mysql::mysql_module that enables use of puppetlabs-mysql 2.2+, and you should
check it's not set anywhere in your environment
hesco: michchap: Thanks again. I've been grep'ing through my modules and find nothing
for mysql_module, although `grep mysql -R */Modulefile ` shows that '>=0.9.0 <1.0.0'
seems to be the sweet spot. And at v0.90, it seems I satisfy that requirement already.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment