status compatibility

Bug #1121916 reported by William Reade
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
Andrew Wilkins

Bug Description

`juju status` output has drifted away from compatibility with python. dditions are not a problem, but changes are; while some changes are unavoidable (eg, we have no independent concept of an error specific to a unit/relation pair any more) we should have a documented and overwhelmingly compelling explanation for every change we make.

Of these changes, of which I am aware:

* machine id type has changed to string across the board, to allow for consistent JSON and YAML output.
* unit now has a singular "error" status, and reports what hook failed in the info, rather than having install-error, start-error etc statuses. (hmm; gratuitous?)
* machine instance-state needs to be faked, because the provider capability is not present
* unit relation membership is not exposed, so we might need to fake it by cloning service relation membership (or expose the necessary info from state... shouldn't be too hard)
* machine agent-state values are changing to be consistent with unit agent-states

Anything not in the above list should be discussed and/or fixed.

Related branches

Tim Penhey (thumper)
Changed in juju-core:
status: New → Triaged
William Reade (fwereade)
description: updated
description: updated
Nick Veitch (evilnick)
tags: added: oc
tags: added: doc
removed: oc
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

Also status does not implement any filtering per the python version which allowed filtering status on machine/service/unit instead of getting the entire environment output.

Revision history for this message
Andrew Wilkins (axwalk) wrote :

I'm taking a look at adding service/unit filters to status (AFAICT, pyjuju didn't allow machine filters directly).

Changed in juju-core:
status: Triaged → In Progress
assignee: nobody → Andrew Wilkins (axwalk)
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

looking over the implementation for pyjuju, agreed it didn't support machines. service and unit should suffice. thanks.

Revision history for this message
Andrew Wilkins (axwalk) wrote :

@hazmat status filters are now in trunk

I'm not sure what else is missing/changed between pyjuju and juju-core; I'd have to get pyjuju set up with a comprehensive environment. Unassigning and setting back to triaged until I do so, in case someone else is in a position to close this.

Changed in juju-core:
status: In Progress → Triaged
assignee: Andrew Wilkins (axwalk) → nobody
Revision history for this message
Andrew Wilkins (axwalk) wrote :

davecheney pointed me at an existing command (juju ssh) which differentiates machines and units. So it shouldn't be too difficult to do status filters on machines too. I will come back to this at some point.

Tom Haddon (mthaddon)
tags: added: canonical-webops
Curtis Hovey (sinzui)
Changed in juju-core:
status: Triaged → Fix Released
status: Fix Released → Triaged
assignee: nobody → Andrew Wilkins (axwalk)
status: Triaged → Fix Released
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.