You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2014/01/12 23:07:02 UTC

[2/5] git commit: Modify list_nodes method in the libvirt driver to it returns all nodes (including stopped ones).

Modify list_nodes method in the libvirt driver to it returns all nodes
(including stopped ones).

Also modify other methods to use domain uuid instead of domain id so those
methods also work on stopped nodes which don't have an id assigned.


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

Branch: refs/heads/trunk
Commit: 4aeb37c123515f38a06e93d4e5c2398bc6eda7b0
Parents: 37b8c8b
Author: Tomaz Muraus <to...@apache.org>
Authored: Sun Jan 12 22:01:32 2014 +0100
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sun Jan 12 22:01:32 2014 +0100

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


http://git-wip-us.apache.org/repos/asf/libcloud/blob/4aeb37c1/libcloud/compute/drivers/libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/libvirt_driver.py b/libcloud/compute/drivers/libvirt_driver.py
index ac1ec24..644902f 100644
--- a/libcloud/compute/drivers/libvirt_driver.py
+++ b/libcloud/compute/drivers/libvirt_driver.py
@@ -61,8 +61,7 @@ class LibvirtNodeDriver(NodeDriver):
         self.connection = libvirt.open(uri)
 
     def list_nodes(self):
-        domain_ids = self.connection.listDomainsID()
-        domains = [self.connection.lookupByID(id) for id in domain_ids]
+        domains = self.connection.listAllDomains()
 
         nodes = []
         for domain in domains:
@@ -78,9 +77,11 @@ class LibvirtNodeDriver(NodeDriver):
                      'types': self.connection.getType(),
                      'used_memory': memory / 1024, 'vcpu_count': vcpu_count,
                      'used_cpu_time': used_cpu_time}
+
             node = Node(id=domain.ID(), name=domain.name(), state=state,
                         public_ips=[], private_ips=[], driver=self,
                         extra=extra)
+            node._uuid = domain.UUIDString()  # we want to use a custom UUID
             nodes.append(node)
 
         return nodes
@@ -142,5 +143,8 @@ class LibvirtNodeDriver(NodeDriver):
         return domain.resume() == 0
 
     def _get_domain_for_node(self, node):
-        domain = self.connection.lookupByID(int(node.id))
+        """
+        Return libvirt domain object for the provided node.
+        """
+        domain = self.connection.lookupByUUIDString(node.uuid)
         return domain