← Back to team overview

fuel-dev team mailing list archive

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

 

On 02/10/2014 03:07 PM, Dmitry Ilyin wrote:
> Actually it's a very promising idea to move to atomic lxc container for
> our master node.
> 
> Volumes used to run these containers could be packaged and easily
> installed or updated by just replacing the file by the new version.
> Container will also be compleatly independent and any changing would not
> break any neighbour container. (Well... except database structures...)
> 
> Such containers will be able to speak to each other through unix or tcp
> sockets.
> Building such containers will require us to invent some automated system
> but their installation and use would be much more reliable then our
> current technology.
> This method can also combine configuration flexibility of
> puppet-deployed nodes with speed and reliability of image-based
> provisioned systems.
> 
> We should also look into using the same approach for controller and even
> compute nodes. It could help us to find solution to our long lasting
> OpenStack upgrading problem.
AFIK, the main issue of Openstack upgrades is DB schema related (all
objects must have a versioning info, see
https://blueprints.launchpad.net/nova/+spec/unified-object-model, for
example). I doubt docker could help here. Please correct me, If I'm wrong.
> 
> 
> 2014-02-10 Evgeniy L <eli@xxxxxxxxxxxx <mailto:eli@xxxxxxxxxxxx>>:
> 
>     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
> 
>     --
>     Mailing list: https://launchpad.net/~fuel-dev
>     Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>     <mailto:fuel-dev@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~fuel-dev
>     More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> 


-- 
Best regards,
Bogdan Dobrelya,
Skype #bogdando_at_yahoo.com
Irc #bogdando


Follow ups

References