launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/container/lxc/initialisation.go (about)

     1  // Copyright 2013 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package lxc
     5  
     6  import (
     7  	"launchpad.net/juju-core/container"
     8  	"launchpad.net/juju-core/utils"
     9  )
    10  
    11  var requiredPackages = []string{
    12  	"lxc",
    13  }
    14  
    15  type containerInitialiser struct{}
    16  
    17  // containerInitialiser implements container.Initialiser.
    18  var _ container.Initialiser = (*containerInitialiser)(nil)
    19  
    20  // NewContainerInitialiser returns an instance used to perform the steps
    21  // required to allow a host machine to run a LXC container.
    22  func NewContainerInitialiser() container.Initialiser {
    23  	return &containerInitialiser{}
    24  }
    25  
    26  // Initialise is specified on the container.Initialiser interface.
    27  func (ci *containerInitialiser) Initialise() error {
    28  	return ensureDependencies()
    29  }
    30  
    31  func ensureDependencies() error {
    32  	return utils.AptGetInstall(requiredPackages...)
    33  }