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 <[email protected]> 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 <[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 <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 [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.
>
--
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.