I'm confused about certain Puppet parameterized class usage and scoping.
The puppetlabs-dashboard module at
github<https://github.com/puppetlabs/puppetlabs-dashboard/blob/master/manifests/passenger.pp>starts
with the following:
class dashboard::passenger ($dashboard_site, $dashboard_port) inherits
dashboard {
Class ['::passenger'] -> Apache::Vhost[$dashboard_site]
class { '::passenger':
port => $dashboard_port,
}
I also have the puppetlabs-apache and puppetlabs-mysql classes in my
modules directory and I'm trying to install dashboard on a test host as per
the instructions:
node test {
class { 'dashboard':
dashboard_ensure => 'present',
dashboard_user => 'puppet-dashboard',
dashboard_group => 'puppet-dashboard',
dashboard_password => 'changeme',
dashboard_db => 'dashboard_production',
dashboard_charset => 'utf8',
dashboard_site => $fqdn,
dashboard_port => '80',
mysql_root_pw => 'changeme',
passenger => true,
mysql_package_provider => 'yum',
ruby_mysql_package => 'ruby-mysql',
}
}
However, I'm getting the following error when running puppetd -t on the
test host:
# puppetd -t
notice: Ignoring --listen on onetime run
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Puppet::Parser::AST::Resource failed with error ArgumentError: Could not
find declared class ::passenger at
/etc/puppet/modules/dashboard/manifests/passenger.pp:21 on node
chelutlunx09.karmalab.net
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
#
Does anyone know why I might be getting this error?
For what it's worth, I've already had to make another change to dashboard's
init.pp due to a misuse of the mysql::server class by the dashboard class,
so I'm concerned that there are other issues I've not yet encountered:
- class { 'mysql::server': root_password => $mysql_root_pw }
+ class { 'mysql::server': config_hash => { root_password =>
$mysql_root_pw } }
This is because of how the mysql::server class is actually defined:
class mysql::server(
$service_name = $mysql::params::service_name,
$config_hash = {},
$package_name = 'mysql-server'
)
Thanks,
Justin
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.