[Puppet Users] Resource ordering problem...

2013-01-31 Thread Gavin Williams
Afternoon all

I'm sure this is probably a nice n easy one, but I can't work it out for 
the life of me... 

Anyhow, I've got the following code:
  # Load db yaml data
  $db_details = loadyaml('/etc/puppet/data/databases.yaml')

  notify{"DB Details loaded... About to parse.":}
  ->
  notify{"DB Details = ${db_details}.":}

  #$hostname = lookupvar('{hostname}')
  # Parse data and filter to only primary databses for this server
  $databases = parse_databases($db_details, 'database_primay_server', 
$::hostname)

  notify{"Parsed db details, creating resources.":}
  ->
  notify{"Databases = ${databases}":}

  # Create required resources...
  if $::oracle_netapp {
notify{"\$::oracle_netapp is true.":}
create_resources( act::env::oracle::instance::netapp, $databases)
  }

Parse_databases() is a custom function within one of my modules.. 

The problem I've got is that parse_databases appears to be running before 
loadyaml...
Example client run: 
Notice: DB Details loaded... About to parse.
Notice: /Stage[main]/Act::Server::Linux::Db::Oracle/Notify[DB Details 
loaded... About to parse.]/message: defined 'message' as 'DB Details 
loaded... About to parse.'
Notice: Parsed db details, creating resources.
Notice: /Stage[main]/Act::Server::Linux::Db::Oracle/Notify[Parsed db 
details, creating resources.]/message: defined 'message' as 'Parsed db 
details, creating resources.'
Notice: Databases =
Notice: /Stage[main]/Act::Server::Linux::Db::Oracle/Notify[Databases = 
]/message: defined 'message' as 'Databases = '
Notice: $::oracle_netapp is true.
Notice: /Stage[main]/Act::Server::Linux::Db::Oracle/Notify[$::oracle_netapp 
is true.]/message: defined 'message' as '$::oracle_netapp is true.'
Notice: DB Details = 
PUTEST01oracle_version11.2.0.3netapp_primary_controlleract-star-nactl02volumesoractrlsize1goradatasize100goraarchsnapscheduleminutes0which-hours0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23days0weeks0which-minutes0hours36size50gnetapp_snapmirror_controlleract-bun-nactl02database_primary_serveract-star-db05.
Notice: /Stage[main]/Act::Server::Linux::Db::Oracle/Notify[DB Details = 
PUTEST01oracle_version11.2.0.3netapp_primary_controlleract-star-nactl02volumesoractrlsize1goradatasize100goraarchsnapscheduleminutes0which-hours0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23days0weeks0which-minutes0hours36size50gnetapp_snapmirror_controlleract-bun-nactl02database_primary_serveract-star-db05.]/message:
 
defined 'message' as 'DB Details = 
PUTEST01oracle_version11.2.0.3netapp_primary_controlleract-star-nactl02volumesoractrlsize1goradatasize100goraarchsnapscheduleminutes0which-hours0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23days0weeks0which-minutes0hours36size50gnetapp_snapmirror_controlleract-bun-nactl02database_primary_serveract-star-db05.'

So how can I get the ordering right???

Cheers
Gavin 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




[Puppet Users] Resource ordering problem

2013-09-09 Thread Brian Lalor
I'm struggling once again with resource ordering with Puppet.

I'm using Puppet 3.2.4, v3.0.0 of the Puppetlabs RabbitMQ module and v0.7.5 of 
the Sensu module.  I'm trying to compose a system from these modules that runs 
the Sensu server, as well as the RabbitMQ server.  I have the following 
relationships defined:

Service['rabbitmq-server'] -> Service['sensu-client']
Service['rabbitmq-server'] -> Service['sensu-api']
Service['rabbitmq-server'] -> Service['sensu-dashboard']
Service['rabbitmq-server'] -> Service['sensu-server']

However I'm consistently finding that Puppet is attempting to start 
Service[sensu-api] before Service[rabbitmq-server]:

