Merge lp:~townsend/libertine/fix-missing-log into lp:libertine

Proposed by Christopher Townsend
Status: Merged
Approved by: Larry Price
Approved revision: 261
Merged at revision: 261
Proposed branch: lp:~townsend/libertine/fix-missing-log
Merge into: lp:libertine
Diff against target: 34 lines (+10/-3)
1 file modified
python/libertine/LxcContainer.py (+10/-3)
To merge this branch: bzr merge lp:~townsend/libertine/fix-missing-log
Reviewer Review Type Date Requested Status
Larry Price Approve
Libertine CI Bot continuous-integration Approve
Review via email: mp+298633@code.launchpad.net

Commit message

Check if the LXC container is defined before trying to start it.
Catch any errors when trying to open the LXC log on container start failure.

To post a comment you must log in.
Revision history for this message
Libertine CI Bot (libertine-ci-bot) wrote :

PASSED: Continuous integration, rev:261
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/33/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/libertine/job/build/126
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=default/88
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=default/88
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=default/88
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=vivid+overlay,testname=default/88
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=xenial+overlay,testname=default/88
    SUCCESS: https://jenkins.canonical.com/libertine/job/test-0-autopkgtest/label=i386,release=yakkety,testname=default/88
    None: https://jenkins.canonical.com/libertine/job/lp-generic-update-mp/103/console
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-0-fetch/129
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=vivid+overlay/114
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=xenial+overlay/114
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-1-sourcepkg/release=yakkety/114
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=vivid+overlay/107/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=xenial+overlay/107/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=amd64,release=yakkety/107/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=vivid+overlay/107/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=xenial+overlay/107/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/107
        deb: https://jenkins.canonical.com/libertine/job/build-2-binpkg/arch=i386,release=yakkety/107/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/libertine/job/lp-libertine-ci/33/rebuild

review: Approve (continuous-integration)
Revision history for this message
Larry Price (larryprice) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'python/libertine/LxcContainer.py'
--- python/libertine/LxcContainer.py 2016-06-28 20:16:55 +0000
+++ python/libertine/LxcContainer.py 2016-06-29 12:57:00 +0000
@@ -18,6 +18,7 @@
18import psutil18import psutil
19import shlex19import shlex
20import subprocess20import subprocess
21import sys
21import tempfile22import tempfile
2223
23from .Libertine import BaseContainer24from .Libertine import BaseContainer
@@ -100,6 +101,9 @@
100 return True101 return True
101102
102 def start_container(self):103 def start_container(self):
104 if not self.container.defined:
105 raise RuntimeError("Container %s is not valid" % self.container_id)
106
103 if not self.container.running:107 if not self.container.running:
104 self._set_lxc_log()108 self._set_lxc_log()
105 if not self.container.start():109 if not self.container.start():
@@ -305,6 +309,9 @@
305 self.container.append_config_item("lxc.logpriority", "3")309 self.container.append_config_item("lxc.logpriority", "3")
306310
307 def _dump_lxc_log(self):311 def _dump_lxc_log(self):
308 with open(self.lxc_log_file, 'r') as fd:312 try:
309 for line in fd:313 with open(self.lxc_log_file, 'r') as fd:
310 print(line.lstrip())314 for line in fd:
315 print(line.lstrip())
316 except Exception as ex:
317 print("Could not open LXC log file: %s" % ex, file=sys.stderr)

Subscribers

People subscribed via source and target branches