Containerisation update
Tim Penhey
tim.penhey at canonical.com
Fri Jun 14 04:34:20 UTC 2013
Hi folks,
End of another week and good progress has been made.
We can manually create containers in state using the 'add-machine' command.
juju add-machine 0/lxc
- creates an lxc container on machine 0
juju add-machine /lxc
- creates a new machine, and an lxc container on it
I have started breaking up my work for landing on trunk.
Prep branches mostly so far:
lp:~thumper/juju-core/instance-instance ⇒ lp:juju-core
- moves environ.Instance into instance.Instance
lp:~thumper/juju-core/machine-id-from-tag ⇒ lp:juju-core
- simple state function used later
lp:~thumper/juju-core/lxc-cloud-init ⇒ lp:juju-core
- make sure lxc is installed by cloud-init
and a golxc branch:
lp:~thumper/golxc/mockable ⇒ lp:golxc
- adds interfaces around the lxc bits so they can be mocked out
I'm currently working on: lp:~thumper/juju-core/lxc-container
This has the juju version of the lxc container. This knows is more juju
specific, and creates the appropriate cloud-init, and I have managed to
test this manually.
There is one more branch in the pipeline, lxc-broker.
These last two aren't fully functional yet because I broke the API by
changing golxc, but I'm working on fixing it and adding tests using mock
lxc objects.
So, I have managed to manually fire up some lxc containers on ec2
instances using the same provider_tasks and broker interfaces defined in
trunk right now. This was able to register with state and set the agent
to started. I was able to deploy a charm to the lxc container using
--force-machine, and it appeared to work.
Still todo:
- land the new watcher - Ian has this mostly done and is updating due
to review comments
- land the status update to show containers indented - reviews done I
believe
- add tests around the juju-core/container/lxc work, get it reviewed,
and land it
- add tests for the lxc-broker, get it reviewed, and land it
- address the addressability of the containers themselves, right now
they can view out, but nothing can view in.
- handle the open/close ports for the container
- add container constraints
- handle automagical assignment of units to containers
And that will be iteration 1 :-)
Cheers,
Tim
More information about the Juju-dev
mailing list