diff options
Diffstat (limited to 'nova/virt')
| -rw-r--r-- | nova/virt/driver.py | 13 | ||||
| -rw-r--r-- | nova/virt/libvirt/connection.py | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/nova/virt/driver.py b/nova/virt/driver.py index 821455b45..20c41ca9f 100644 --- a/nova/virt/driver.py +++ b/nova/virt/driver.py @@ -122,6 +122,19 @@ class ComputeDriver(object): # TODO(Vek): Need to pass context in for access to auth_token raise NotImplementedError() + def get_num_instances(self): + """Return the total number of virtual machines. + + Return the number of virtual machines that the hypervisor knows + about. + + :note This implementation works for all drivers, but it is + not particularly efficient. Maintainers of the virt drivers are + encouraged to override this method with something more + efficient. + """ + return len(self.list_instances()) + def instance_exists(self, instance_id): """Checks existence of an instance on the host. diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py index c3bfdedda..7043239cb 100644 --- a/nova/virt/libvirt/connection.py +++ b/nova/virt/libvirt/connection.py @@ -279,6 +279,10 @@ class LibvirtConnection(driver.ComputeDriver): else: return libvirt.openAuth(uri, auth, 0) + def get_num_instances(self): + """Efficient override of base instance_exists method.""" + return self._conn.numOfDomains() + def instance_exists(self, instance_id): """Efficient override of base instance_exists method.""" try: |
