summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2010-08-10 18:48:33 -0500
committerChris Behrens <cbehrens@codestud.com>2010-08-10 18:48:33 -0500
commitd1982a50561f7b35ffc76ce5d45aaec11e76a23c (patch)
treeaf856b72989fdd64122ec4aaf92c670e182d0c70
parent3e01acd4e70f9e850487c5ac4067ab2c2c1a18eb (diff)
downloadnova-d1982a50561f7b35ffc76ce5d45aaec11e76a23c.tar.gz
nova-d1982a50561f7b35ffc76ce5d45aaec11e76a23c.tar.xz
nova-d1982a50561f7b35ffc76ce5d45aaec11e76a23c.zip
more pylint fixes
-rw-r--r--nova/scheduler/base.py23
-rw-r--r--nova/scheduler/bestfit.py4
-rw-r--r--nova/scheduler/chance.py4
-rw-r--r--nova/scheduler/service.py3
4 files changed, 29 insertions, 5 deletions
diff --git a/nova/scheduler/base.py b/nova/scheduler/base.py
index 5c359943e..2872ae6fe 100644
--- a/nova/scheduler/base.py
+++ b/nova/scheduler/base.py
@@ -35,13 +35,23 @@ class Scheduler(object):
The base class that all Scheduler clases should inherit from
"""
- @property
- def compute_nodes(self):
+ @staticmethod
+ def compute_nodes():
+ """
+ Return a list of compute nodes
+ """
+
return [identifier.split(':')[0]
for identifier in Redis.instance().smembers("daemons")
if (identifier.split(':')[1] == "nova-compute")]
- def compute_node_is_up(self, node):
+ @staticmethod
+ def compute_node_is_up(node):
+ """
+ Given a node name, return whether the node is considered 'up' by
+ if it's sent a heartbeat recently
+ """
+
time_str = Redis.instance().hget('%s:%s:%s' %
('daemon', node, 'nova-compute'),
'updated_at')
@@ -57,9 +67,14 @@ class Scheduler(object):
return (time.time() - epoch_time) < FLAGS.node_down_time
def compute_nodes_up(self):
- return [node for node in self.compute_nodes
+ """
+ Return the list of compute nodes that are considered 'up'
+ """
+
+ return [node for node in self.compute_nodes()
if self.compute_node_is_up(node)]
def pick_node(self, instance_id, **_kwargs):
"""You DEFINITELY want to define this in your subclass"""
+
raise NotImplementedError("Your subclass should define pick_node")
diff --git a/nova/scheduler/bestfit.py b/nova/scheduler/bestfit.py
index 1bd24456a..bdd4fcbdc 100644
--- a/nova/scheduler/bestfit.py
+++ b/nova/scheduler/bestfit.py
@@ -27,4 +27,8 @@ class BestFitScheduler(Scheduler):
"""
def pick_node(self, instance_id, **_kwargs):
+ """
+ Picks a node that is up and is a best fit for the new instance
+ """
+
raise NotImplementedError("BestFitScheduler is not done yet")
diff --git a/nova/scheduler/chance.py b/nova/scheduler/chance.py
index c57c346f5..719c37674 100644
--- a/nova/scheduler/chance.py
+++ b/nova/scheduler/chance.py
@@ -29,5 +29,9 @@ class ChanceScheduler(Scheduler):
"""
def pick_node(self, instance_id, **_kwargs):
+ """
+ Picks a node that is up at random
+ """
+
nodes = self.compute_nodes_up()
return nodes[int(random.random() * len(nodes))]
diff --git a/nova/scheduler/service.py b/nova/scheduler/service.py
index 44b30ecb5..136f262c2 100644
--- a/nova/scheduler/service.py
+++ b/nova/scheduler/service.py
@@ -49,7 +49,8 @@ class SchedulerService(service.Service):
FLAGS.scheduler_type)
self._scheduler_class = SCHEDULER_CLASSES[FLAGS.scheduler_type]
- def noop(self):
+ @staticmethod
+ def noop():
""" simple test of an AMQP message call """
return defer.succeed('PONG')