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 <tu2bg...@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 <apen...@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+unsubscr...@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.