Notice: 
/Stage[main]/Sensu::Service::Server/Service[sensu-dashboard]/ensure: ensure 
changed 'stopped' to 'running'
Info: /Stage[main]/Sensu::Service::Server/Service[sensu-dashboard]: 
Unscheduling refresh on Service[sensu-dashboard]
Error: Could not start Service[sensu-api]: Execution of 
'/etc/init.d/sensu-api start' returned 1: 
Error: /Stage[main]/Sensu::Service::Server/Service[sensu-api]/ensure: 
change from stopped to running failed: Could not start Service[sensu-api]: 
Execution of '/etc/init.d/sensu-api start' returned 1: 
Notice: /Stage[main]/Rabbitmq::Service/Service[rabbitmq-server]/ensure: 
ensure changed 'stopped' to 'running'
Info: /Stage[main]/Rabbitmq::Service/Service[rabbitmq-server]: Unscheduling 
refresh on Service[rabbitmq-server]
Notice: /Stage[main]/Sensu::Service::Server/Service[sensu-server]/ensure: 
ensure changed 'stopped' to 'running'
Info: /Stage[main]/Sensu::Service::Server/Service[sensu-server]: 
Unscheduling refresh on Service[sensu-server]
Info: Class[Sensu::Service::Server]: Scheduling refresh of 
Class[Sensu::Service::Client]
Info: Class[Sensu::Service::Client]: Scheduling refresh of 
Service[sensu-client]
Notice: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Dependency Service[sensu-api] has failures: true
Warning: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Skipping because of failed dependencies
Notice: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Triggered 'refresh' from 1 events
Notice: /Stage[main]/Sensu/Anchor[sensu::end]: Dependency 
Service[sensu-api] has failures: true
Warning: /Stage[main]/Sensu/Anchor[sensu::end]: Skipping because of failed 
dependencies

I've taken this down to the lowest-level resource and it's still failing.  What 
am I doing wrong?

Thanks,
Brian

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Resource ordering problem...

2013-01-31 Thread Matthew Burgess
On Thu, Jan 31, 2013 at 5:52 PM, Gavin Williams  wrote:
> Afternoon all
>
> I'm sure this is probably a nice n easy one, but I can't work it out for the
> life of me...
>
> Anyhow, I've got the following code:
>   # Load db yaml data
>   $db_details = loadyaml('/etc/puppet/data/databases.yaml')
>
>   notify{"DB Details loaded... About to parse.":}
>   ->
>   notify{"DB Details = ${db_details}.":}
>
>   #$hostname = lookupvar('{hostname}')
>   # Parse data and filter to only primary databses for this server
>   $databases = parse_databases($db_details, 'database_primay_server',
> $::hostname)
>
>   notify{"Parsed db details, creating resources.":}
>   ->
>   notify{"Databases = ${databases}":}
>
>   # Create required resources...
>   if $::oracle_netapp {
> notify{"\$::oracle_netapp is true.":}
> create_resources( act::env::oracle::instance::netapp, $databases)
>   }
>
> Parse_databases() is a custom function within one of my modules..

And I assume that the module that defines/declares parse_databases()
is 'include'd just above this snippet?  Not that I'm sure it will
change things.  If not...

As $db_details is only used by the parse_databases() function (in this
snippet), is it possible to move the call to loadyaml() within the
function itself?  I've assumed you need $db_details further on outside
of the code you showed here, but thought I'd suggest the bleeding
obvious, just in case :-)

Thanks,

Matt.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Puppet Users] Resource ordering problem...

2013-01-31 Thread fatmcgav
Matt

Yeh, the function is defined within this module...

I'll give moving the loadyaml into parse_databases a go when back in the
office in the morning...

Any other ideas welcome though...

Cheers
Gavin
On Jan 31, 2013 8:43 PM, "Matthew Burgess" 
wrote:

