Hi all, I have been kinda stuck with the following few issues (all related to one and other) What I want ot ddo is define a couple of standard actions in puppet that I can use across all my classes. So for example I define a exec for apt-get update , or a reload. When built in to a class it works fine I would just have to redeclare it with an other name in the next class and I want to get away from it. Now I have started working on importing it via my site.pp but I can not define say the exec for "service $service_name reload", it will generate an error when I include it : Must pass service_name to Class[Defaults] (class defaults being the collective class I brought all these snippets together) So question one am I on the right path in creating this , using the top scope prinocipal in my design for this. Second question how do I pass a variable in this setup , as I can not include the class in site.pp as it will generate the "must pass error" but just doing an import in my site.pp and then an include in my module init.pp does not actually work either but then silentlly. I am missing somethign I think just not sure what and where . Here below the code snippets of what I am doing. site.pp in /etc/puppet/environments/dev/manifests/ Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] } import 'classes/*.pp' the defaults.pp with the class from /etc/puppet/environments/dev/manifests/classes/ : class defaults ( $service_name ){ case $::operatingsystem { debian, ubuntu: { exec { "apt update": command => "/usr/bin/apt-get update", # onlyif => < snipped > } } } exec { "reload": command => "/usr/sbin/service $service_name reload", refreshonly => true, require => Service[[$service_name]], } exec { "restart": command => "/usr/sbin/service $service_name restart", refreshonly => true, require => Service[[$service_name]], } } And the class calling it from /etc/puppet/environments/dev/modules/pdns/init.pp include defaults class pdns_33 ( $mysql_password, $srv_type, $web_password ) { <-- snipped --> file { "/etc/powerdns/pdns.conf": ensure => present, owner => root, group => root, mode => 644, content => template("pdns_33/pdns.conf.erb"), notify => Exec[[reload]], } <-- snipped --> -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/a23685a3-4f2b-4abb-a7e0-6a20c7eb0323%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.