OLD | NEW |
1 // Copyright 2013 Canonical Ltd. | 1 // Copyright 2013 Canonical Ltd. |
2 // Licensed under the AGPLv3, see LICENCE file for details. | 2 // Licensed under the AGPLv3, see LICENCE file for details. |
3 | 3 |
4 package provisioner | 4 package provisioner |
5 | 5 |
6 import ( | 6 import ( |
7 "fmt" | 7 "fmt" |
8 | 8 |
9 "github.com/juju/loggo" | 9 "github.com/juju/loggo" |
10 | 10 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 inst, hardware, err := broker.manager.CreateContainer(args.MachineConfig
, series, network) | 98 inst, hardware, err := broker.manager.CreateContainer(args.MachineConfig
, series, network) |
99 if err != nil { | 99 if err != nil { |
100 kvmLogger.Errorf("failed to start container: %v", err) | 100 kvmLogger.Errorf("failed to start container: %v", err) |
101 return nil, nil, nil, err | 101 return nil, nil, nil, err |
102 } | 102 } |
103 kvmLogger.Infof("started kvm container for machineId: %s, %s, %s", machi
neId, inst.Id(), hardware.String()) | 103 kvmLogger.Infof("started kvm container for machineId: %s, %s, %s", machi
neId, inst.Id(), hardware.String()) |
104 return inst, hardware, nil, nil | 104 return inst, hardware, nil, nil |
105 } | 105 } |
106 | 106 |
107 // StopInstances shuts down the given instances. | 107 // StopInstances shuts down the given instances. |
108 func (broker *kvmBroker) StopInstances(instances []instance.Instance) error { | 108 func (broker *kvmBroker) StopInstances(ids ...instance.Id) error { |
109 // TODO: potentially parallelise. | 109 // TODO: potentially parallelise. |
110 » for _, instance := range instances { | 110 » for _, id := range ids { |
111 » » kvmLogger.Infof("stopping kvm container for instance: %s", insta
nce.Id()) | 111 » » kvmLogger.Infof("stopping kvm container for instance: %s", id) |
112 » » if err := broker.manager.DestroyContainer(instance); err != nil
{ | 112 » » if err := broker.manager.DestroyContainer(id); err != nil { |
113 kvmLogger.Errorf("container did not stop: %v", err) | 113 kvmLogger.Errorf("container did not stop: %v", err) |
114 return err | 114 return err |
115 } | 115 } |
116 } | 116 } |
117 return nil | 117 return nil |
118 } | 118 } |
119 | 119 |
120 // AllInstances only returns running containers. | 120 // AllInstances only returns running containers. |
121 func (broker *kvmBroker) AllInstances() (result []instance.Instance, err error)
{ | 121 func (broker *kvmBroker) AllInstances() (result []instance.Instance, err error)
{ |
122 return broker.manager.ListContainers() | 122 return broker.manager.ListContainers() |
123 } | 123 } |
OLD | NEW |