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

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/provider/joyent/instance.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:
8
8
 
9
9
        "github.com/juju/juju/instance"
10
10
        "github.com/juju/juju/network"
 
11
        "github.com/juju/juju/status"
11
12
)
12
13
 
13
14
type joyentInstance struct {
21
22
        return instance.Id(inst.machine.Id)
22
23
}
23
24
 
24
 
func (inst *joyentInstance) Status() string {
25
 
        return inst.machine.State
 
25
func (inst *joyentInstance) Status() instance.InstanceStatus {
 
26
        instStatus := inst.machine.State
 
27
        jujuStatus := status.StatusPending
 
28
        switch instStatus {
 
29
        case "configured", "incomplete", "unavailable", "provisioning":
 
30
                jujuStatus = status.StatusAllocating
 
31
        case "ready", "running":
 
32
                jujuStatus = status.StatusRunning
 
33
        case "halting", "stopping", "shutting_down", "off", "down", "installed", "stopped", "destroyed", "unreachable":
 
34
                jujuStatus = status.StatusEmpty
 
35
        case "failed":
 
36
                jujuStatus = status.StatusProvisioningError
 
37
        default:
 
38
                jujuStatus = status.StatusEmpty
 
39
        }
 
40
        return instance.InstanceStatus{
 
41
                Status:  jujuStatus,
 
42
                Message: instStatus,
 
43
        }
26
44
}
27
45
 
28
46
func (inst *joyentInstance) Addresses() ([]network.Address, error) {