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" endThe 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.