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 2015/12/22 00:05:02 UTC

[1/3] libcloud git commit: linting patches

Repository: libcloud
Updated Branches:
  refs/heads/trunk f856da991 -> e943be82d


linting patches


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/97c88185
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/97c88185
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/97c88185

Branch: refs/heads/trunk
Commit: 97c88185a1b7ea94d2bb7eb4f5d4917831df81db
Parents: 6add1ee
Author: anthony-shaw <an...@gmail.com>
Authored: Mon Dec 21 20:35:45 2015 +1100
Committer: anthony-shaw <an...@gmail.com>
Committed: Tue Dec 22 10:04:28 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/dimensiondata.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/97c88185/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index fa6ee4e..cbe1530 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -108,7 +108,8 @@ class DimensionDataNodeDriver(NodeDriver):
 
         :keyword    ex_network_domain:  Network Domain to create the node
                                         (required unless using network)
-        :type       ex_network_domain: :class:`DimensionDataNetworkDomain` or ``str``
+        :type       ex_network_domain: :class:`DimensionDataNetworkDomain`
+                                        or ``str``
 
         :keyword    ex_vlan:  VLAN to create the node within
                                         (required unless using network)
@@ -137,9 +138,9 @@ class DimensionDataNodeDriver(NodeDriver):
             password = auth_obj.password
 
         if not isinstance(ex_network, DimensionDataNetwork) \
-        and not isinstance(ex_network, str):
+            and not isinstance(ex_network, str):
             if not isinstance(ex_network_domain, DimensionDataNetworkDomain) \
