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 }