← Back to team overview

fuel-dev team mailing list archive

[feature status] Master node upgrade (python + puppet + lxc vs docker)

 

Hi,


As many of you may already know we started design/implementation of master
node upgrade feature. Here you can read the design
document<https://docs.google.com/a/mirantis.com/document/d/1Mem9LP7ysaHNNSltlCLPw36jHix5ULlKmsMgTViHfog/>
.


So, it's just status update of this feature.

We want to use docker as containers management tool.


*Here is Docker's pros and cons*

Pros

+
http://stackoverflow.com/questions/17989306/what-does-docker-add-to-just-plain-lxc

+ rest API (it will be very useful in case of plugins, when we'll be able
to setup new container from inside another container)

+ lxc requires us to design our own build process and networking

+ docker has a standard dockerfile format and tools to build images and
store them in git and do version management

Cons

- additional complexity

- non-persistent containers, it can be solved with volumes

http://www.tech-d.net/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/

http://www.offermann.us/2013/12/tiny-docker-pieces-loosely-joined.html

http://crosbymichael.com/advanced-docker-volumes.html

- regarding non-persistent containers will be a lot of questions like "I
patched nailgun but when I rerun container all changes are gone" (can be
solved with documentation)

Let us know if you have any ideas or questions.

Thanks

Follow ups