diff options
author | masumotok <masumotok@nttdata.co.jp> | 2011-01-14 03:02:17 +0900 |
---|---|---|
committer | masumotok <masumotok@nttdata.co.jp> | 2011-01-14 03:02:17 +0900 |
commit | 41a9ad538cc70d4f8f39eb51c1d137917967b04c (patch) | |
tree | d5cb655be40834c03f6c537f919c87bc7401ceb3 /nova/service.py | |
parent | 5afd9848ad09414c00062ceebdad45bca0604888 (diff) | |
parent | 1e746ce1ef027aa2549a8fba2904f3797eff0702 (diff) | |
download | nova-41a9ad538cc70d4f8f39eb51c1d137917967b04c.tar.gz nova-41a9ad538cc70d4f8f39eb51c1d137917967b04c.tar.xz nova-41a9ad538cc70d4f8f39eb51c1d137917967b04c.zip |
Get reviewed and fixed based on comments.
Merged latest version.
Diffstat (limited to 'nova/service.py')
-rw-r--r-- | nova/service.py | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/nova/service.py b/nova/service.py index 7132a67b5..c360dcf80 100644 --- a/nova/service.py +++ b/nova/service.py @@ -21,17 +21,20 @@ Generic Node baseclass for all workers that run on hosts """ import inspect -import logging import os import sys +import time from eventlet import event from eventlet import greenthread from eventlet import greenpool +from sqlalchemy.exc import OperationalError + from nova import context from nova import db from nova import exception +from nova import log as logging from nova import flags from nova import rpc from nova import utils @@ -128,8 +131,8 @@ class Service(object): if 0 <= self.manager_class_name.find('ComputeManager'): vcpu = self.manager.driver.get_vcpu_number() - memory_mb = self.manager.get_memory_mb() - local_gb = self.manager.get_local_gb() + memory_mb = self.manager.driver.get_memory_mb() + local_gb = self.manager.driver.get_local_gb() hypervisor = self.manager.driver.get_hypervisor_type() version = self.manager.driver.get_hypervisor_version() cpu_xml = self.manager.driver.get_cpu_xml() @@ -178,7 +181,7 @@ class Service(object): report_interval = FLAGS.report_interval if not periodic_interval: periodic_interval = FLAGS.periodic_interval - logging.warn(_("Starting %s node"), topic) + logging.audit(_("Starting %s node"), topic) service_obj = cls(host, binary, topic, manager, report_interval, periodic_interval) @@ -231,22 +234,29 @@ class Service(object): self.model_disconnected = True logging.exception(_("model server went away")) + try: + # NOTE(vish): This is late-loaded to make sure that the + # database is not created before flags have + # been loaded. + from nova.db.sqlalchemy import models + models.register_models() + except OperationalError: + logging.exception(_("Data store %s is unreachable." + " Trying again in %d seconds.") % + (FLAGS.sql_connection, + FLAGS.sql_retry_interval)) + time.sleep(FLAGS.sql_retry_interval) + def serve(*services): - argv = FLAGS(sys.argv) + FLAGS(sys.argv) + logging.basicConfig() if not services: services = [Service.create()] name = '_'.join(x.binary for x in services) - logging.debug("Serving %s" % name) - - logging.getLogger('amqplib').setLevel(logging.WARN) - - if FLAGS.verbose: - logging.getLogger().setLevel(logging.DEBUG) - else: - logging.getLogger().setLevel(logging.WARNING) + logging.debug(_("Serving %s"), name) logging.debug(_("Full set of FLAGS:")) for flag in FLAGS: |