~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/provisioner/lxc-broker.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:
18
18
        "github.com/juju/utils/arch"
19
19
        "github.com/juju/utils/exec"
20
20
        "github.com/juju/utils/set"
 
21
        "github.com/juju/version"
21
22
 
22
23
        "github.com/juju/juju/agent"
23
24
        apiprovisioner "github.com/juju/juju/api/provisioner"
28
29
        "github.com/juju/juju/environs"
29
30
        "github.com/juju/juju/instance"
30
31
        "github.com/juju/juju/network"
31
 
        "github.com/juju/juju/storage/looputil"
32
32
        "github.com/juju/juju/tools"
33
 
        "github.com/juju/juju/version"
34
33
)
35
34
 
36
35
var lxcLogger = loggo.GetLogger("juju.provisioner.lxc")
49
48
// Override for testing.
50
49
var NewLxcBroker = newLxcBroker
51
50
 
52
 
func newLxcBroker(
53
 
        api APICalls,
 
51
func newLxcBroker(api APICalls,
54
52
        agentConfig agent.Config,
55
53
        managerConfig container.ManagerConfig,
56
54
        imageURLGetter container.ImageURLGetter,
58
56
        defaultMTU int,
59
57
) (environs.InstanceBroker, error) {
60
58
        namespace := maybeGetManagerConfigNamespaces(managerConfig)
61
 
        manager, err := lxc.NewContainerManager(
62
 
                managerConfig, imageURLGetter, looputil.NewLoopDeviceManager(),
63
 
        )
 
59
        manager, err := lxc.NewContainerManager(managerConfig, imageURLGetter)
64
60
        if err != nil {
65
 
                return nil, err
 
61
                return nil, errors.Trace(err)
66
62
        }
67
63
        return &lxcBroker{
68
64
                manager:     manager,
162
158
                return nil, err
163
159
        }
164
160
 
165
 
        inst, hardware, err := broker.manager.CreateContainer(args.InstanceConfig, series, network, storageConfig)
 
161
        inst, hardware, err := broker.manager.CreateContainer(args.InstanceConfig, series, network, storageConfig, args.StatusCallback)
166
162
        if err != nil {
167
163
                lxcLogger.Errorf("failed to start container: %v", err)
168
164
                return nil, err