@@ -1106,7 +1106,7 @@ def _to_absolute(el):
11061106
11071107 return {"rate" : rate , "absolute" : absolute }
11081108
1109- def create_image (self , node , name , description = None , reboot = True ):
1109+ def create_image (self , node , name , description = None ):
11101110 """Create an image for node.
11111111
11121112 @inherits: :class:`NodeDriver.create_image`
@@ -1802,14 +1802,22 @@ def create_image(
18021802 :param name: The name for the new image.
18031803 :type name: ``str``
18041804
1805+ :param description: A description for the new image. Stored in the
1806+ image metadata because the Compute API does not
1807+ provide a dedicated description field.
1808+ :type description: ``str``
1809+
18051810 :param metadata: Key and value pairs for metadata.
18061811 :type metadata: ``dict``
18071812
18081813 :rtype: :class:`NodeImage`
18091814 """
18101815 optional_params = {}
1811- if metadata :
1812- optional_params ["metadata" ] = metadata
1816+ image_metadata = dict (metadata ) if metadata else {}
1817+ if description is not None :
1818+ image_metadata ["description" ] = description
1819+ if image_metadata :
1820+ optional_params ["metadata" ] = image_metadata
18131821 resp = self ._node_action (node , "createImage" , name = name , ** optional_params )
18141822 image_id = self ._extract_image_id_from_url (resp .headers ["location" ])
18151823 return self .get_image (image_id = image_id )
0 commit comments