jmgnc commented on issue #1419: ec2 driver does not support strings for size 
and image parameters
URL: https://github.com/apache/libcloud/issues/1419#issuecomment-606320053
 
 
   The biggest issue I see with this is that GCP does not present all of the 
images as part of list_images  (current count is 80 images, and this clearly 
doesn't include images that are available in the marketplace and the like).  If 
drivers don't present these instances, and it isn't defined HOW to instantiate 
a NodeImage or NodeSize class, then saying you must use an instance isn't 
helpful.
   
   Also, GCP does not implement get_image:
   ```
   >>> drv.get_image('FreeBSD')
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File 
"/Users/jmg/work/openc2-aws-actuator/p/lib/python3.6/site-packages/libcloud/compute/base.py",
 line 1343, in get_image
       'get_image not implemented for this driver')
   NotImplementedError: get_image not implemented for this driver
   ```
   
   So, there is no way to create a NodeImage other than the 80 that GCP 
provide, and that is problematic.
   
   In fact, the docs for NodeImage pretty much tell you NOT to create your own 
(from https://libcloud.apache.org/apidocs/0.4.2/libcloud.base.NodeImage.html):
   ```
   NodeImage objects are typically returned by the driver for the cloud 
provider in response to the list_images function
   
   >>> from libcloud.drivers.dummy import DummyNodeDriver
   >>> driver = DummyNodeDriver(0)
   >>> image = driver.list_images()[0]
   >>> image.name
   'Ubuntu 9.10'
   Apart from name and id, there is no further standard information; other 
parameters are stored in a driver specific "extra" variable
   
   When creating a node, a node image should be given as an argument to the 
create_node function to decide which OS image to use.
   
   >>> node = driver.create_node(image=image)
   ```
   
   I'll also note that these docs only say that a NodeImage *SHOULD* be given 
instead of *MUST* be given.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to