Hi,
I''ve been stumped by the following error for quite a while now it is
generated when running the manifest further below:
err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError:
Invalid resource type drupal6::theme_repo at srv/puppet/modules/
drupal6/manifests/init.pp:129 on node www-cms-dev.fs.uwaterloo.ca
site.pp
----------
class web_cms_dev_server inherits debian_server {
include apache2
include drupal6
include drupal6::dev
}
drupal6/manifests/init.pp
------------------------------------
$d6_confpath = "/usr/share/drupal6"
$d6_scriptpath = "/usr/share/drupal6"
$gitdir = "/srv/git/drupal-themes"
class drupal6 {
include apache2::rewrite
include mysql
# Resources to mount the dev repo share for the drupal themes git
repo and clone and track it
package { "git-core":
ensure => present
}
file { "/srv/git":
ensure => "directory",
owner => "root",
group => "itstaff",
mode => 0755
}
mount { "/srv/git":
device => "file-nfs.fs.uwaterloo.ca:/srv/git",
options => "_netdev,rw,hard,fg,lock,nfsvers=3,tcp",
fstype => "nfs",
ensure => mounted,
require => File["/srv/git"]
}
# Use drupal short name as module name to install
define module ( $ensure = ''present'', $site =
''all'') {
case $ensure {
''present'': {
# TODO: change the exec below to use the script to
test for the module when it has the capability to do so
# Creates test may not work but does for modules
listed as of commit 3379078fc1d66830d8a88caff42eae2566c4650b
2010-02-03
exec { "install-module-${name}-site-${site}":
creates => "${d6_confpath}/sites/${site}/modules/$
{name}",
#command => "drupal-module -d ${d6_confpath}/sites/
${site}/modules -i ${name}",
command => "drush -r ${d6_confpath} dl
${name}",
timeout => 1500,
}
if $require {
Exec["install-module-${name}-site-${site}"] {
require +> [$require, Package["archive-tar-
minitar"], Package["drupal6"], Package["drush"]]
}
} else {
Exec["install-module-${name}-site-${site}"] {
require => [Package["archive-tar-minitar"],
Package["drupal6"], Package["drush"]]
}
}
}
''absent'': {
# TODO: change the exec below to use the script to
remove the modules when it can
exec { "remove-module-${name}-site-${site}":
onlyif => "test -d ${d6_confpath}/sites/${site}/
modules/${name}",
command => "rm -rf ${d6_confpath}/sites/${site}/
modules/${name}"
}
}
}
}
# Web developer themes repo
# theme: name of the theme
# version: name of the git tag for the desired version
# upstream: the source url for the git repo. If false a local repo
in $gitdir/$theme is assumed
# site: the site this theme is applied to
# Local changes sould be put on the feds branch which should be
rebased onto newer versions
define theme_repo(
$theme = "",
$version = "",
$site = "default",
$upstream = "drupal")
{
case $upstream {
# Custom theme, no upstream create an empty bare repo
false: {
git::repository { "bare repo $site-$theme":
real_name => "$theme",
localtree => $gitdir,
shared => true,
owner => "root",
group => "webdeveloper",
require => Mount["/srv/git"],
before => Git::Clone["$site theme $theme-
$version"]
}
}
# Drupal.org theme, clone from upstream
"drupal": {
exec { "clone from upstream $site-$theme":
cwd => $gitdir,
command => "git clone --bare
http://git.drupal.org/project/$theme.git
$site-$theme && chown -R root:webdeveloper $site-$theme && chmod
-R ug
+w $site-$theme",
onlyif => "test ! -d $gitdir/$site-$theme",
before => Git::Clone["$site theme $theme-
$version"]
}
}
# Custom upstream theme
default: {
exec { "clone from upstream $site-$theme":
cwd => $gitdir,
command => "git clone --bare $upstream $site-
$theme && chown -R root:webdeveloper $theme && chmod -R ug+w
$theme",
onlyif => "test ! -d $gitdir/$site-$theme",
before => Git::Clone["$site theme $theme-
$version"]
}
}
}
if $upstream != false {
exec { "setup $site $theme upstream at $version and feds
branch":
cwd => "/srv/drupal/$site/themes/$theme",
command => "git branch v${version} refs/tags/$
{version} && git checkout v${version} && git branch feds
&& git
checkout feds",
refreshonly => true,
}
}
# Clone a working dir to Drupal site themes dir
git::clone { "$site theme $theme-$version":
source => "$gitdir/$site-$theme",
localtree => "/srv/drupal/$site/themes",
real_name => "$theme",
require => [Package["git-core"],
Mount["/srv/git"], File["/
srv/drupal/$site"]],
notify => Exec["setup $site $theme upstream at $version
and feds branch"]
}
}
# Testing
define alt_site ($theme) {
drupal6::theme_repo {
"$name-$theme[''name'']":
theme => $theme[''name''],
version => $theme[''version''],
upstream => $theme[''upstream''],
site => "default"
}
} #
<---------------------------------------- Line 129
# Drupal site definition
# In a multi-site setup, for sites other than default the name
# of drupal6::site must be the domain/subdomain of the site
# siteAlias can be a string or array of strings. www. prefixes are
added automatically.
define site (
$ensure = ''present'',
$dbname,
$dbpw,
$dbserver,
$sitefqdn,
$siteAlias = "",
$modules = "",
$nagios_uid,
$nagios_timeout = 5,
) {
case $ensure {
''present'': {
apache2::site { $sitefqdn:
ensure => ''present'',
sitePath => "${d6_scriptpath}",
content => template("drupal6/vhost.erb"),
require => Package["drupal6"]
}
# Export a db
mysql::database { $dbname:
passwd => $dbpw,
server => $dbserver,
fqdn => $fqdn
}
file {
"${d6_confpath}/sites/${name}/dbconfig.php":
mode => 0440,
owner => "www-data",
group => "www-data",
content => template("drupal6/
dbconfig.php.erb"),
require => File["${d6_confpath}/sites/$
{name}"];
"${d6_confpath}/sites/${name}/settings.php":
mode => 0440,
owner => "www-data",
group => "www-data",
content => template("drupal6/
settings.php.erb"),
require => [File["${d6_confpath}/sites/$
{name}"], Exec["create-database-tables-${name}"]];
"${d6_confpath}/sites/${name}/files":
ensure => "/srv/drupal/${name}/files",
force => true,
backup => false,
require =>
[File["/srv/drupal/${name}/files"],
File["${d6_confpath}/sites/${name}"]];
"${d6_confpath}/sites/${name}/themes":
ensure => "/srv/drupal/${name}/themes",
force => true,
backup => false,
require => [File["/srv/drupal/${name}/
themes"], File["${d6_confpath}/sites/${name}"]];
"${d6_confpath}/sites/${name}/modules":
ensure => directory,
mode => 775,
owner => "www-data",
group => "www-data",
require => File["${d6_confpath}/sites/$
{name}"];
"${d6_confpath}/sites/${name}/tmp":
ensure => directory,
mode => 775,
owner => "www-data",
group => "www-data",
require => File["${d6_confpath}/sites/$
{name}"];
"/srv/drupal/${name}/files":
ensure => directory,
mode => 0775,
owner => "www-data",
group => "www-data",
require => File["/srv/drupal/${name}"];
"/srv/drupal/${name}/themes":
ensure => directory,
mode => 0775,
owner => "www-data",
group => "www-data",
require => File["/srv/drupal/${name}"];
"/srv/drupal/${name}":
ensure => directory,
mode => 0775,
owner => "www-data",
group => "www-data",
require => File["/srv/drupal"];
"${d6_confpath}/sites/${name}":
ensure => directory,
mode => 0555,
owner => "www-data",
group => "www-data";
}
# You must visit http://${sitefqdn}/install.php to
complete the rest of the Drupal setup.
exec { "create-database-tables-${name}":
command => "wget -O ${d6_confpath}/sites/${name}/
database-created ''http://${sitefqdn}/install.php?profile=${name}
&locale=en''",
creates => "${d6_confpath}/sites/${name}/database-
created"
}
# cron job
exec { "${name}-cron":
command => "wget -O - -q -t 1
http://${sitefqdn}/cron.php"
}
if $require {
File["${d6_confpath}/sites/$name"] {
require +> [$require, Package["drupal6"]]
}
} else {
File["${d6_confpath}/sites/$name"] {
require => Package["drupal6"]
}
}
# Nagios Drupal site Monitor
if $nagios_uid {
@@nagios_service { "Drupal-$fqdn-$sitefqdn":
use => "feds-generic-service",
host_name => "$fqdn",
servicegroups => "services",
service_description =>
"Drupal-${sitefqdn}",
check_command => "check_drupal!${sitefqdn}!$
{nagios_uid}!${nagios_timeout}",
contact_groups => "itstaff",
target => "/etc/nagios3/conf.d/service_${fqdn}
_Drupal_${sitefqdn}.cfg"
}
}
} # ''present''
} # case $ensure
} # site
# Initial Installation Stuff
package { ["drupal6", "drush", "unzip",
"php5-curl"]:
ensure => present,
require => [Mount["/srv"], User["www-data"],
Group["www-
data"], Package["postfix"]]
}
package { "archive-tar-minitar":
ensure => present,
provider => gem
}
file {
"/srv/drupal":
ensure => directory,
mode => 775,
owner => "www-data",
group => "www-data",
require => Package["drupal6"];
}
file {
"${d6_confpath}/sites/all":
ensure => directory,
mode => 0555,
owner => "www-data",
group => "www-data",
require => Package["drupal6"];
"${d6_confpath}/sites/all/libraries":
ensure => directory,
mode => 0555,
owner => "www-data",
group => "www-data",
require => File["${d6_confpath}/sites/all"];
"${d6_confpath}/sites/all/modules":
ensure => directory,
mode => 0555,
owner => "www-data",
group => "www-data",
require => File["${d6_confpath}/sites/all"];
}
}
drupal6/manifests/dev.pp
------------------------------------
class drupal6::dev {
package { "php5-imap": }
file { "/srv/git/drupal-themes":
ensure => directory,
owner => root,
group => webdeveloper,
mode => 0775,
require => Mount["/srv/git"]
}
package {["subversion", "git-svn",
"ack-grep"]:
ensure => present
}
drupal6::module { ["fb", "computed_field"]: }
drupal6::site { "default":
dbname => "dev-drupal",
dbpw => "XXXXXXXXXXXXX",
dbserver => "db.fs.uwaterloo.ca",
sitefqdn => "dev-drupal.feds.ca",
nagios_uid => "XXXXXXXXXXXX",
}
drupal6::alt_site { "random_test":
theme => { "name" => "zen", version =>
"6.x-2.0", "upstream"
=> "drupal" }
}
}
Both the drupal6::modules and the drupal6::site are referenced and
created fine however the drupal6::alt_site is not.
I''ve checked everything that I can think of but can''t come up
with why
I can''t have what is essentially:
node ''dev'' {
include d6
include d6::dev
}
class d6 {
define site_theme {
....
}
define site {
....
site_theme { "theme": }
}
}
class d6::dev {
d6::site { "site"; }
}
Any help or insight is very much appreciated.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
jcbollinger
2011-Aug-22 13:58 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
On Aug 19, 1:33 pm, Brad Krane <brad.kr...@gmail.com> wrote: [...]> drupal6/manifests/init.pp > ------------------------------------[...]> class drupal6 {[...]> define theme_repo( > $theme = "", > $version = "", > $site = "default", > $upstream = "drupal") > {[...]> } > > # Testing > define alt_site ($theme) { > drupal6::theme_repo { "$name-$theme[''name'']": > theme => $theme[''name''], > version => $theme[''version''], > upstream => $theme[''upstream''], > site => "default" > } > } # > <---------------------------------------- Line 129[...]> Any help or insight is very much appreciated.It looks to me like the correct fully-qualified name of the define should be drupal6::drupal6::theme_repo. If you want it to be just drupal6::theme_repo then put it in its own file (named modules/drupal6/ manifests/theme_repo.pp). You definitely should do so if you anticipate that the define will be used anywhere other than where it already is used. You also the option of refering to the define by its simple name ("theme_repo") within the scope where it is declared. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brad Krane
2011-Aug-22 19:58 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
John, Thanks for the reply. I''ve tried all of your suggestions above, qualifying it as drupal6::drupal6::theme_repo and just theme_repo as well as putting the definition in its own file modules/drupal6/ manifests/theme_repo.pp (and also using the three combinations of variable scoping) but I always get a similar result that it cannot find the resource. This behavior is very odd to me as I''ve used very similar definitions where they include other definitions of the same manifest with no issue at all but it seems that for whatever reason specifically with this module I get an error when I do so. On Aug 22, 9:58 am, jcbollinger <John.Bollin...@stJude.org> wrote:> On Aug 19, 1:33 pm, Brad Krane <brad.kr...@gmail.com> wrote: > > [...] > > > drupal6/manifests/init.pp > > ------------------------------------ > > [...] > > > class drupal6 { > > [...] > > > define theme_repo( > > $theme = "", > > $version = "", > > $site = "default", > > $upstream = "drupal") > > { > > [...] > > > } > > > # Testing > > define alt_site ($theme) { > > drupal6::theme_repo { "$name-$theme[''name'']": > > theme => $theme[''name''], > > version => $theme[''version''], > > upstream => $theme[''upstream''], > > site => "default" > > } > > } # > > <---------------------------------------- Line 129 > > [...] > > > Any help or insight is very much appreciated. > > It looks to me like the correct fully-qualified name of the define > should be drupal6::drupal6::theme_repo. If you want it to be just > drupal6::theme_repo then put it in its own file (named modules/drupal6/ > manifests/theme_repo.pp). You definitely should do so if you > anticipate that the define will be used anywhere other than where it > already is used. You also the option of refering to the define by its > simple name ("theme_repo") within the scope where it is declared. > > John-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
jcbollinger
2011-Aug-25 14:01 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
On Aug 22, 2:58 pm, Brad Krane <brad.kr...@gmail.com> wrote:> John, > > Thanks for the reply. I''ve tried all of your suggestions above, > qualifying it as drupal6::drupal6::theme_repo and just theme_repo as > well as putting the definition in its own file modules/drupal6/ > manifests/theme_repo.pp (and also using the three combinations of > variable scoping) but I always get a similar result that it cannot > find the resource. > > This behavior is very odd to me as I''ve used very similar definitions > where they include other definitions of the same manifest with no > issue at all but it seems that for whatever reason specifically with > this module I get an error when I do so.Then let''s take a step back. Your class is rather complicated, and all the details may be confusing (or even causing) the issue. For example, you may have a nesting problem that is difficult to see in all that code. I suggest putting each ''define'' in its own file to help make things clearer and more maintainable. Even before that, however, I suggest getting a much simplified stub working, then fleshing it out. So, does this work for you: drupal6/manifests/init.pp ----------------------------------- class drupal6 { drupal6::theme_repo { "foo": } } drupal6/manifests/theme_repo.pp ------------------------------------------------ define theme-repo() { } ? -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brad Krane
2011-Sep-02 17:54 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
> Then let''s take a step back. Your class is rather complicated, and > all the details may be confusing (or even causing) the issue. For > example, you may have a nesting problem that is difficult to see in > all that code. I suggest putting each ''define'' in its own file to > help make things clearer and more maintainable. Even before that, > however, I suggest getting a much simplified stub working, then > fleshing it out. So, does this work for you: > > drupal6/manifests/init.pp > ----------------------------------- > class drupal6 { > drupal6::theme_repo { "foo": } > > } > > drupal6/manifests/theme_repo.pp > ------------------------------------------------ > define theme-repo() { > > } > > ?Ok, I took a big, big step back, broke out all of the drupal6::site, drupal6::theme-repo and drupal6::module into their own files. I also reduced the complexity of the module by stubbing out all the definitions to contain almost nothing. Here is what I have left: drupal6/manifests/init.pp ------------------------------------- $d6_confpath = "/usr/share/drupal6" $d6_scriptpath = "/usr/share/drupal6" $gitdir = "/srv/git/drupal-themes" class drupal6 { } drupal6/manifests/module.pp ------------------------------------- define drupal6::module ( $ensure = ''present'', $site = ''all'') { notice("module") } drupal6/manifests/site.pp ------------------------------------- define drupal6::site ( $ensure = ''present'', $dbname, $dbpw, $dbserver, $sitefqdn, $siteAlias = "", $modules = "", $nagios_uid, $nagios_timeout = 5, $theme = { "name" => nil, "version" => nil, "upstream" => "drupal" } ) { case $ensure { ''present'': { drupal6::module { "module": } # Site theme drupal6::theme-repo { "$name-$theme[''name'']": } } # ''present'' } # case $ensure } drupal6/manifests/theme-repo.pp ------------------------------------- define drupal6::theme-repo() { notice("theme-repo") } And I still get the same error below. err: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type drupal6::theme-repo at srv/puppet/modules/ drupal6/manifests/site.pp:19 on node www-cms-dev.fs.uwaterloo.ca That is until I removed $theme[''name''] from the drupal6::theme-repo''s name! It looks like having set theme[''name''] = nil as the default value and not setting it to a non-nil value caused the error. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brad Krane
2011-Sep-02 18:10 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
I have spoken too soon about the nil value causing the problem. When I set the default value from nil to "something" the error came back. It seems that just using a hash value in the name to be expanded is what the real issue is. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brad Krane
2011-Sep-02 18:21 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
Here is a very simple manifest that recreates this error:
class foo {
define bar ( $val ) {
notice("bar($val)")
}
}
$some_hash = { ''name'' => "some_name" }
foo::bar { "$some_hash[''name'']": }
Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid
resource type foo::bar at /tmp/puptest.pp:9 on node www-cms-
dev.fs.uwaterloo.ca
This seems like a bug to me.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Paul Nguyen
2011-Sep-02 23:28 UTC
Re: [Puppet Users] Re: Puppet unable to find a defined resource.
I''m also seeing the same problem I believe.
I''m running on the following
puppet 2.7.3
ruby 1.8.5
centos 5
I have a defined resource in the module called accounts
class accounts::virtual {
define createsysuser ($val) {
...
}
}
In another class in the same module, I have the following
class accounts::appaccts {
include account::virtual
createsysuser { "someuser"
val => "someuser"
}
}
I get the following error
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid
resource type createsysuser at
/etc/puppet/modules/accounts/manifests/applications.pp:6 on node
foobar.test.com
Is there a fix for this, or am I doing something wrong?
Thanks,
Paul
On Fri, Sep 2, 2011 at 11:21 AM, Brad Krane <brad.krane@gmail.com> wrote:
> Here is a very simple manifest that recreates this error:
>
>
> class foo {
> define bar ( $val ) {
> notice("bar($val)")
> }
> }
>
> $some_hash = { ''name'' => "some_name" }
>
> foo::bar { "$some_hash[''name'']": }
>
>
> Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid
> resource type foo::bar at /tmp/puptest.pp:9 on node www-cms-
> dev.fs.uwaterloo.ca
>
>
> This seems like a bug to me.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
jcbollinger
2011-Sep-06 13:17 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
On Sep 2, 1:21 pm, Brad Krane <brad.kr...@gmail.com> wrote:> Here is a very simple manifest that recreates this error: > > class foo { > define bar ( $val ) { > notice("bar($val)") > } > > } > > $some_hash = { ''name'' => "some_name" } > > foo::bar { "$some_hash[''name'']": } > > Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid > resource type foo::bar at /tmp/puptest.pp:9 on node www-cms- > dev.fs.uwaterloo.ca > > This seems like a bug to me.There is at minimum a documentation bug (the docs don''t discuss whether or how to interpolate hash values) and a bug / needed feature regarding the extremely unhelpful error message. I''m not sure whether it''s supposed to work to interpolate a hash value as you are attempting to do (and I don''t recall offhand whether you can interpolate array elements either), but supporting that is at least a viable feature request. In the mean time, there are at least two workarounds I can think of. One is to use an inline template to do your interpolation, and another is to copy the hash value into an ordinary variable and then interpolate that. I would personally prefer the latter in most circumstances; I find it clearer, especially if I need the hash value more than once: $theme_name = $theme[''name''] # Site theme drupal6::theme-repo { "${name}-${theme_name}": } Note also that there''s a better solution for your simplified example, where the string you want is exactly the hash value: just omit the quotes. To wit, foo::bar { $some_hash[''name'']: } John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Brad Krane
2011-Sep-07 20:11 UTC
[Puppet Users] Re: Puppet unable to find a defined resource.
Paul, I''m not exactly sure, but from your class setup it looks like the createsysuser resource would have the full scope of accounts::virtual::createsysuser and should be referenced by virtual::createsysuser and not just createsysuser when it is used in accounts::appaccts. Cheers, On Sep 2, 7:28 pm, Paul Nguyen <paul...@gmail.com> wrote:> I''m also seeing the same problem I believe. > > I''m running on the following > > puppet 2.7.3 > ruby 1.8.5 > centos 5 > > I have a defined resource in the module called accounts > > class accounts::virtual { > define createsysuser ($val) { > ... > } > } > > In another class in the same module, I have the following > > class accounts::appaccts { > include account::virtual > > createsysuser { "someuser" > val => "someuser" > } > } > > I get the following error > > err: Could not retrieve catalog from remote server: Error 400 on SERVER: > Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid > resource type createsysuser at > /etc/puppet/modules/accounts/manifests/applications.pp:6 on node > foobar.test.com > > Is there a fix for this, or am I doing something wrong? > > Thanks, > Paul > > > > > > > > On Fri, Sep 2, 2011 at 11:21 AM, Brad Krane <brad.kr...@gmail.com> wrote: > > Here is a very simple manifest that recreates this error: > > > class foo { > > define bar ( $val ) { > > notice("bar($val)") > > } > > } > > > $some_hash = { ''name'' => "some_name" } > > > foo::bar { "$some_hash[''name'']": } > > > Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid > > resource type foo::bar at /tmp/puptest.pp:9 on node www-cms- > > dev.fs.uwaterloo.ca > > > This seems like a bug to me. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Puppet Users" group. > > To post to this group, send email to puppet-users@googlegroups.com. > > To unsubscribe from this group, send email to > > puppet-users+unsubscribe@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/puppet-users?hl=en.-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Paul Nguyen
2011-Sep-13 00:15 UTC
Re: [Puppet Users] Re: Puppet unable to find a defined resource.
Brad. Using the virtual::createsysuser worked. Thanks again, Paul On Wed, Sep 7, 2011 at 1:11 PM, Brad Krane <brad.krane@gmail.com> wrote:> Paul, > > I''m not exactly sure, but from your class setup it looks like the > createsysuser resource would have the full scope of > accounts::virtual::createsysuser and should be referenced by > virtual::createsysuser and not just createsysuser when it is used in > accounts::appaccts. > > Cheers, > > On Sep 2, 7:28 pm, Paul Nguyen <paul...@gmail.com> wrote: > > I''m also seeing the same problem I believe. > > > > I''m running on the following > > > > puppet 2.7.3 > > ruby 1.8.5 > > centos 5 > > > > I have a defined resource in the module called accounts > > > > class accounts::virtual { > > define createsysuser ($val) { > > ... > > } > > } > > > > In another class in the same module, I have the following > > > > class accounts::appaccts { > > include account::virtual > > > > createsysuser { "someuser" > > val => "someuser" > > } > > } > > > > I get the following error > > > > err: Could not retrieve catalog from remote server: Error 400 on SERVER: > > Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid > > resource type createsysuser at > > /etc/puppet/modules/accounts/manifests/applications.pp:6 on node > > foobar.test.com > > > > Is there a fix for this, or am I doing something wrong? > > > > Thanks, > > Paul > > > > > > > > > > > > > > > > On Fri, Sep 2, 2011 at 11:21 AM, Brad Krane <brad.kr...@gmail.com> > wrote: > > > Here is a very simple manifest that recreates this error: > > > > > class foo { > > > define bar ( $val ) { > > > notice("bar($val)") > > > } > > > } > > > > > $some_hash = { ''name'' => "some_name" } > > > > > foo::bar { "$some_hash[''name'']": } > > > > > Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid > > > resource type foo::bar at /tmp/puptest.pp:9 on node www-cms- > > > dev.fs.uwaterloo.ca > > > > > This seems like a bug to me. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Puppet Users" group. > > > To post to this group, send email to puppet-users@googlegroups.com. > > > To unsubscribe from this group, send email to > > > puppet-users+unsubscribe@googlegroups.com. > > > For more options, visit this group at > > >http://groups.google.com/group/puppet-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.