For those of you have used vanilla Xen will know about the xm command and what it does. While I’ve found in a few places people are saying the xm command has been replaced with xe in XenServer – which is sort of true. The xe should used whenever you can, as it is ensuring all data in the DB is kept in tact, etc.
If you really want to get access to xm (which I do not recommend unless you really know what you are doing), you can use xl on a XenServer machine.
This should only be use as a visibility tool, and should not be used to make any modifications.
#############################
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
If you really want to get access to xm (which I do not recommend unless you really know what you are doing), you can use xl on a XenServer machine.
This should only be use as a visibility tool, and should not be used to make any modifications.
#############################
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