38
39
// Status implements instance.Instance.Status.
39
func (lxd *lxdInstance) Status() string {
40
// On error, the state will be "unknown".
41
status, err := lxd.client.Status(lxd.id)
40
func (lxd *lxdInstance) Status() instance.InstanceStatus {
41
jujuStatus := status.StatusPending
42
instStatus, err := lxd.client.Status(lxd.id)
44
return instance.InstanceStatus{
45
Status: status.StatusEmpty,
46
Message: fmt.Sprintf("could not get status: %v", err),
50
case lxdclient.StatusStarting, lxdclient.StatusStarted:
51
jujuStatus = status.StatusAllocating
52
case lxdclient.StatusRunning:
53
jujuStatus = status.StatusRunning
54
case lxdclient.StatusFreezing, lxdclient.StatusFrozen, lxdclient.StatusThawed, lxdclient.StatusStopping, lxdclient.StatusStopped:
55
jujuStatus = status.StatusEmpty
57
jujuStatus = status.StatusEmpty
59
return instance.InstanceStatus{
48
65
// OpenPorts implements instance.Instance.OpenPorts.