juju shell

Bug #823352 reported by James Page
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pyjuju
Triaged
Low
Unassigned

Bug Description

When developing juju charms the latency of running 'juju <command>' inhibits developer productivity; it would be great to have an juju shell which would maintain the connection to the ensemble environment allowing a developer or admin to then execute commands within a shell without initiating a new connection all of the time.

This would also really help with scripting juju commands.

Tags: improvement
Changed in ensemble:
status: New → Confirmed
importance: Undecided → Wishlist
status: Confirmed → New
Revision history for this message
Clint Byrum (clint-fewbar) wrote :

So there is the 'open-tunnel' command, which does help quite a bit as it reduces the latency, but its not obvious how to use it.

It might make sense to focus on a local resident program that caches information and updates in realtime from zookeeper, so only write operations carry the latency. This would speed up status to nearly instant, and cause some of the other things to be faster such as evaluating formula relationships during add-relation.

Revision history for this message
Ahmed Kamal (kim0) wrote :

Would it make sense to ssh into the bootstrap node, and work from there

Revision history for this message
Clint Byrum (clint-fewbar) wrote :

That would trade latency on each command, for latency on each keystroke. I think most users would perceive it as slightly better, but still annoying. The reason its annoying when you are waiting on the ensemble commands is you don't know what exactly you're waiting on, but with ssh, at least you know what you typed and that it should be printing those letters out as you type them.

Revision history for this message
Gustavo Niemeyer (niemeyer) wrote :

James, Clint is right in that the open tunnel may solve part of the latency problem since the connection will stick around. Using it is quite straightforward: just run "ensemble open-tunnel" in one terminal, and then use ensemble as you're used to anywhere else. This pretty is pretty close to what a plain shell would do.

The real speed gain, though, is in a different strategy: if we can define a high-level protocol for our commands, and can then put the server side within the zookeeper machine itself, most commands might potentially work with a single roundtrip, and the expensive successive zookeeper interactions would happen all within the machine, with loopback connectivity.

Marc Cluet (lynxman)
summary: - ensemble shell
+ juju shell
description: updated
Revision history for this message
Clint Byrum (clint-fewbar) wrote :

Marking Triaged for now, it still makes sense to have a shell which is smart enough about juju to do lots of things faster and perhaps more efficiently than regular unix shells could.

Changed in juju:
status: New → Triaged
Curtis Hovey (sinzui)
Changed in juju:
importance: Wishlist → Low
tags: added: improvement
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.