Merge lp:~gz/juju-ci-tools/assess_jes_dump_logs into lp:juju-ci-tools

Proposed by Martin Packman
Status: Merged
Merged at revision: 1283
Proposed branch: lp:~gz/juju-ci-tools/assess_jes_dump_logs
Merge into: lp:juju-ci-tools
Diff against target: 105 lines (+14/-10)
2 files modified
assess_jes_deploy.py (+10/-6)
tests/test_assess_jes_deploy.py (+4/-4)
To merge this branch: bzr merge lp:~gz/juju-ci-tools/assess_jes_dump_logs
Reviewer Review Type Date Requested Status
Curtis Hovey (community) code Approve
Review via email: mp+286540@code.launchpad.net

Description of the change

Better logging for functional jes testing

Collects logs from hosted environments, and prints status before exiting.

To post a comment you must log in.
Revision history for this message
Curtis Hovey (sinzui) wrote :

Thank you.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'assess_jes_deploy.py'
2--- assess_jes_deploy.py 2016-01-25 19:37:47 +0000
3+++ assess_jes_deploy.py 2016-02-18 17:39:50 +0000
4@@ -5,6 +5,7 @@
5 import logging
6 import sys
7 from tempfile import NamedTemporaryFile
8+import os
9
10 import yaml
11
12@@ -13,7 +14,9 @@
13 check_token,
14 configure_logging,
15 deploy_dummy_stack,
16+ dump_env_logs,
17 get_random_string,
18+ safe_print_status,
19 )
20 from jujupy import (
21 EnvJujuClient,
22@@ -34,15 +37,15 @@
23 return hosted_env_client
24
25
26-def test_jes_deploy(client, charm_prefix, base_env):
27+def test_jes_deploy(client, charm_prefix, log_dir, base_env):
28 """Deploy the dummy stack in two hosted environments."""
29 # deploy into system env
30 deploy_dummy_stack(client, charm_prefix)
31
32 # deploy into hosted envs
33- with hosted_environment(client, 'env1') as env1_client:
34+ with hosted_environment(client, log_dir, 'env1') as env1_client:
35 deploy_dummy_stack(env1_client, charm_prefix)
36- with hosted_environment(client, 'env2') as env2_client:
37+ with hosted_environment(client, log_dir, 'env2') as env2_client:
38 deploy_dummy_stack(env2_client, charm_prefix)
39 # check all the services can talk
40 check_services(client)
41@@ -89,7 +92,7 @@
42
43
44 @contextmanager
45-def hosted_environment(system_client, suffix):
46+def hosted_environment(system_client, log_dir, suffix):
47 client = make_hosted_env_client(system_client, suffix)
48 try:
49 with NamedTemporaryFile() as config_file:
50@@ -104,7 +107,8 @@
51 client.env.environment))
52 sys.exit(1)
53 finally:
54- # TODO(gz): May want to gather logs from hosted env here.
55+ safe_print_status(client)
56+ dump_env_logs(client, None, os.path.join(log_dir, suffix))
57 client.destroy_model()
58
59
60@@ -120,7 +124,7 @@
61 add_basic_testing_arguments(parser, using_jes=True)
62 args = parser.parse_args()
63 with jes_setup(args) as (client, charm_prefix, base_env):
64- test_jes_deploy(client, charm_prefix, base_env)
65+ test_jes_deploy(client, charm_prefix, args.logs, base_env)
66
67
68 if __name__ == '__main__':
69
70=== modified file 'tests/test_assess_jes_deploy.py'
71--- tests/test_assess_jes_deploy.py 2016-02-13 03:28:48 +0000
72+++ tests/test_assess_jes_deploy.py 2016-02-18 17:39:50 +0000
73@@ -1,5 +1,4 @@
74 from argparse import Namespace
75-import unittest
76 from mock import (
77 patch,
78 )
79@@ -17,10 +16,11 @@
80 JUJU_DEV_FEATURE_FLAGS,
81 SimpleEnvironment,
82 )
83+import tests
84 from tests.test_jujupy import FakeJujuClient
85
86
87-class TestJES(unittest.TestCase):
88+class TestJES(tests.FakeHomeTestCase):
89
90 client_class = EnvJujuClient25
91
92@@ -154,11 +154,11 @@
93 self.assertNotIn('jes', new_client.feature_flags)
94
95
96-class TestHostedEnvironment(unittest.TestCase):
97+class TestHostedEnvironment(tests.FakeHomeTestCase):
98
99 def test_hosted_environment(self):
100 hosting_client = FakeJujuClient()
101- with hosted_environment(hosting_client, 'bar') as client:
102+ with hosted_environment(hosting_client, '/log', 'bar') as client:
103 model_state = client._backing_state
104 self.assertEqual({'name-bar': model_state},
105 hosting_client._backing_state.models)

Subscribers

People subscribed via source and target branches