I've searched around for hints on how to solve this but I haven't been able to find anything concrete. I've seen Puppet apache module causing 'Error 400 on SERVER: Invalid parameter identifier' , but I'm using a fresh/single environment install and as a result don't believe I'm facing the same problem.
What I'm trying to accomplish:
I want to install Openstack via puppet using the provided modules on the Puppet Labs website. When I get to the stage where I'm installing mysql, I get an exciting error informing me that the module (openstack) is using an invalid parameter.
The error
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter config_hash at /etc/puppet/modules/openstack/manifests/db/mysql.pp:112 on node controller.my.domain
Here is the corresponding bit of code.
# Install and configure MySQL Server
class { 'mysql::server':
config_hash => {
'root_password' => $mysql_root_password,
'bind_address' => $mysql_bind_address,
'ssl' => $mysql_ssl,
'ssl_ca' => $mysql_ca,
'ssl_cert' => $mysql_cert,
'ssl_key' => $mysql_key,
},
enabled => $enabled,
} <- Line 112
Now the MySQL password and bind address have been specified, but not the ssl parameters which I honestly don't think should affect what I'm doing. I've commented them out just to see what would happen and I still get the same error. I'm pretty sure the code itself is fine but I'm just missing a library or something along those lines, but my searching hasn't turned up anything useful.
Google did come up with a few suggestions but I don't think they apply, https://groups.google.com/forum/#!topic/puppet-users/CC83xP0AGEg . In this case the code I'm using appears to be properly formed. I was also reading that "config_hash parameter collapsed for the postgresql::server class", but I'm not using postgresql (https://forge.puppetlabs.com/puppetlabs/postgresql – scroll down).
I'm using the puppetlabs openstack module and its dependencies including the stdlib, apache, mysql, contact, and puppetdb. It's very possible I haven't configured one of these properly. Thank you for any help you can provide!
Best Answer
What version of the
mysql
module do you have installed? (check its Modulefile)Looks like the
openstack
modules depend on behavior of older versions of themysql
module, and declare that correctly in their dependencies - they seem to be happy only with 0.9.0.Assuming you're not using the mysql module elsewhere, try downgrading to that version.