README.md in marionette-0.0.13 vs README.md in marionette-0.0.14
- old
+ new
@@ -1,17 +1,16 @@
Headstartapp::Marionette - ZMQ connection to puppet master
============================================================
-Marionette connects a headstartapp server instance (puppet node) to its
-master and executes puppet runs on demand. Marionette uses fast and lightweight
-0MQ <http://zeromq.org> messaging system.
+Marionette connects a puppet node to its master and executes puppet runs on demand.
+Marionette uses fast and lightweight 0MQ <http://zeromq.org> messaging system.
-* From version 0.0.12 onward, Puppet.message returns an array and includes system command results.
+* From version 0.0.14 onward, added methods: puppet!, facter! and run!
* From version 0.0.9 onward, Marionette.setup automatically ran at connect.
* From version 0.0.8 onward, use puppet agent for puppet runs
* From version 0.0.7 onward, talk replaces send and receive.
-* From version 0.0.7 onward, marionette reconnects after n-poll attempts (10 by default).
+* From version 0.0.7 onward, marionette reconnects after n-poll attempts (10 by default @ 100 millisecond interval).
* From version 0.0.6 onward, marionette polls before receives.
Installation
------------
@@ -45,21 +44,30 @@
Ruby:
require 'rubygems'
require 'marionette'
+
+ # With this option, ZMQ tries sending every 1 sec if recipient unavailable.
+ ZMQ::RECOVERY_IVL = 1
puppet = HeadStartApp::Marionette::Connect.new(:uri=>"192.168.1.1:5555) puppet
master = HeadStartApp::Marionette::Connect.new(:uri=>"192.168.1.1:5555").master
- message = {:run=>[:system,:facter,:puppet],:system=>{:command=>"echo 'test @ #{Time.now}' > /tmp/test.out"}}
- master.talk messagee
- # Results:
- #
- # 1) on the pupet, /tmp/test.out contains "test #{Time.now}"
- # 2) returns puppet's facts as a hash.
- # 3) completes a puppet run.
-
+ # Passing this argument polls node till reply is available (default = false).
+ # By default the master polls for 1 second.
+ poll_till_reply_available = true
+
+ # Executes a puppet run and returns output
+ puts master.puppet!(poll_till_reply_available)
+
+ # Executes facter and returns it as a hash
+ puts master.facter!(poll_till_reply_available)
+
+ # Executes an ad hoc system command
+ # Result on the node: /tmp/test.out contains "test #{Time.now}"
+ cmd = "echo 'test @ #{Time.now}' > /tmp/test.out && cat /tmp/test.out"
+ puts master.run!(cmd, poll_till_reply_available)
CLI:
# To start marionette as a daemon