X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=ext%2Faction_helpers%2Fpython%2Fkwilczynski%2FREADME.markdown;fp=ext%2Faction_helpers%2Fpython%2Fkwilczynski%2FREADME.markdown;h=d73f3fb2076cddb50c7b50ba0b195a655e57d5ce;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/ext/action_helpers/python/kwilczynski/README.markdown b/ext/action_helpers/python/kwilczynski/README.markdown new file mode 100644 index 0000000..d73f3fb --- /dev/null +++ b/ext/action_helpers/python/kwilczynski/README.markdown @@ -0,0 +1,46 @@ +A simple helper to assist with writing MCollective actions in Python. + +Given an action as below: + +
+action "echo" do
+   validate :message, String
+
+   implemented_by "/tmp/echo.py"
+end
+
+ +The following Python script will implement the echo action externally +replying with _message_ and current _time_. + +
+#!/usr/bin/env python
+
+import sys
+import time
+import mcollective_action as mc
+
+if __name__ == '__main__':
+    mc = mc.MCollectiveAction()
+    request = mc.request()
+    mc.message = request['data']['message']
+    mc.time = time.strftime('%c')
+    mc.info("Some text to info log in the server")
+
+    sys.exit(0)
+
+ +Calling it with _mco rpc_ results in: + +
+$ mco rpc test echo message="Hello World"
+Determining the amount of hosts matching filter for 2 seconds .... 1
+
+ * [ ============================================================> ] 1 / 1
+
+
+host.example.com              : OK
+    {:message=>"Hello World", :time=>"Tue Mar 15 19:20:53 +0000 2011"}
+
+ +This implementation was successfully tested with Python 2.4 and 2.6.