XAPI Host Plugins: Difference between revisions
From Xen
Jump to navigationJump to search
No edit summary |
Lars.kurth (talk | contribs) No edit summary |
||
Line 28: | Line 28: | ||
</pre> |
</pre> |
||
[[Category: |
[[Category:XAPI Devel]] |
||
[[Category:OpenStack]] |
[[Category:OpenStack]] |
Latest revision as of 12:11, 11 July 2013
XAPI Host Plugins
"The XenAPI has an extension mechanism that allows one to install a Python script (usually, but it can be any executable) on the host side, and then call that through the XenAPI." - http://wiki.openstack.org/XenAPI
Writing a XenAPI plugin in Python is simplified by using the XenAPIPlugin module, which is by default installed in dom0 in XCP. Below is a simple XenAPI plugin which reverses a string passed to it:
#!/usr/bin/python import XenAPIPlugin def main(session, args): try: data = args["data"] return data[::-1] except KeyError: raise RuntimeError("No argument found with key 'data'.") if __name__ == "__main__": XenAPIPlugin.dispatch({"main": main})
Save this code to /etc/xapi.d/plugins/reverse and make it executable. The plugin can then be run from the CLI like so:
# xe host-call-plugin host-uuid=<host-uuid> plugin=reverse fn=main args:data="hello, world" dlrow ,olleh