status compatibility

Bug #1121916 reported by William Reade
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
juju-core
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  Edit
Everyone can see this information.

Other bug subscribers