Skip to content

Instantly share code, notes, and snippets.

@hesco
Last active August 29, 2015 13:56
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/daa79ab63deb8a107e51 to your computer and use it in GitHub Desktop.
Save hesco/daa79ab63deb8a107e51 to your computer and use it in GitHub Desktop.
root@dessalines:~# puppet agent -t
Info: Retrieving plugin
. . .
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Invalid db connection mysql://keystone:@127.0.0.1/keystone at
/etc/puppet/modules/dessalines/keystone/manifests/init.pp:140
on node controller.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
-----
# using the puppetlabs module here --
class openstack {
class { 'openstack::keystone':
verbose => true,
debug => true,
public_address => $our_public_ip,
db_password => $hesco_openstack::params::mysql_root_password,
admin_token => $hesco_openstack::params::keystone_admin_token,
admin_email => 'hesco@yourmessagedelivered.com',
admin_password => $hesco_openstack::params::keystone_admin_password,
glance_user_password => $hesco_openstack::params::glance_user_password,
nova_user_password => $hesco_openstack::params::nova_user_password,
cinder_user_password => $hesco_openstack::params::cinder_user_password,
quantum_user_password => $hesco_openstack::params::quantum_user_password,
db_host => $hesco_openstack::params::keystone_db_host,
db_name => $hesco_openstack::params::keystone_db_name,
db_user => $hesco_openstack::params::keystone_db_user,
}
}
-----
class hesco_openstack::params {
$keystone_db_host = '127.0.0.1'
$keystone_db_name = 'keystone'
$keystone_db_user = 'keystone'
$db_password = 'secret'
$keystone_db_password = 'secret'
$rabbitmq_guest_password = 'secret'
$keystone_admin_password = 'secret'
$keystone_admin_token = 'secret'
$mysql_root_password = 'secret'
$glance_user_password = 'secret'
$nova_user_password = 'secret'
$cinder_user_password = 'secret'
$quantum_user_password = 'secret'
$sql_connection = 'mysql://keystone:secret@127.0.0.1/keystone'
}
-----
In this file:
keystone/manifests/init.pp
this key defaults to this value:
$sql_connection = 'sqlite:////var/lib/keystone/keystone.db',
But the error above is thrown by:
if($sql_connection =~ /mysql:\/\/\S+:\S+@\S+\/\S+/) {
require 'mysql::python'
} elsif($sql_connection =~ /postgresql:\/\/\S+:\S+@\S+\/\S+/) {
} elsif($sql_connection =~ /sqlite:\/\//) {
} else {
fail("Invalid db connection ${sql_connection}")
}
which reports the password missing, although I have not sorted out where that
value is constructed. When I tried to feed it in directly with this in my
openstack::keystone class invocation:
# sql_connection => $hesco_openstack::params::sql_connection,
I get:
Error: Could not retrieve catalog from remote server: Error 400 on
SERVER: Invalid parameter sql_connection at
/etc/puppet/modules/dessalines/openstack/manifests/init.pp:24
on node controller.example.com
-----
And here I remain stuck, looking for clues on how to move forward.
Any help would be appreciated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment