status compatibility
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
- Juju Engineering: Pending requested
-
Diff: 949 lines (+670/-40)9 files modifiedcharm/meta_test.go (+25/-21)
cmd/juju/cmd_test.go (+3/-1)
cmd/juju/status.go (+172/-14)
cmd/juju/status_test.go (+402/-3)
state/service_test.go (+13/-1)
state/unit.go (+6/-0)
state/unit_test.go (+30/-0)
testing/repo/series/monitoring/metadata.yaml (+16/-0)
testing/repo/series/wordpress/metadata.yaml (+3/-0)
Changed in juju-core: | |
status: | New → Triaged |
description: | updated |
description: | updated |
tags: | added: oc |
tags: |
added: doc removed: oc |
tags: | added: canonical-webops |
Changed in juju-core: | |
status: | Triaged → Fix Released |
status: | Fix Released → Triaged |
assignee: | nobody → Andrew Wilkins (axwalk) |
status: | Triaged → Fix Released |
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.