You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/12/27 08:26:44 UTC
[02/11] libcloud git commit: Fix tags for deploy uncustomised image
Fix tags for deploy uncustomised image
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/e91e66c8
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/e91e66c8
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/e91e66c8
Branch: refs/heads/trunk
Commit: e91e66c857dccebcc106542a88169f91f27dd9ba
Parents: 80ff417
Author: Samuel Chong <sa...@gmail.com>
Authored: Wed Dec 21 13:27:21 2016 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Tue Dec 27 19:22:04 2016 +1100
----------------------------------------------------------------------
libcloud/compute/drivers/dimensiondata.py | 50 ++++++++++++--------------
1 file changed, 22 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/e91e66c8/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index ec30bc1..1ce61dc 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -3915,8 +3915,7 @@ class DimensionDataNodeDriver(NodeDriver):
ex_tagname_value_pairs is
mutually exclusive. Use one or other.
- :type ex_tagname_value_pairs: ``list`` of dictionary of tag name
- and value pair. Value can be None.
+ :type ex_tagname_value_pairs: ``dict``. Value can be None.
:keyword ex_tagname_value_pairs:
(Optional) up to 10 tag elements may be provided.
@@ -3926,8 +3925,7 @@ class DimensionDataNodeDriver(NodeDriver):
ex_tagname_value_pairs is
mutually exclusive. Use one or other.
- :type ex_tagname_value_pairs: ``list`` of dictionary of tag name
- and value pair. Value can be None.
+ :type ex_tagname_value_pairs: ``dict```.
:return: The newly created :class:`Node`.
:rtype: :class:`Node`
@@ -3945,30 +3943,30 @@ class DimensionDataNodeDriver(NodeDriver):
print("Warning: ex_is_started input value is invalid. Default"
"to True")
- server_elm = ET.Element('deployUncustomizedServer',
+ server_uncustomized_elm = ET.Element('deployUncustomizedServer',
{'xmlns': TYPES_URN})
- ET.SubElement(server_elm, "name").text = name
- ET.SubElement(server_elm, "description").text = ex_description
+ ET.SubElement(server_uncustomized_elm, "name").text = name
+ ET.SubElement(server_uncustomized_elm, "description").text = ex_description
image_id = self._image_to_image_id(image)
- ET.SubElement(server_elm, "imageId").text = image_id
+ ET.SubElement(server_uncustomized_elm, "imageId").text = image_id
if ex_cluster_id:
- dns_elm = ET.SubElement(server_elm, "primaryDns")
+ dns_elm = ET.SubElement(server_uncustomized_elm, "primaryDns")
dns_elm.text = ex_cluster_id
if ex_is_started is not None:
- ET.SubElement(server_elm, "start").text = str(
+ ET.SubElement(server_uncustomized_elm, "start").text = str(
ex_is_started).lower()
if ex_cpu_specification is not None:
- cpu = ET.SubElement(server_elm, "cpu")
+ cpu = ET.SubElement(server_uncustomized_elm, "cpu")
cpu.set('speed', ex_cpu_specification.performance)
cpu.set('count', str(ex_cpu_specification.cpu_count))
cpu.set('coresPerSocket',
str(ex_cpu_specification.cores_per_socket))
if ex_memory_gb is not None:
- ET.SubElement(server_elm, "memoryGb").text = str(ex_memory_gb)
+ ET.SubElement(server_uncustomized_elm, "memoryGb").text = str(ex_memory_gb)
if (ex_primary_nic_private_ipv4 is None and
ex_primary_nic_vlan is None):
@@ -3983,7 +3981,7 @@ class DimensionDataNodeDriver(NodeDriver):
"ex_primary_nic_vlan "
"be specified. Not both.")
- network_elm = ET.SubElement(server_elm, "networkInfo")
+ network_elm = ET.SubElement(server_uncustomized_elm, "networkInfo")
net_domain_id = self._network_domain_to_network_domain_id(
ex_network_domain)
@@ -4039,7 +4037,7 @@ class DimensionDataNodeDriver(NodeDriver):
if isinstance(ex_disks, (list, tuple)):
for disk in ex_disks:
- disk_elm = ET.SubElement(server_elm, 'disk')
+ disk_elm = ET.SubElement(server_uncustomized_elm, 'disk')
disk_elm.set('scsiId', disk.scsi_id)
disk_elm.set('speed', disk.speed)
elif ex_disks is not None:
@@ -4053,39 +4051,35 @@ class DimensionDataNodeDriver(NodeDriver):
# Tag by ID
if ex_tagid_value_pairs is not None:
- if not isinstance(ex_tagid_value_pairs, (list, tuple)):
+ if not isinstance(ex_tagid_value_pairs, dict):
raise ValueError(
- "ex_tagid_value_pairs should be a list of tag ID and "
- "value dictionary."
+ "ex_tagid_value_pairs must be a dictionary."
)
- tag_elem = ET.SubElement(server_elm, 'tagById')
-
for k, v in ex_tagid_value_pairs.items():
+ tag_elem = ET.SubElement(server_uncustomized_elm, 'tagById')
ET.SubElement(tag_elem, 'tagKeyId').text = k
if v is not None:
ET.SubElement(tag_elem, 'value').text = v
if ex_tagname_value_pairs is not None:
- if not isinstance(ex_tagname_value_pairs, (list, tuple)):
+ if not isinstance(ex_tagname_value_pairs, dict):
raise ValueError(
- "ex_tagname_value_pairs should be a list of tag ID and "
- "value dictionary."
+ "ex_tagname_value_pairs must be a dictionary"
)
- tag_elem = ET.SubElement(server_elm, 'tag')
-
- for k, v in ex_tagid_value_pairs.items():
- ET.SubElement(tag_elem, 'tagKeyName').text = k
+ for k, v in ex_tagname_value_pairs.items():
+ tag_name_elem = ET.SubElement(server_uncustomized_elm, 'tag')
+ ET.SubElement(tag_name_elem, 'tagKeyName').text = k
if v is not None:
- ET.SubElement(tag_elem, 'value').text = v
+ ET.SubElement(tag_name_elem, 'value').text = v
response = self.connection.request_with_orgId_api_2(
'server/deployUncustomizedServer',
method='POST',
- data=ET.tostring(server_elm)).object
+ data=ET.tostring(server_uncustomized_elm)).object
node_id = None
for info in findall(response, 'info', TYPES_URN):