From c4f393e2cc27e8beb337d0058c11f7413f6639f6 Mon Sep 17 00:00:00 2001 From: Adam Israel Date: Tue, 19 Mar 2019 16:33:30 -0400 Subject: [PATCH] Fix bug 564 This fixes bug 684, which noted that the workload message was not being passed to the callback when removing charms. This also fixes some lint errors and adds tear-down of the per-ns model in integration tests Change-Id: I83be9e3d951cf10a7479ea2e55074526403cf674 Signed-off-by: Adam Israel --- n2vc/vnf.py | 6 +++--- tests/base.py | 16 +++++++++++----- tests/test_model.py | 2 -- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/n2vc/vnf.py b/n2vc/vnf.py index 6e4aaf3..2830571 100644 --- a/n2vc/vnf.py +++ b/n2vc/vnf.py @@ -769,11 +769,11 @@ class N2VC: await self.disconnect_model(self.monitors[model_name]) - # Notify the callback that this charm has been removed. self.notify_callback( model_name, application_name, "removed", + "Removing charm {}".format(application_name), callback, *callback_args, ) @@ -819,7 +819,7 @@ class N2VC: # Do not delete the default model. The default model was used by all # Network Services, prior to the implementation of a model per NS. - if ns_uuid.lower() is "default": + if ns_uuid.lower() == "default": return False if not self.authenticated: @@ -832,7 +832,7 @@ class N2VC: try: await self.controller.destroy_models(ns_uuid) - except JujuError as e: + except JujuError: raise NetworkServiceDoesNotExist( "The Network Service '{}' does not exist".format(ns_uuid) ) diff --git a/tests/base.py b/tests/base.py index e4111eb..4d26a7f 100644 --- a/tests/base.py +++ b/tests/base.py @@ -568,12 +568,17 @@ class TestN2VC(object): ) subprocess.check_call(shlex.split(cmd)) - self.artifacts[charm] = { - 'tmpdir': builds, - 'charm': "{}/builds/{}".format(builds, charm), - } except subprocess.CalledProcessError as e: - raise Exception("charm build failed: {}.".format(e)) + # charm build will return error code 100 if the charm fails + # the auto-run of charm proof, which we can safely ignore for + # our CI charms. + if e.returncode != 100: + raise Exception("charm build failed: {}.".format(e)) + + self.artifacts[charm] = { + 'tmpdir': builds, + 'charm': "{}/builds/{}".format(builds, charm), + } return self.artifacts[charm]['charm'] @@ -897,6 +902,7 @@ class TestN2VC(object): application, ): break + await self.n2vc.DestroyNetworkService(self.ns_name) # Need to wait for the charm to finish, because native charms if self.state[application]['container']: diff --git a/tests/test_model.py b/tests/test_model.py index b54a7bb..ff164fa 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -2,10 +2,8 @@ Test N2VC's ssh key generation """ import n2vc -import os import pytest from . import base -import tempfile import uuid -- 2.17.1