Mysql – Invalid parameter config_hash: Attempting to install thesql (and Openstack) via Puppet

MySQLopenstackpuppet

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 the mysql 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.

Related Topic