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 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.

Reply via email to