X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=juju%2Fclient%2Fconnection.py;h=c24f8c1461c2b6a9e92178d67396330431ae7b37;hp=77edda5038d938f0512c8e04c95b3f0d10e07942;hb=8293ed139b3b3dc741d75184de46936e117d923e;hpb=2a32f7b8c506dfafbe137fbe4da43c66cc3a1079 diff --git a/juju/client/connection.py b/juju/client/connection.py index 77edda5..c24f8c1 100644 --- a/juju/client/connection.py +++ b/juju/client/connection.py @@ -15,7 +15,7 @@ import asyncio import yaml from juju import tag -from juju.errors import JujuAPIError, JujuConnectionError +from juju.errors import JujuError, JujuAPIError, JujuConnectionError log = logging.getLogger("websocket") @@ -221,8 +221,7 @@ class Connection: """ jujudata = JujuData() controller_name = jujudata.current_controller() - models = jujudata.models()[controller_name] - model_name = models['current-model'] + model_name = jujudata.current_model() return await cls.connect_model( '{}:{}'.format(controller_name, model_name), loop) @@ -339,6 +338,12 @@ class JujuData: output = yaml.safe_load(output) return output.get('current-controller', '') + def current_model(self, controller_name=None): + models = self.models()[controller_name or self.current_controller()] + if 'current-model' not in models: + raise JujuError('No current model') + return models['current-model'] + def controllers(self): return self._load_yaml('controllers.yaml', 'controllers')