> On Thu, Jan 31, 2013 at 5:52 PM, Gavin Williams 
> wrote:
> > Afternoon all
> >
> > I'm sure this is probably a nice n easy one, but I can't work it out for
> the
> > life of me...
> >
> > Anyhow, I've got the following code:
> >   # Load db yaml data
> >   $db_details = loadyaml('/etc/puppet/data/databases.yaml')
> >
> >   notify{"DB Details loaded... About to parse.":}
> >   ->
> >   notify{"DB Details = ${db_details}.":}
> >
> >   #$hostname = lookupvar('{hostname}')
> >   # Parse data and filter to only primary databses for this server
> >   $databases = parse_databases($db_details, 'database_primay_server',
> > $::hostname)
> >
> >   notify{"Parsed db details, creating resources.":}
> >   ->
> >   notify{"Databases = ${databases}":}
> >
> >   # Create required resources...
> >   if $::oracle_netapp {
> > notify{"\$::oracle_netapp is true.":}
> > create_resources( act::env::oracle::instance::netapp, $databases)
> >   }
> >
> > Parse_databases() is a custom function within one of my modules..
>
> And I assume that the module that defines/declares parse_databases()
> is 'include'd just above this snippet?  Not that I'm sure it will
> change things.  If not...
>
> As $db_details is only used by the parse_databases() function (in this
> snippet), is it possible to move the call to loadyaml() within the
> function itself?  I've assumed you need $db_details further on outside
> of the code you showed here, but thought I'd suggest the bleeding
> obvious, just in case :-)
>
> Thanks,
>
> Matt.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Puppet Users] Resource ordering problem...

2013-01-31 Thread joe
Nothing about your notify resources is actually telling you what's going on 
with the variables. Just because the details notify happens last, doesn't 
mean that the variable was evaluated at that time. Variable assignment is 
parse-order dependent. I'd look to make sure your custom function actually 
works.

On Thursday, January 31, 2013 1:48:25 PM UTC-7, Gavin Williams wrote:
>
> Matt
>
> Yeh, the function is defined within this module...
>
> I'll give moving the loadyaml into parse_databases a go when back in the 
> office in the morning...
>
> Any other ideas welcome though...
>
> Cheers 
> Gavin
> On Jan 31, 2013 8:43 PM, "Matthew Burgess" 
> > 
> wrote:
>
>> On Thu, Jan 31, 2013 at 5:52 PM, Gavin Williams 
>> > 
>> wrote:
>> > Afternoon all
>> >
>> > I'm sure this is probably a nice n easy one, but I can't work it out 
>> for the
>> > life of me...
>> >
>> > Anyhow, I've got the following code:
>> >   # Load db yaml data
>> >   $db_details = loadyaml('/etc/puppet/data/databases.yaml')
>> >
>> >   notify{"DB Details loaded... About to parse.":}
>> >   ->
>> >   notify{"DB Details = ${db_details}.":}
>> >
>> >   #$hostname = lookupvar('{hostname}')
>> >   # Parse data and filter to only primary databses for this server
>> >   $databases = parse_databases($db_details, 'database_primay_server',
>> > $::hostname)
>> >
>> >   notify{"Parsed db details, creating resources.":}
>> >   ->
>> >   notify{"Databases = ${databases}":}
>> >
>> >   # Create required resources...
>> >   if $::oracle_netapp {
>> > notify{"\$::oracle_netapp is true.":}
>> > create_resources( act::env::oracle::instance::netapp, $databases)
>> >   }
>> >
>> > Parse_databases() is a custom function within one of my modules..
>>
>> And I assume that the module that defines/declares parse_databases()
>> is 'include'd just above this snippet?  Not that I'm sure it will
>> change things.  If not...
>>
>> As $db_details is only used by the parse_databases() function (in this
>> snippet), is it possible to move the call to loadyaml() within the
>> function itself?  I've assumed you need $db_details further on outside
>> of the code you showed here, but thought I'd suggest the bleeding
>> obvious, just in case :-)
>>
>> Thanks,
>>
>> Matt.
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to puppet-users...@googlegroups.com .
>> To post to this group, send email to puppet...@googlegroups.com
>> .
>> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>  

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Puppet Users] Resource ordering problem

2013-09-09 Thread Brian Lalor
On Sep 9, 2013, at 10:02 AM, Brian Lalor  wrote:

> I'm struggling once again with resource ordering with Puppet.

*sigh* Looks like the 

if defined(Class['rabbitmq::service']) { … }

guard I've got around these relationships is wrong.  

It's gonna be that kind of week, isn't it? :-(

Sorry for the noise, everyone!

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.