The Puppet Labs Issue Tracker has Moved:

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using See the following page for information on filing tickets with JIRA:

Bug #12326

puppetlabs / puppetlabs-bacula : Problem generating the /etc/bacula/bacula-dir.d/<node> files

Added by FROMENT Michael over 4 years ago. Updated over 3 years ago.

Status:AcceptedStart date:01/31/2012
Priority:NormalDue date:
Assignee:Carl Caum% Done:


Category:baculaSpent time:-
Target version:-
Keywords: Branch:

We've Moved!

Ticket tracking is now hosted in JIRA:


When I run a puppet apply I have the following error:

Could not parse for environment production: Syntax error at ‘=’; expected ‘}’ at /etc/puppet/manifests/nodes.pp:14 on node virt-morsup.deploy.private

I suppose that the syntax mention in the module readme isn’t good so I replace: $clients = { ‘virt-morsup.deploy.private’ = { ‘fileset’ => ‘Basic:noHome’, ‘schedule’ => ‘Weekly’, } }


$clients = { ‘virt-morsup.deploy.private’ => { ‘fileset’ => ‘Basic:noHome’, ‘schedule’ => ‘Weekly’, } }

After that modification I get this error :

/usr/lib/ruby/1.8/puppet/parser/functions/create_resources.rb:9: warning: multiple values for a block parameter (2 for 1) from /etc/puppet/modules/bacula/lib/puppet/parser/functions/generate_clients.rb:32

and the /etc/bacula/bacula-dir.d/ isn’t generated.

Could you please explain me where i’m wrong?

here is the complete declaration of my node :

node “virt-morsup” inherits testnode { $clients = { ‘virt-morsup.deploy.private’ => { ‘fileset’ => ‘Basic:noHome’, ‘schedule’ => ‘Weekly’, } }

class { 'bacula':
db_backend        => mysql,
db_user           => test,
db_password       => toto,
db_host           => localhost,
db_port           => 3306,
db_database       => bacula,
is_storage        => true,
is_director       => true,
is_client         => true,
manage_console    => true,
manage_db         => true,
director_password => 'toto',
console_password  => 'toto',
director_server   => 'virt-morsup.deploy.private',
mail_to           => 'root@localhost.localdomain',
storage_server    => 'virt-morsup.deploy.private',
clients           => $clients,
class { 'mysql::server': config_hash => { 'root_password' => 'toto' }


I suppose that there is a problem with generateclients.rb because in case of using parameterized class the condition statement if variable =~ /bacula_client.*$/ will nerver match, so function_create_resources(‘bacula::config::client’, {client => parameters}) will nerver be call.

I’m right?


#1 Updated by James Turnbull over 4 years ago

  • Project changed from Puppet to Puppet Labs Modules
  • Category deleted (modules)
  • Target version deleted (2.7.x)

#2 Updated by James Turnbull over 4 years ago

  • Category set to bacula

#3 Updated by Stephen Greenham about 4 years ago

  • Assignee set to Carl Caum

I am having this problem as well. Could the original developer shed any light on this?

#4 Updated by Stephen Greenham about 4 years ago

James this problem has been identified and fixed and a pull request is pending in github….

#5 Updated by William Van Hevelingen about 4 years ago

  • Status changed from Unreviewed to Accepted


Can you update the branch field with the url of the pull request. I’m a bit confused on if your open pull request is the one that your referring too.

If you could add a ticket number to the pull request / commits it would make it easy to keep the tickets and pull requests in sync.


#6 Updated by james morelli over 3 years ago

Hey guys… Just noticed no one ever pulled this… Would be awesome if someone could…

#7 Updated by Carl Caum over 3 years ago

Can someone update the branch field to point to the associating pull request?

Is it this one?

Also available in: Atom PDF