← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~allenap/maas/cluster-worker-logging into lp:maas

 

Gavin Panella has proposed merging lp:~allenap/maas/cluster-worker-logging into lp:maas.

Commit message:
Capture log messages emitted during cluster worker start-up.

Previously these messages were being lost, so debugging the start-up of a cluster worker was difficult.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  Bug #1066668 in MAAS: "No indication if cluster controller is failing to connect"
  https://bugs.launchpad.net/maas/+bug/1066668

For more details, see:
https://code.launchpad.net/~allenap/maas/cluster-worker-logging/+merge/130576
-- 
https://code.launchpad.net/~allenap/maas/cluster-worker-logging/+merge/130576
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~allenap/maas/cluster-worker-logging into lp:maas.
=== modified file 'src/provisioningserver/boot_images.py'
--- src/provisioningserver/boot_images.py	2012-09-14 11:04:33 +0000
+++ src/provisioningserver/boot_images.py	2012-10-19 15:27:22 +0000
@@ -25,15 +25,18 @@
     MAASDispatcher,
     MAASOAuth,
     )
+from celery.log import get_task_logger
 from provisioningserver.auth import (
     get_recorded_api_credentials,
     get_recorded_maas_url,
     )
 from provisioningserver.config import Config
-from provisioningserver.logging import task_logger
 from provisioningserver.pxe import tftppath
 
 
+task_logger = get_task_logger(name=__name__)
+
+
 def get_cached_knowledge():
     """Return cached items required to report to the server.
 

=== modified file 'src/provisioningserver/dhcp/leases.py'
--- src/provisioningserver/dhcp/leases.py	2012-10-04 12:24:31 +0000
+++ src/provisioningserver/dhcp/leases.py	2012-10-19 15:27:22 +0000
@@ -45,6 +45,7 @@
     MAASOAuth,
     )
 from celery.app import app_or_default
+from celery.log import get_task_logger
 from provisioningserver import cache
 from provisioningserver.auth import (
     get_recorded_api_credentials,
@@ -52,7 +53,10 @@
     get_recorded_nodegroup_uuid,
     )
 from provisioningserver.dhcp.leases_parser import parse_leases
-from provisioningserver.logging import task_logger
+
+
+task_logger = get_task_logger(name=__name__)
+
 
 # Cache key for the modification time on last-processed leases file.
 LEASES_TIME_CACHE_KEY = 'leases_time'

=== removed file 'src/provisioningserver/logging.py'
--- src/provisioningserver/logging.py	2012-08-10 14:15:23 +0000
+++ src/provisioningserver/logging.py	1970-01-01 00:00:00 +0000
@@ -1,22 +0,0 @@
-# Copyright 2012 Canonical Ltd.  This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Celery logging."""
-
-from __future__ import (
-    absolute_import,
-    print_function,
-    unicode_literals,
-    )
-
-__metaclass__ = type
-__all__ = [
-    'task_logger',
-    ]
-
-
-from celery.log import get_task_logger
-
-# Celery task logger.  Shared between tasks, as per Celery's recommended
-# practice.
-task_logger = get_task_logger()

=== modified file 'src/provisioningserver/start_cluster_controller.py'
--- src/provisioningserver/start_cluster_controller.py	2012-10-03 18:16:22 +0000
+++ src/provisioningserver/start_cluster_controller.py	2012-10-19 15:27:22 +0000
@@ -32,10 +32,16 @@
     NoAuth,
     )
 from celery.app import app_or_default
-from provisioningserver.logging import task_logger
+from celery.log import (
+    get_task_logger,
+    setup_logging_subsystem,
+    )
 from provisioningserver.network import discover_networks
 
 
+task_logger = get_task_logger(name=__name__)
+
+
 class ClusterControllerRejected(Exception):
     """Request to become a cluster controller has been rejected."""
 
@@ -182,6 +188,7 @@
     If this system is still awaiting approval as a cluster controller, this
     command will keep looping until it gets a definite answer.
     """
+    setup_logging_subsystem(loglevel="INFO", logfile=get_maas_celery_log())
     connection_details = register(args.server_url)
     while connection_details is None:
         sleep(60)

=== modified file 'src/provisioningserver/tags.py'
--- src/provisioningserver/tags.py	2012-10-11 10:41:00 +0000
+++ src/provisioningserver/tags.py	2012-10-19 15:27:22 +0000
@@ -19,22 +19,23 @@
 
 
 import httplib
-import simplejson as json
-from lxml import etree
 
 from apiclient.maas_client import (
     MAASClient,
     MAASDispatcher,
     MAASOAuth,
     )
-
+from celery.log import get_task_logger
+from lxml import etree
 from provisioningserver.auth import (
     get_recorded_api_credentials,
     get_recorded_maas_url,
     get_recorded_nodegroup_uuid,
     )
-
-from provisioningserver.logging import task_logger
+import simplejson as json
+
+
+task_logger = get_task_logger(name=__name__)
 
 
 class MissingCredentials(Exception):