On 15.06.2012 21:19, Byron Appelt wrote:
I have an application package that needs to be installed on certain
application servers but before it can be installed, database access has
to be setup on a database server.

I have figured out how to export a resource on the app server that gets
collected and realized on the database server, but I cannot figure out
how to make the package on the app server depend on the exported
resource that gets realized on the database server.

I have tried something like this:

    @@numerex_percona::database_grant{ $::mysql_hostname:
    user => 'root',
    password => $::mysql_server_root_password,
    host => $::fqdn,
    before => Package['ublipgw'],
    }


But that doesn't work because Package['ublipgw'] is not on the server
where the database_grant is realized, but on the server where it is
exported. What is the best way to handle a situation like this?

Puppet doesn't support cross-node relationships. You'll have to manage that on a similar level as you are managing maintenance windows, that is by scheduling when changes to your manifests are actually applied to your nodes.

On a related note you need to make sure that the database_grant is able to manage its state without the other server being available, else you will run into troubles when you have transient problems with the other server or network later. In the simplest case a re-try might be sufficient, but, depending on your actual situation, might also be the worst thing that could happen.



Best Regards, David

--
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to