← Back to team overview

fuel-dev team mailing list archive

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

 

It neither easy nor good idea to rewrite Exec type.
Let's make Docker native resoure  to controll docker instead.
Or maybe there are already some implementations that doesn't suck.


2014-02-10 Vladimir Kuklin <vkuklin@xxxxxxxxxxxx>:

> Matt
>
> You can easily rewrite puppet modules by writing Puppet provider for
> Docker exec and applying puppet defaults class by class: e.g:
>
> Exec {provider=>Docker, ENV=>"export container_id=#{ID}"}
>
>
> On Mon, Feb 10, 2014 at 5:36 PM, Bogdan Dobrelya <bdobrelia@xxxxxxxxxxxx>wrote:
>
>> 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
>>
>> --
>> Mailing list: https://launchpad.net/~fuel-dev
>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~fuel-dev
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
>
> --
> Yours Faithfully,
> Vladimir Kuklin,
> Senior Deployment Engineer,
> Mirantis, Inc.
> +7 (495) 640-49-04
> +7 (926) 702-39-68
> Skype kuklinvv
> 45bk3, Vorontsovskaya Str.
> Moscow, Russia,
> www.mirantis.com <http://www.mirantis.ru/>
> www.mirantis.ru
> vkuklin@xxxxxxxxxxxx
>

References