XAPI Host Plugins
From Xen
Jump to navigationJump to search
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 data argument found.") 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