-            and not isinstance(ex_network_domain, str):
+                and not isinstance(ex_network_domain, str):
                 raise ValueError('ex_network must be of DimensionDataNetwork'
                                  ' or str '
                                  'type or ex_network_domain must be of '


[2/3] libcloud git commit: more user friendly kwargs for creating nodes. Allow str to be passed for vlan, network or network domain, as well as the auth (password) arg.

Posted by an...@apache.org.
more user friendly kwargs for creating nodes. Allow str to be passed for vlan, network or network domain, as well as the auth (password) arg.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/6add1ee9
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/6add1ee9
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/6add1ee9

Branch: refs/heads/trunk
Commit: 6add1ee9ef3b991115d67796e49b165cc18ab378
Parents: f856da9
Author: anthony-shaw <an...@gmail.com>
Authored: Tue Dec 15 20:35:45 2015 +1100
Committer: anthony-shaw <an...@gmail.com>
Committed: Tue Dec 22 10:04:28 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/dimensiondata.py | 51 ++++++++++++++++++--------
 1 file changed, 35 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/6add1ee9/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index 9f22e31..fa6ee4e 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -21,7 +21,7 @@ try:
 except ImportError:
     from xml.etree import ElementTree as ET
 
-from libcloud.compute.base import NodeDriver, Node
+from libcloud.compute.base import NodeDriver, Node, NodeAuthPassword
 from libcloud.compute.base import NodeSize, NodeImage, NodeLocation
 from libcloud.common.dimensiondata import (DimensionDataConnection,
                                            DimensionDataStatus)
@@ -97,22 +97,22 @@ class DimensionDataNodeDriver(NodeDriver):
 
         :keyword    auth:   Initial authentication information for the
                             node (required)
-        :type       auth:   :class:`NodeAuthPassword`
+        :type       auth:   :class:`NodeAuthPassword` or ``str``
 
         :keyword    ex_description:  description for this node (required)
         :type       ex_description:  ``str``
 
         :keyword    ex_network:  Network to create the node within (required,
                                 unless using Network Domain)
-        :type       ex_network: :class:`DimensionDataNetwork`
+        :type       ex_network: :class:`DimensionDataNetwork` or ``str``
 
         :keyword    ex_network_domain:  Network Domain to create the node
                                         (required unless using network)
-        :type       ex_network_domain: :class:`DimensionDataNetworkDomain`
+        :type       ex_network_domain: :class:`DimensionDataNetworkDomain` or ``str``
 
         :keyword    ex_vlan:  VLAN to create the node within
                                         (required unless using network)
-        :type       ex_vlan: :class:`DimensionDataVlan`
+        :type       ex_vlan: :class:`DimensionDataVlan` or ``str``
 
         :keyword    ex_memory_gb:  The amount of memory in GB for the server
         :type       ex_memory_gb: ``int``
@@ -128,16 +128,22 @@ class DimensionDataNodeDriver(NodeDriver):
         :return: The newly created :class:`Node`.
         :rtype: :class:`Node`
         """
-
         password = None
-        auth_obj = self._get_and_check_auth(auth)
-        password = auth_obj.password
-
-        if not isinstance(ex_network, DimensionDataNetwork):
-            if not isinstance(ex_network_domain, DimensionDataNetworkDomain):
-                raise ValueError('ex_network must be of DimensionDataNetwork '
+        if isinstance(auth, str):
+            auth_obj = NodeAuthPassword(password=auth)
+            password = auth
+        else:
+            auth_obj = self._get_and_check_auth(auth)
+            password = auth_obj.password
+
+        if not isinstance(ex_network, DimensionDataNetwork) \
+        and not isinstance(ex_network, str):
+            if not isinstance(ex_network_domain, DimensionDataNetworkDomain) \
+            and not isinstance(ex_network_domain, str):
+                raise ValueError('ex_network must be of DimensionDataNetwork'
+                                 ' or str '
                                  'type or ex_network_domain must be of '
-                                 'DimensionDataNetworkDomain type')
+                                 'DimensionDataNetworkDomain type or str')
 
         server_elm = ET.Element('deployServer', {'xmlns': TYPES_URN})
         ET.SubElement(server_elm, "name").text = name
@@ -158,13 +164,26 @@ class DimensionDataNodeDriver(NodeDriver):
 
         if ex_network is not None:
             network_elm = ET.SubElement(server_elm, "network")
-            ET.SubElement(network_elm, "networkId").text = ex_network.id
+            if isinstance(ex_network, DimensionDataNetwork):
+                ET.SubElement(network_elm, "networkId").text = ex_network.id
+            else:
+                ET.SubElement(network_elm, "networkId").text = ex_network
         if ex_network_domain is not None:
+            network_domain_id = None
+            if isinstance(ex_network_domain, DimensionDataNetworkDomain):
+                network_domain_id = ex_network_domain.id
+            else:
+                network_domain_id = ex_network_domain
             network_inf_elm = ET.SubElement(server_elm, "networkInfo",
                                             {'networkDomainId':
-                                             ex_network_domain.id})
+                                             network_domain_id})
+            vlan_id = None
+            if isinstance(ex_vlan, DimensionDataVlan):
+                vlan_id = ex_vlan.id
+            else:
+                vlan_id = ex_vlan
             pri_nic = ET.SubElement(network_inf_elm, "primaryNic")
-            ET.SubElement(pri_nic, "vlanId").text = ex_vlan.id
+            ET.SubElement(pri_nic, "vlanId").text = vlan_id
 
         response = self.connection.request_with_orgId_api_2(
             'server/deployServer',


[3/3] libcloud git commit: isinstance accepts tuples which is much cleaner Closes #664

Posted by an...@apache.org.
isinstance accepts tuples which is much cleaner
Closes #664


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/e943be82
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/e943be82
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/e943be82

Branch: refs/heads/trunk
Commit: e943be82dcdde63459217f26782290bd069c2809
Parents: 97c8818
Author: anthony-shaw <an...@gmail.com>
Authored: Mon Dec 21 20:35:45 2015 +1100
Committer: anthony-shaw <an...@gmail.com>
Committed: Tue Dec 22 10:04:35 2015 +1100

----------------------------------------------------------------------
 libcloud/compute/drivers/dimensiondata.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/e943be82/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py
index cbe1530..edc85a2 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -137,14 +137,14 @@ class DimensionDataNodeDriver(NodeDriver):
             auth_obj = self._get_and_check_auth(auth)
             password = auth_obj.password
 
-        if not isinstance(ex_network, DimensionDataNetwork) \
-            and not isinstance(ex_network, str):
-            if not isinstance(ex_network_domain, DimensionDataNetworkDomain) \
-                and not isinstance(ex_network_domain, str):
-                raise ValueError('ex_network must be of DimensionDataNetwork'
-                                 ' or str '
-                                 'type or ex_network_domain must be of '
-                                 'DimensionDataNetworkDomain type or str')
+        if not isinstance(ex_network, (DimensionDataNetwork, str)):
+            if not isinstance(ex_network_domain,
+                              (DimensionDataNetworkDomain, str)):
+                raise ValueError(
+                    'ex_network must be of DimensionDataNetwork'
+                    ' or str '
+                    'type or ex_network_domain must be of '
+                    'DimensionDataNetworkDomain type or str')
 
         server_elm = ET.Element('deployServer', {'xmlns': TYPES_URN})
         ET.SubElement(server_elm, "name").text = name