Hi, I''m having a problem with a module that works on my production servers, but is giving me grief when ran from scratch. When I run the client I get: [root@hlsdevcms1 puppet]# puppetd -tv info: Retrieving plugin info: Loading facts in apache-ports info: Loading facts in location info: Loading facts in dell info: Loading facts in convera info: Loading facts in apache-ports info: Loading facts in location info: Loading facts in dell info: Loading facts in convera info: Caching catalog for hlsdevcms1.law.harvard.edu err: Could not run Puppet configuration client: Could not find user rhythmyx I have tried everything I can think of to add more and more require => statements into the two .pp''s that comprise the module but it refuses to find the user. I have run puppetmasterd in debug mode and the client in debug mode to no avail, neither gives me any more information on why this would fail. I''ve checked in the local yaml on the client and the rhythmyx stuff appears in there, including the comment statement in the user{}, so it''s definitely in the catalog. The init.pp (apologises for what a mess this is, but I''ve been messing with it trying to get it working): ## ## Install rhythmyx. ## class rhythmyx { include rhythmyx::install if defined(Class["splunk4::client"]) { concat::fragment{"splunk4-rx": target => "/opt/splunk/etc/system/local/inputs.conf", content => "[monitor:///opt/rhythmyx/Rhythmyx/.../*.log]\ndisabled = false\nsourcetype = rhythmyx\nindex = rhythmyx\n_blacklist = rx_lib.*\\.log\n", } } ## ## Users/Groups ## user { "rhythmyx": ensure => "present", uid => 5000, gid => 5000, comment => "rhythmyx user", home => "/opt/rhythmyx", shell => ''/bin/bash'', managehome => true, require => Group[''rhythmyx''], } group { "rhythmyx": ensure => "present", gid => "5000", } service { "RhythmyxD": ensure => "running", hasrestart => "false", hasstatus => "false", pattern => "RhythmyxServer.exe", start => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon start /opt/rhythmyx/Rhythmyx/", stop => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon stop /opt/rhythmyx/Rhythmyx && sleep 45", require => Exec["rx-permissions-rhythmyx"], } ## ## Crons ## file { "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationFullEdition.sh": ensure => "present", source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationFullEdition.sh", owner => "rhythmyx", group => "rhythmyx", mode => "755", require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationIncrementalEdition.sh": ensure => "present", source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationIncrementalEdition.sh", owner => "rhythmyx", group => "rhythmyx", mode => "755", require => [ User["rhythmyx"], Group["rhythmyx"] ], } ## ## Backups ## tidy { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/publogs.war": age => ''90d'', matches => ''*.log'', recurse => ''true'', } tidy { "/tmp/rxtemp.rhythmyx": age => ''2d'', matches => ''*.tmp'', recurse => ''true'', } cron { "Rhythmyx restart": command => "/etc/init.d/RhythmyxD restart", ensure => "present", user => "root", minute => "00", hour => "03", weekday => "3", } } The install.pp: ## ## Install rhythmyx ## class rhythmyx::install { $url = extlookup("url") $rxsqlserver = extlookup("rxsqlserver") #package { ''compat-libgcc-296'': ensure => present } #package { ''compat-libstdc++-296'': ensure => present } #package { ''compat-glibc'': ensure => present } File { owner => rhythmyx, group => rhythmyx, mode => 755, require => User["rhythmyx"], } file { "/opt/rhythmyx/": ensure => "directory", require => [ User["rhythmyx"], Group["rhythmyx"] ], } exec { "rx-permissions-rhythmyx": command => "chown -R rhythmyx:rhythmyx /opt/rhythmyx", cwd => "/opt/", require => [ File[''/opt/rhythmyx''], User[''rhythmyx''] ], } file { "/etc/init.d/RhythmyxD": ensure => "present", source => "puppet:///modules/rhythmyx/RhythmyxD", owner => "root", group => "root", } ## ## ALL OF THESE FILES NEED UPDATING WHEN INSTALLING. ## file { "/opt/rhythmyx/Rhythmyx/rx_user.id": ensure => "present", source => "puppet:///modules/rhythmyx/rx_user.id", require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/RhythmyxServer.ja": ensure => "present", source => "puppet:///modules/rhythmyx/RhythmyxServer.ja", require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/jbossweb-tomcat55.sar/server.xml": ensure => "present", content => template("rhythmyx/server.xml.erb"), require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/lib/velocity-tools-1.4.jar": ensure => "present", source => "puppet:///modules/rhythmyx/velocity-tools-1.4.jar", require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/rxconfig/Server/config.xml": ensure => "present", source => "puppet:///modules/rhythmyx/config.xml", require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rx-ds.xml": ensure => "present", content => template("rhythmyx/rx-ds.xml.erb"), require => [ User["rhythmyx"], Group["rhythmyx"] ], } file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.xml": ensure => "present", source => "puppet:///modules/rhythmyx/server-beans.xml", require => [ User["rhythmyx"], Group["rhythmyx"] ], } ## Temporary fix until 6.6 file { "/opt/rhythmyx/Rhythmyx/rxW2Ktidy.properties": ensure => "present", source => "puppet:///modules/rhythmyx/rxW2Ktidy.properties", require => [ User["rhythmyx"], Group["rhythmyx"] ], } } Can anyone see anything I''ve overlooked, or suggest any reason that it would demand the user exist BEFORE attempting to run the catalog? -- 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.
Hi The way I''ve got around this is to realize the user in the parent class or to create a ''user'' class and put in a { class name: stage => pre} to guarantee it is created first. That''s using stages in 2.6 though. Not sure what you''re running. Den On 23/02/2011, at 2:42, Ashley Penney <apenney@gmail.com> wrote:> Hi, > > I''m having a problem with a module that works on my production servers, but is giving me grief when ran from scratch. When I run the client I get: > > [root@hlsdevcms1 puppet]# puppetd -tv > info: Retrieving plugin > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Caching catalog for hlsdevcms1.law.harvard.edu > err: Could not run Puppet configuration client: Could not find user rhythmyx > > I have tried everything I can think of to add more and more require => statements into the two .pp''s that comprise the module but it refuses to find the user. I have run puppetmasterd in debug mode and the client in debug mode to no avail, neither gives me any more information on why this would fail. I''ve checked in the local yaml on the client and the rhythmyx stuff appears in there, including the comment statement in the user{}, so it''s definitely in the catalog. > > The init.pp (apologises for what a mess this is, but I''ve been messing with it trying to get it working): > > ## > ## Install rhythmyx. > ## > > class rhythmyx { > > include rhythmyx::install > > if defined(Class["splunk4::client"]) { > concat::fragment{"splunk4-rx": > target => "/opt/splunk/etc/system/local/inputs.conf", > content => "[monitor:///opt/rhythmyx/Rhythmyx/.../*.log]\ndisabled = false\nsourcetype = rhythmyx\nindex = rhythmyx\n_blacklist = rx_lib.*\\.log\n", > } > } > > ## > ## Users/Groups > ## > user { "rhythmyx": > ensure => "present", > uid => 5000, > gid => 5000, > comment => "rhythmyx user", > home => "/opt/rhythmyx", > shell => ''/bin/bash'', > managehome => true, > require => Group[''rhythmyx''], > } > > group { "rhythmyx": > ensure => "present", > gid => "5000", > } > > service { "RhythmyxD": > ensure => "running", > hasrestart => "false", > hasstatus => "false", > pattern => "RhythmyxServer.exe", > start => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon start /opt/rhythmyx/Rhythmyx/", > stop => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon stop /opt/rhythmyx/Rhythmyx && sleep 45", > require => Exec["rx-permissions-rhythmyx"], > } > > ## > ## Crons > ## > > file { "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationFullEdition.sh": > ensure => "present", > source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationFullEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationIncrementalEdition.sh": > ensure => "present", > source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationIncrementalEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## > ## Backups > ## > > tidy { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/publogs.war": > age => ''90d'', > matches => ''*.log'', > recurse => ''true'', > } > > tidy { "/tmp/rxtemp.rhythmyx": > age => ''2d'', > matches => ''*.tmp'', > recurse => ''true'', > } > > cron { "Rhythmyx restart": > command => "/etc/init.d/RhythmyxD restart", > ensure => "present", > user => "root", > minute => "00", > hour => "03", > weekday => "3", > } > > } > > The install.pp: > > ## > ## Install rhythmyx > ## > > class rhythmyx::install { > > $url = extlookup("url") > $rxsqlserver = extlookup("rxsqlserver") > > #package { ''compat-libgcc-296'': ensure => present } > #package { ''compat-libstdc++-296'': ensure => present } > #package { ''compat-glibc'': ensure => present } > > File { owner => rhythmyx, group => rhythmyx, mode => 755, require => User["rhythmyx"], } > > file { "/opt/rhythmyx/": > ensure => "directory", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > exec { "rx-permissions-rhythmyx": > command => "chown -R rhythmyx:rhythmyx /opt/rhythmyx", > cwd => "/opt/", > require => [ File[''/opt/rhythmyx''], User[''rhythmyx''] ], > } > > file { "/etc/init.d/RhythmyxD": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxD", > owner => "root", > group => "root", > } > > ## > ## ALL OF THESE FILES NEED UPDATING WHEN INSTALLING. > ## > > file { "/opt/rhythmyx/Rhythmyx/rx_user.id": > ensure => "present", > source => "puppet:///modules/rhythmyx/rx_user.id", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/RhythmyxServer.ja": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxServer.ja", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/jbossweb-tomcat55.sar/server.xml": > ensure => "present", > content => template("rhythmyx/server.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/lib/velocity-tools-1.4.jar": > ensure => "present", > source => "puppet:///modules/rhythmyx/velocity-tools-1.4.jar", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/rxconfig/Server/config.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/config.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rx-ds.xml": > ensure => "present", > content => template("rhythmyx/rx-ds.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/server-beans.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## Temporary fix until 6.6 > > file { "/opt/rhythmyx/Rhythmyx/rxW2Ktidy.properties": > ensure => "present", > source => "puppet:///modules/rhythmyx/rxW2Ktidy.properties", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > } > > Can anyone see anything I''ve overlooked, or suggest any reason that it would demand the user exist BEFORE attempting to run the catalog? > > > -- > 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.
I am running 2.6 and can do this if needed. What would the parent class be in this example, the ''rhythmyx'' class that the user{} entry is in? This is just included from foreman so I''m not sure there really is a "parent" as such. I have a user class for actual people that I could use if I had to. Still, this seems crazy. If there is a reference to a user in resources it should check the rest of the yaml to see if that user is being created and create it without erroring. I might file this via the enterprise support because I think this is a bug, but I''m interested in other opinions before I do so. Thanks, On Tue, Feb 22, 2011 at 3:10 PM, Denmat <tu2bgone@gmail.com> wrote:> Hi > The way I''ve got around this is to realize the user in the parent class or > to create a ''user'' class and put in a > { class name: stage => pre} > to guarantee it is created first. > > That''s using stages in 2.6 though. Not sure what you''re running. > > Den > > > On 23/02/2011, at 2:42, Ashley Penney <apenney@gmail.com> wrote: > > Hi, > > I''m having a problem with a module that works on my production servers, but > is giving me grief when ran from scratch. When I run the client I get: > > [root@hlsdevcms1 puppet]# puppetd -tv > info: Retrieving plugin > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Caching catalog for <http://hlsdevcms1.law.harvard.edu> > hlsdevcms1.law.harvard.edu > err: Could not run Puppet configuration client: Could not find user > rhythmyx > > I have tried everything I can think of to add more and more require => > statements into the two .pp''s that comprise the module but it refuses to > find the user. I have run puppetmasterd in debug mode and the client in > debug mode to no avail, neither gives me any more information on why this > would fail. I''ve checked in the local yaml on the client and the rhythmyx > stuff appears in there, including the comment statement in the user{}, so > it''s definitely in the catalog. > > The init.pp (apologises for what a mess this is, but I''ve been messing with > it trying to get it working): > > ## > ## Install rhythmyx. > ## > > class rhythmyx { > > include rhythmyx::install > > if defined(Class["splunk4::client"]) { > concat::fragment{"splunk4-rx": > target => > "/opt/splunk/etc/system/local/inputs.conf", > content => > "[monitor:///opt/rhythmyx/Rhythmyx/.../*.log]\ndisabled = false\nsourcetype > = rhythmyx\nindex = rhythmyx\n_blacklist = rx_lib.*\\.log\n", > } > } > > ## > ## Users/Groups > ## > user { "rhythmyx": > ensure => "present", > uid => 5000, > gid => 5000, > comment => "rhythmyx user", > home => "/opt/rhythmyx", > shell => ''/bin/bash'', > managehome => true, > require => Group[''rhythmyx''], > } > > group { "rhythmyx": > ensure => "present", > gid => "5000", > } > > service { "RhythmyxD": > ensure => "running", > hasrestart => "false", > hasstatus => "false", > pattern => "RhythmyxServer.exe", > start => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon start > /opt/rhythmyx/Rhythmyx/", > stop => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon stop > /opt/rhythmyx/Rhythmyx && sleep 45", > require => Exec["rx-permissions-rhythmyx"], > } > > ## > ## Crons > ## > > file { > "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationFullEdition.sh": > ensure => "present", > source => > "puppet:///modules/rhythmyx/hls_ScheduledPublicationFullEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { > "/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationIncrementalEdition.sh": > ensure => "present", > source => > "puppet:///modules/rhythmyx/hls_ScheduledPublicationIncrementalEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## > ## Backups > ## > > tidy { > "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/publogs.war": > age => ''90d'', > matches => ''*.log'', > recurse => ''true'', > } > > tidy { "/tmp/rxtemp.rhythmyx": > age => ''2d'', > matches => ''*.tmp'', > recurse => ''true'', > } > > cron { "Rhythmyx restart": > command => "/etc/init.d/RhythmyxD restart", > ensure => "present", > user => "root", > minute => "00", > hour => "03", > weekday => "3", > } > > } > > The install.pp: > > ## > ## Install rhythmyx > ## > > class rhythmyx::install { > > $url = extlookup("url") > $rxsqlserver = extlookup("rxsqlserver") > > #package { ''compat-libgcc-296'': ensure => present } > #package { ''compat-libstdc++-296'': ensure => present } > #package { ''compat-glibc'': ensure => present } > > File { owner => rhythmyx, group => rhythmyx, mode => 755, require => > User["rhythmyx"], } > > file { "/opt/rhythmyx/": > ensure => "directory", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > exec { "rx-permissions-rhythmyx": > command => "chown -R rhythmyx:rhythmyx /opt/rhythmyx", > cwd => "/opt/", > require => [ File[''/opt/rhythmyx''], User[''rhythmyx''] ], > } > > file { "/etc/init.d/RhythmyxD": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxD", > owner => "root", > group => "root", > } > > ## > ## ALL OF THESE FILES NEED UPDATING WHEN INSTALLING. > ## > > file { "/opt/rhythmyx/Rhythmyx/rx_user.id": > ensure => "present", > source => "puppet:///modules/rhythmyx/rx_user.id", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/RhythmyxServer.ja": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxServer.ja", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { > "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/jbossweb-tomcat55.sar/server.xml": > ensure => "present", > content => template("rhythmyx/server.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { > "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/lib/velocity-tools-1.4.jar": > ensure => "present", > source => > "puppet:///modules/rhythmyx/velocity-tools-1.4.jar", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/rxconfig/Server/config.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/config.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rx-ds.xml": > ensure => "present", > content => template("rhythmyx/rx-ds.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { > "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/server-beans.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## Temporary fix until 6.6 > > file { "/opt/rhythmyx/Rhythmyx/rxW2Ktidy.properties": > ensure => "present", > source => > "puppet:///modules/rhythmyx/rxW2Ktidy.properties", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > } > > Can anyone see anything I''ve overlooked, or suggest any reason that it > would demand the user exist BEFORE attempting to run the catalog? > > > -- > 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.
On Tue, Feb 22, 2011 at 10:42:34AM -0500, Ashley Penney wrote:> Hi, > > I''m having a problem with a module that works on my production servers, but > is giving me grief when ran from scratch. When I run the client I get: > > [root@hlsdevcms1 puppet]# puppetd -tv > info: Retrieving plugin > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Loading facts in apache-ports > info: Loading facts in location > info: Loading facts in dell > info: Loading facts in convera > info: Caching catalog for hlsdevcms1.law.harvard.edu > err: Could not run Puppet configuration client: Could not find user rhythmyx > > I have tried everything I can think of to add more and more require => > statements into the two .pp''s that comprise the module but it refuses to > find the user. I have run puppetmasterd in debug mode and the client in > debug mode to no avail, neither gives me any more information on why this > would fail. I''ve checked in the local yaml on the client and the rhythmyx > stuff appears in there, including the comment statement in the user{}, so > it''s definitely in the catalog. > > The init.pp (apologises for what a mess this is, but I''ve been messing with > it trying to get it working): >*snip* You shouldnt need any of these requires. If you''ve say something like user {''foo'': gid => ''bar''} the user automatically requires the group. If you specify file {''foo'': owner => ''foo''} the file automatically requires the user and so on. One thing that is a little suspicious is that you define a file default File { owner => ..., require => ...}. Maybe heres the error (also I did a test and setting the default owner to a not existant user works on my machine) So what I would do is - does it work with a dummy class? - Do you need the user in some of your custom facts? Because the facts will run before the actual puppet run. If that doesnt help try to reduce your example to the bare minimum where the error occurs. If you have anything special in your puppet.conf post it. And the actual debug output could help to. -Stefan (I took the freedom to reformat)> ## > ## Install rhythmyx. > ## > > class rhythmyx { > include rhythmyx::install > if defined(Class["splunk4::client"]) { > concat::fragment{"splunk4-rx": > target => "/opt/splunk/etc/system/local/inputs.conf", > content => "[monitor:///opt/rhythmyx/Rhythmyx/.../*.log]\ndisabled = false\nsourcetype = rhythmyx\nindex = rhythmyx\n_blacklist = rx_lib.*\\.log\n", > } > } > > ## > ## Users/Groups > ## > user { "rhythmyx": > ensure => "present", > uid => 5000, > gid => 5000, > comment => "rhythmyx user", > home => "/opt/rhythmyx", > shell => ''/bin/bash'', > managehome => true, > require => Group[''rhythmyx''], > } > group { "rhythmyx": > ensure => "present", > gid => "5000", > } > > service { "RhythmyxD": > ensure => "running", > hasrestart => "false", > hasstatus => "false", > pattern => "RhythmyxServer.exe", > start => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon start /opt/rhythmyx/Rhythmyx/", > stop => "/opt/rhythmyx/Rhythmyx/bin/RhythmyxDaemon stop /opt/rhythmyx/Rhythmyx && sleep 45", > require => Exec["rx-permissions-rhythmyx"], > } > > ## > ## Crons > ## > > file {"/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationFullEdition.sh": > ensure => "present", > source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationFullEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file {"/opt/rhythmyx/Rhythmyx/AppServer/bin/hls_ScheduledPublicationIncrementalEdition.sh": > ensure => "present", > source => "puppet:///modules/rhythmyx/hls_ScheduledPublicationIncrementalEdition.sh", > owner => "rhythmyx", > group => "rhythmyx", > mode => "755", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## > ## Backups > ## > > tidy {"/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/publogs.war": > age => ''90d'', > matches => ''*.log'', > recurse => ''true'', > } > > tidy { "/tmp/rxtemp.rhythmyx": > age => ''2d'', > matches => ''*.tmp'', > recurse => ''true'', > } > > cron { "Rhythmyx restart": > command => "/etc/init.d/RhythmyxD restart", > ensure => "present", > user => "root", > minute => "00", > hour => "03", > weekday => "3", > } > > } > > The install.pp: > > ## > ## Install rhythmyx > ## > > class rhythmyx::install { > > $url = extlookup("url") > $rxsqlserver = extlookup("rxsqlserver") > > #package { ''compat-libgcc-296'': ensure => present } > #package { ''compat-libstdc++-296'': ensure => present } > #package { ''compat-glibc'': ensure => present } > > File { > owner => rhythmyx, > group => rhythmyx, > mode => 755, > require => User["rhythmyx"], > } > > file { "/opt/rhythmyx/": > ensure => "directory", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > exec { "rx-permissions-rhythmyx": > command => "chown -R rhythmyx:rhythmyx /opt/rhythmyx", > cwd => "/opt/", > require => [ File[''/opt/rhythmyx''], User[''rhythmyx''] ], > } > > file { "/etc/init.d/RhythmyxD": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxD", > owner => "root", > group => "root", > } > > ## > ## ALL OF THESE FILES NEED UPDATING WHEN INSTALLING. > ## > > file { "/opt/rhythmyx/Rhythmyx/rx_user.id": > ensure => "present", > source => "puppet:///modules/rhythmyx/rx_user.id", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/RhythmyxServer.ja": > ensure => "present", > source => "puppet:///modules/rhythmyx/RhythmyxServer.ja", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file {"/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/jbossweb-tomcat55.sar/server.xml": > ensure => "present", > content => template("rhythmyx/server.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file {"/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/lib/velocity-tools-1.4.jar": > ensure => "present", > source => "puppet:///modules/rhythmyx/velocity-tools-1.4.jar", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/rxconfig/Server/config.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/config.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file { "/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rx-ds.xml": > ensure => "present", > content => template("rhythmyx/rx-ds.xml.erb"), > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > file {"/opt/rhythmyx/Rhythmyx/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.xml": > ensure => "present", > source => "puppet:///modules/rhythmyx/server-beans.xml", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > ## Temporary fix until 6.6 > > file { "/opt/rhythmyx/Rhythmyx/rxW2Ktidy.properties": > ensure => "present", > source => "puppet:///modules/rhythmyx/rxW2Ktidy.properties", > require => [ User["rhythmyx"], Group["rhythmyx"] ], > } > > } > > Can anyone see anything I''ve overlooked, or suggest any reason that it would > demand the user exist BEFORE attempting to run the catalog? > > -- > 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. >