summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2011-12-15 22:55:59 +0000
committerRick Harris <rconradharris@gmail.com>2011-12-15 22:55:59 +0000
commit3f7353d14183a93099c99dc2fc72614265f1c72c (patch)
tree4fe64561da5392ed35437f86af8fa6b5cf457484
parent8b52505df5d6f62e3a31a3457832288fd9e450d0 (diff)
Starting work on exposing service functionality.
Change-Id: Ic9412bc0dae8559e356c51ace063504c4cac5def
-rw-r--r--nova/db/api.py5
-rw-r--r--nova/db/sqlalchemy/api.py8
-rw-r--r--nova/manager.py10
3 files changed, 23 insertions, 0 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index 32b3f867d..b00328c52 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -172,6 +172,11 @@ def compute_node_get_all(context, session=None):
return IMPL.compute_node_get_all(context)
+def compute_node_get_for_service(context, service_id):
+ """Get all computeNodes."""
+ return IMPL.compute_node_get_for_service(context, service_id)
+
+
def compute_node_create(context, values):
"""Create a computeNode from the values dictionary."""
return IMPL.compute_node_create(context, values)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 116e74b60..373e79f97 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -378,6 +378,14 @@ def compute_node_get_all(context, session=None):
@require_admin_context
+def compute_node_get_for_service(context, service_id):
+ return model_query(context, models.ComputeNode).\
+ options(joinedload('service')).\
+ filter_by(service_id=service_id).\
+ first()
+
+
+@require_admin_context
def compute_node_create(context, values):
compute_node_ref = models.ComputeNode()
compute_node_ref.update(values)
diff --git a/nova/manager.py b/nova/manager.py
index 4ebaf0d4b..505fce345 100644
--- a/nova/manager.py
+++ b/nova/manager.py
@@ -57,6 +57,7 @@ from nova import flags
from nova import log as logging
from nova.db import base
from nova.scheduler import api
+from nova import version
FLAGS = flags.FLAGS
@@ -166,6 +167,15 @@ class Manager(base.Base):
"""
pass
+ def service_version(self, context):
+ return version.version_string()
+
+ def service_config(self, context):
+ config = {}
+ for key in FLAGS:
+ config[key] = FLAGS.get(key, None)
+ return config
+
class SchedulerDependentManager(Manager):
"""Periodically send capability updates to the Scheduler services.