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 <[email protected]> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.