Fix blocking call to execute service primitive
[osm/SO.git] / common / python / rift / mano / utils / juju_api.py
index 3f3b086..b452b8a 100644 (file)
@@ -256,9 +256,10 @@ class JujuApi(object):
             models = env.models.list()
             for m in models['user-models']:
                 if m['model']['name'] == 'default':
-                    mep =  '{}/model/{}/api'.format(endpoint, m['model']['uuid'])
+                    mep =  '{}/model/{}/api'.format(self.endpoint,
+                                                    m['model']['uuid'])
                     model = Env2(mep, env_uuid=m['model']['uuid'])
-                    l = model.login(args.password, user=args.user)
+                    l = model.login(self.secret, user=self.user)
                     break
 
             if model is None:
@@ -359,8 +360,8 @@ class JujuApi(object):
 
         # Optimizing calls to Juju, as currently we deploy only 1 unit per
         # service.
-        if self.service == service and len(self.units):
-            return self.units
+        if self.service == service and len(self.units):
+            return self.units
 
         if env is None:
             env = self._get_env()
@@ -692,9 +693,7 @@ class JujuApi(object):
                     except Exception as e:
                         msg = "{}: Resolve on unit {}: {}". \
                               format(self, unit, e)
-                        self.log.error(msg)
-                        self.log.exception(e)
-                        raise JujuResolveError(msg)
+                        self.log.warn(msg)
 
     @asyncio.coroutine
     def resolve_error(self, service=None, status=None, env=None):