On Tue, Sep 11, 2012 at 2:16 PM, Kayode Odeyemi <drey...@gmail.com> wrote: >> That doesn't actually map super-well to the design of Puppet, since it >> doesn't instantly react to change, it reacts on a schedule. You can >> obviously make the latency low by running all the time, but it is >> still non-zero. >> >> The things you want to do are also not done by talking directly to the >> agent - you do those by having the catalog that is compiled for the >> node assert the things you want. So, you are really looking for a way >> to configure catalog compilation to do what you want, not to talk to >> the agent. >> >> Take a look at the documentation on https://docs.puppetlabs.com/ >> around the DSL and modules to figure that out; the best match for what >> you want is an ENC, or "External Node Classifier", which you would >> have to provide yourself. > > I've heard this over-and-over. It just doesn't sink. I always see ENC to be > useful > for getting out information and not modifying configuration or executing > actions.
The flow of data would be this: Your UI updates the ENC. The ENC informs the Puppet master what classes to include. The master sends a catalog to the agent. The agent acts on that information. (eg: start or stop a service) You could remotely execute `puppet resource` or `puppet apply` to shortcut some of this, but the basic design is that you build a set of manifests and modules that define "functionality", and then use something - our DSL, or an ENC - to determine which functionality applies to which machine. >> All that said, if you really want *instant* results, you want to look >> at MCollective: >> http://docs.puppetlabs.com/#mcollectivemcollective > > I just figured out the architecture. MCollective + ActiveMQ. > > So for each of the scenarios I want to create, I've decided to have a PHP > code > that will call the Ruby client, which will then send the message to the > broker. > > Because filters are applied, this helps to identify the right node that > matches the filters > in the message. Specific agent on the selected node can then be triggered > for execution. That sounds like a reasonable model. The Live Management facilities we provide in Puppet Enterprise are built around the same basic architecture, so we know that works well in the real world. -- Daniel Pittman ⎋ Puppet Labs Developer – http://puppetlabs.com ♲ Made with 100 percent post-consumer electrons -- 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.