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