[Puppet Users] Resource ordering problem...
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
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...
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...
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...
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
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.