Local/LXC provider

Kapil Thangavelu kapil.thangavelu at canonical.com
Wed Oct 5 01:14:32 UTC 2011

Hi Folks,

If your interested in trying out the new local/lxc provider for juju, its in the 
latest daily ppa (and trunk) (revno 385) and could benefit from some further 
testing. We'd love to hear about any feedback people might have with this new 

You'll need to setup an environment.yaml with the following provider config

     provider: local
     data-dir: path-to-some-directory
     default-series: oneiric

You'll need some additional package dependencies (the cli will warn you at 
bootstrap if anything is missing), specifically libvirt-bin, lxc, apt-cacher-ng,
and zookeeperd.

After that you can bootstrap juju (it will do a sudo prompt), this will launch
zookeeper and a machine agent (the latter running as root) on the host. All 
log files and data are kept in the user specific data-dir.

 juju bootstrap
 juju deploy --repository=examples local:wordpress
 juju deploy --repository=examples local:mysql
 juju add-relation wordpress mysql
 ./bin/juju status

If you have any problems getting things running please ping us on the #juju irc 
channel, or post a bug, please include $data-dir/units/master-customize.log and 
$data-dir/machine-agent.log in bug reports.

The initial container creation will take a few minutes depending on if you've 
used lxc before as it does a debootstrap (cached subsequently), but additional 
containers should be quite fast. Ben did some nice work to make this as fast 
possible using lxc-clone and package caching (apt-cacher-ng) under the hood.
The containers created are namespaced in a such way that you can create multiple
environments on a machine. The containers also namespaced by user for multi-user
machines. Hopefully the need for a sudo/root machine agent. users will disappear 
with user namespaces next cycle.



More information about the Juju mailing list