projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed detecting controller for non-superuser
[osm/N2VC.git]
/
juju
/
client
/
connection.py
diff --git
a/juju/client/connection.py
b/juju/client/connection.py
index
f0737ca
..
5ed073f
100644
(file)
--- a/
juju/client/connection.py
+++ b/
juju/client/connection.py
@@
-12,7
+12,7
@@
import websockets
import yaml
import yaml
-from juju.errors import JujuAPIError
+from juju.errors import JujuAPIError
, JujuConnectionError
log = logging.getLogger("websocket")
log = logging.getLogger("websocket")
@@
-180,6
+180,8
@@
class Connection:
"""
jujudata = JujuData()
controller_name = jujudata.current_controller()
"""
jujudata = JujuData()
controller_name = jujudata.current_controller()
+ if not controller_name:
+ raise JujuConnectionError('No current controller')
return await cls.connect_controller(controller_name)
return await cls.connect_controller(controller_name)
@@
-247,7
+249,7
@@
class Connection:
"macaroons": macaroons or []
}})
response = result['response']
"macaroons": macaroons or []
}})
response = result['response']
- self.build_facades(response
['facades']
)
+ self.build_facades(response
.get('facades', {})
)
self.info = response.copy()
return response
self.info = response.copy()
return response
@@
-271,10
+273,10
@@
class JujuData:
self.path = os.path.abspath(os.path.expanduser(self.path))
def current_controller(self):
self.path = os.path.abspath(os.path.expanduser(self.path))
def current_controller(self):
- cmd = shlex.split('juju
show-controller
--format yaml')
+ cmd = shlex.split('juju
list-controllers
--format yaml')
output = subprocess.check_output(cmd)
output = yaml.safe_load(output)
output = subprocess.check_output(cmd)
output = yaml.safe_load(output)
- return
list(output.keys())[0]
+ return
output.get('current-controller', '')
def controllers(self):
return self._load_yaml('controllers.yaml', 'controllers')
def controllers(self):
return self._load_yaml('controllers.yaml', 'controllers')