// processUnit retrieves version and status information for the given unit. func processUnitStatus(unit *state.Unit) (agentStatus, workloadStatus params.AgentStatus) { // First determine the agent status information. unitAgent := unit.Agent() populateStatusFromGetter(&agentStatus, unitAgent) agentStatus.Life = processLife(unit) if t, err := unit.AgentTools(); err == nil { agentStatus.Version = t.Version.Number.String() } // Second, determine the workload (unit) status. populateStatusFromGetter(&workloadStatus, unit) return }
// processUnit retrieves version and status information for the given unit. func processUnitStatus(unit *state.Unit) (agentStatus, workloadStatus api.AgentStatus) { // First determine the agent status information. unitAgent := unit.Agent().(*state.UnitAgent) makeStatusForEntity(&agentStatus, unitAgent) agentStatus.Life = processLife(unit) if t, err := unit.AgentTools(); err == nil { agentStatus.Version = t.Version.Number.String() } // Second, determine the workload (unit) status. makeStatusForEntity(&workloadStatus, unit) return }