~juju-qa/ubuntu/xenial/juju/xenial-2.0-beta3

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/worker/uniter/agent.go

  • Committer: Martin Packman
  • Date: 2016-03-30 19:31:08 UTC
  • mfrom: (1.1.41)
  • Revision ID: martin.packman@canonical.com-20160330193108-h9iz3ak334uk0z5r
Merge new upstream source 2.0~beta3

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
package uniter
5
5
 
6
 
import (
7
 
        "github.com/juju/juju/apiserver/params"
8
 
)
 
6
import "github.com/juju/juju/status"
9
7
 
10
8
// setAgentStatus sets the unit's status if it has changed since last time this method was called.
11
 
func setAgentStatus(u *Uniter, status params.Status, info string, data map[string]interface{}) error {
 
9
func setAgentStatus(u *Uniter, agentStatus status.Status, info string, data map[string]interface{}) error {
12
10
        u.setStatusMutex.Lock()
13
11
        defer u.setStatusMutex.Unlock()
14
 
        if u.lastReportedStatus == status && u.lastReportedMessage == info {
 
12
        if u.lastReportedStatus == agentStatus && u.lastReportedMessage == info {
15
13
                return nil
16
14
        }
17
 
        u.lastReportedStatus = status
 
15
        u.lastReportedStatus = agentStatus
18
16
        u.lastReportedMessage = info
19
 
        logger.Debugf("[AGENT-STATUS] %s: %s", status, info)
20
 
        return u.unit.SetAgentStatus(status, info, data)
 
17
        logger.Debugf("[AGENT-STATUS] %s: %s", agentStatus, info)
 
18
        return u.unit.SetAgentStatus(agentStatus, info, data)
21
19
}
22
20
 
23
21
// reportAgentError reports if there was an error performing an agent operation.
27
25
        if err == nil {
28
26
                return
29
27
        }
30
 
        err2 := setAgentStatus(u, params.StatusFailed, userMessage, nil)
 
28
        err2 := setAgentStatus(u, status.StatusFailed, userMessage, nil)
31
29
        if err2 != nil {
32
30
                logger.Errorf("updating agent status: %v", err2)
33
31
        }