Hello, I wanted to announce that there is now a StratusLab compute driver available (see below) and to ask a few questions that came up when developing the driver. Here are the questions, putting the more technical ones first: * Why is there no list_volumes() method in NodeDriver? StratusLab treats volumes as separate resources that can exist independently of a running virtual machine. Without a list_volumes() function, there really isn't a way to find existing volumes and then use them by attaching them to a node.
* Why is there no CPU (and/or core) fields in NodeSize? For the StratusLab driver, I've created a subclass with this information, but this seems like a strange quantity to be missing when defining machine resources. * An attribute is used in a Node to hold the state. For us, this is a dynamic quantity that can change independently of the Node object. Because of this, I've also subclassed Node and turned the state attribute into an active property (calling out to the server when the state is requested). This works, but is probably a bit misleading to users because a "cheap" attribute reference has been turned into an "expensive" function call. In deploy_node(), it seems that list_nodes() is used to get the updated state of running nodes. Wouldn't it be better to expose the state information via a method? * Why does list_nodes() not take a location? Our reference StratusLab cloud contains two federated site (locations). It would seem more reasonable to have list_nodes() follow the same pattern as the other list_*() functions and allow a way to get the nodes from a single location. * The StratusLab driver depends on our own python code as well as a few external libraries. As a 'third-party' driver this isn't currently a problem, but does this raise any issues if this code will eventually be contributed directly to Libcloud? Are there any constraints other than licence considerations? * When testing deploy_node(), I had problems with using RSA ssh keys. It seems that paramiko prefers (requires?) DSA keys. I didn't dig very deep with this as I was trying to get a demo to work, but has anyone else run into something similar? Cheers. Cal P.S. The driver is available from PyPi: https://pypi.python.org/pypi/stratuslab-libcloud-drivers The code in GitHub: https://github.com/StratusLab/libcloud-drivers And a news item with some usage information here: http://stratuslab.eu//news/2013/02/20/news-libcloud.html
smime.p7s
Description: S/MIME cryptographic signature
