From ef66e75b77de81c6b5bd6c2ad7b380d033efbc21 Mon Sep 17 00:00:00 2001
From: licanwei
Date: Fri, 2 Nov 2018 11:58:40 +0800
Subject: [PATCH] optimize get_instances_by_node
We can set host filed in search_opts.
refer to:
https://developer.openstack.org/api-ref/compute/?expanded=list-servers-detail#list-servers
Change-Id: I36b27167d7223f3bf6bb05995210af41ad01fc6d
---
watcher/common/nova_helper.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/watcher/common/nova_helper.py b/watcher/common/nova_helper.py
index ca6408b92..18701f7c1 100644
--- a/watcher/common/nova_helper.py
+++ b/watcher/common/nova_helper.py
@@ -705,9 +705,9 @@ class NovaHelper(object):
def get_instances_by_node(self, host):
return [instance for instance in
- self.nova.servers.list(search_opts={"all_tenants": True},
- limit=-1)
- if self.get_hostname(instance) == host]
+ self.nova.servers.list(search_opts={"all_tenants": True,
+ "host": host},
+ limit=-1)]
def get_hostname(self, instance):
return str(getattr(instance, 'OS-EXT-SRV-ATTR:host'))