Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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!

share|improve this question
add comment

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer
    
Thanks for the quick response! I'm using the latest mysql module 2.2.3, I was thinking of getting an earlier version but the "build failing" image tags scared me away, I'll give it a try. –  Jack Apr 16 at 0:04
    
@Phil One way to make sure you've got the right dependencies is to use the puppet module install command line tool - it will install the versions of dependencies that the module requires. –  Shane Madden Apr 16 at 0:06
    
Thank you for the tip, will definitely keep that in mind after today's experience. I thought I was okay with dependencies since the module homepage left it out ( forge.puppetlabs.com/puppetlabs/openstack ). Lesson learned. By the way, what you suggested worked first try, thank you again! –  Jack Apr 16 at 0:12
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.