// processUnit retrieves version and status information for the given unit. func processUnit(unit *state.Unit) (agentStatus, workloadStatus params.DetailedStatus) { agent, workload := common.UnitStatus(unit) populateStatusFromStatusInfoAndErr(&agentStatus, agent.Status, agent.Err) populateStatusFromStatusInfoAndErr(&workloadStatus, workload.Status, workload.Err) agentStatus.Life = processLife(unit) if t, err := unit.AgentTools(); err == nil { agentStatus.Version = t.Version.Number.String() } return }
// 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 }