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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to