Node Manager API Documentation (onelab)
The PlanetLab Node Manager API (NMAPI) is the interface through which the slices access the Node API.
Authentication for NM operations is based on the identity of the connecting slice. For slices whose roles are defined as 'nm-controller', the target slice must be listed delegated and as controlled by the calling slice.
The NM XMLRPC server listens locally on every PlanetLab node at http://localhost:812.
The NM XMLRPC server can be accessed remotely using an SSH connection through the nm-controller account. Rather than a standard shell, a special command is run that forwards all standard input to the local XMLRPC server, essentially XML-RPC over ssh.
The nm-controller slice is given a stub account such that it can be accessed over ssh. So rather than logging into NM server listens locally on every PlanetLab node at http://localhost:812.
After this, the controller owner, should both add users and nodes to this slice. As well, the controller slice is created using the standard PlanetLab and NM mechanism. So, wait at least 15 minutes before attempting to access the controller slice on any node.
Subsequently, slices that will be delegated to this controller will be registered at PLC. An example follows.
After the slice is registered with PLC, and your application has the Ticket, the last step is to redeem the ticket by presenting it to the NM through the nm-controller account. The following code formats the message correctly.
Finally, this message must be sent to the NM using the controller account. It should be possible to create a program that creates the ssh connection or to use a library that does this automatically such as: pyXMLRPCssh
Or, you could use something much simpler. Assuming the output from dumps() above, is saved to a file called ticket.txt, you could run a command like:
The following is a stub to use as you would use the current xmlrpclib.Server() object, but redirects the connection of SSH.