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.