From 6204ba536230a943ad160542adf6d851276faacf Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Tue, 19 Feb 2019 12:04:26 +0100
Subject: [PATCH] Move log initialisation to ci-bootstrap.py

---
 test/ci-bootstrap.py | 30 ++++++++++++++++++++++++++----
 test/cosmos.py       | 26 ++++----------------------
 2 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/test/ci-bootstrap.py b/test/ci-bootstrap.py
index b52bbc83f..efa65b8e6 100755
--- a/test/ci-bootstrap.py
+++ b/test/ci-bootstrap.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env python3
-"""
+r"""
 Used by CI to bootstrap a new cluster and run tests.
 
 Prerequisites
@@ -8,12 +8,15 @@ Prerequisites
   - ansible-runner
   - requests
   - tabulate
+  - psutil
 
 Env vars needed:
 - COSMOS_API_TOKEN
 
 In Debian:
-    apt-get install -y --no-install-recommends ansible gcc libc6-dev
+    apt-get install -y --no-install-recommends ansible gcc libc6-dev \
+      python3-distutils python3-pip python3-setuptools python3-wheel \
+      python3-psutil
     pip3 install ansible-runner requests tabulate
 """
 
@@ -29,6 +32,25 @@ import traceback
 import yaml
 
 
+def init_logging(log, loglevel):
+    """
+    Configure logging.
+
+    - debug and info go to stdout
+    - warning and above go to stderr
+    """
+    log.setLevel(loglevel)
+    stdout = logging.StreamHandler(sys.stdout)
+    stdout.setLevel(loglevel)
+    stdout.addFilter(lambda record: record.levelno <= logging.INFO)
+
+    stderr = logging.StreamHandler()
+    stderr.setLevel(logging.WARNING)
+
+    log.addHandler(stdout)
+    log.addHandler(stderr)
+
+
 if __name__ == "__main__":
 
     # Parse command line arguments
@@ -70,11 +92,11 @@ if __name__ == "__main__":
 
     # Setup logging for this script
     log = logging.getLogger(__name__)
-    cosmos.init_logging(log, loglevel)
+    init_logging(log, loglevel)
 
     # Setup logging for cosmos module
     log_cosmos = logging.getLogger('cosmos')
-    cosmos.init_logging(log_cosmos, loglevel)
+    init_logging(log_cosmos, loglevel)
 
     # Start bootstrapping
     if args.create_droplet:
diff --git a/test/cosmos.py b/test/cosmos.py
index b51896e99..8a45d8306 100755
--- a/test/cosmos.py
+++ b/test/cosmos.py
@@ -13,25 +13,6 @@ from time import sleep
 
 
 # Helper functions
-def init_logging(log, loglevel):
-    """
-    Configure logging.
-
-    - debug and info go to stdout
-    - warning and above go to stderr
-    """
-    log.setLevel(loglevel)
-    stdout = logging.StreamHandler(sys.stdout)
-    stdout.setLevel(loglevel)
-    stdout.addFilter(lambda record: record.levelno <= logging.INFO)
-
-    stderr = logging.StreamHandler()
-    stderr.setLevel(logging.WARNING)
-
-    log.addHandler(stdout)
-    log.addHandler(stderr)
-
-
 def request_api(resource: str, request_type: str = 'GET',
                 data: str = ''):
     """Query the cosmos API."""
@@ -287,11 +268,12 @@ def wait_for_state(id: int, state):
         status = status_droplet(id)
 
 
-log = logging.getLogger(__name__)
 # When called from from ipython, setup
 # logging to console
 try:
     __IPYTHON__
-    init_logging(log, logging.INFO)
+    log = logging.getLogger()
+    log.addHandler(logging.StreamHandler())
+    log.setLevel(logging.INFO)
 except NameError:
-    pass
+    log = logging.getLogger(__name__)
-- 
GitLab