Contributors mailing list archives
Re: Recommended Contributor Tooling (RCT)by
Our docker images are 1Gb heavy (only one commit deep): Any reason why such a difference?
Eric Caudal [Founder and CEO]
Skype: elico.corp. Phone: + 86 186 2136 1670 (Cell), + 86 21 6211 8017/27/37 (Office)
Elico Shanghai (Shenzhen/Singapore) Odoo Gold Partner, best Odoo Partner 2014 for APACOn 10/20/2015 03:22 AM, Raphaël Valyi wrote:<blockquote cite="mid:CAByrsx2Zeb2S0ven9RgcMjC_davJXQoFKT=GGUth8mhbw7y4sA@mail.gmail.com" type="cite">Moises,I'll look at what you did, and probably there s some convergence. I see value in being able to spin a Dockerized Runbot in anyway...But about the cache specifically; In Voodoo we wanted to make it work with both Odoo 7, 8 and 9, official Odoo branches, OCB or even custom fork. If we putted all that in the image, that would make the image more than 1Go more to download and then unpack on the disk on our poor SSD disks... (The Voodoo image is already 2Go, making it 3Go would kind of kill the user experience) So instead we let the buildout download a shallow clone of the wanted Odoo repo and we cache it somewhere on the host. I'm open to change that logic but this is how we did until now. And this is more or less the same logic for the Python eggs.Regards.On Mon, Oct 19, 2015 at 3:08 PM, Moises Lopez <email@example.com> wrote:> basicallly what sucks in Odoo is the the repo is huge. So a large part of the Voodoo Python launcher is made to create the options of the docker run command, specially which folder you'll mount to share your Odoo repo (Odoo is too much of a buggy moving target to be bundled inside the image and it's to heavy to be downloaded always).Yes this is a big problem because the creation of instance is too slow.FYI We fix it with a "cache" into image similar to travis build cache.We have in base image a `git clone odoo` then after create a container MQT execute a `git pull odoo VERSION`Now you don't need download each `docker run` full odoo repo just download last changes from last build image.I will review the Consul process to know other way.Thnk you.2015-10-18 20:07 GMT-05:00 Raphaël Valyi <firstname.lastname@example.org>:
David,basicallly what sucks in Odoo is the the repo is huge. So a large part of the Voodoo Python launcher is made to create the options of the docker run command, specially which folder you'll mount to share your Odoo repo (Odoo is too much of a buggy moving target to be bundled inside the image and it's to heavy to be downloaded always).Alternatively I thought about putting the Voodoo inteligence inside the portable Linux image and like running it twice: one to first output the run options and then eval the command of the second run. That's e technique used by Consul https://github.com/gliderlabs/docker-consul/tree/legacy#runner-command but again sadly that wouldn't work on Windows.Voodoo also have a few other useful commands. We often use "voodoo new project_name" to bootstrap a new project and hack on something.Overall, I think the Voodoo Python launcher is useful. But what I think is we can have 80% of the useful features in just 20 lines of Ruby in a Vagrantfile. Then "voodoo run" would be just "Vagrant up" on windows and sharing a project would just work (not the advanced Docker compose feature but f*ck Windows right...)So again, pull request for a such a Vagrantfile would be greatly appreciated in Voodoo.Regards.Hi Raphael, I'm right now analyzing in detail the docker onboarding guide, that's just a bliss. I'll rewrite it for OCA. THE thing is: We can probably completely drop docker-compose and just work with the priviledged flag, to run multiple containers within the first. thise moves tooling environment definition out of the user machine and into a second layer easily managable via a DOCKERFILE... I'll keep you posted, if that might work...Thank you nhomar for your opinion.It is indeed a valuable point, but it is not breaking, because:a) Easier is always better then complicated.b) I'm willing to take on the challenge. So I hope, once testable the scope might be reconsidered upon the final thing.In the end, we have multiple error layers when someone want's to get started on hacking openobject framework, among them are:virtualisation, autoreloading, debugging, editor, templating, prototyping, python environment, os environment (external dependencies). Some of them take weeks to understand and solve, and for some, there is such a flood of possibilities that chances are high you just give up on the way. This means valuable brainpower lost. (It doesn't serve us someone finding out how to setup his stack, it only serves us someone contributing openobject code, so let's get them there in no time! And this marginal contribution can possibly be the so hardly needed reviewing activity...)I think this is why broadening the scope, once we have a viable solution is worthwhile..Guys, share me some enthusiasm! :) That could be more fun for everyone...Best, DavidOn Sun, Oct 18, 2015 at 2:38 PM, David Arnold <email@example.com> wrote:Sorry, you just don't want to burden this onto someone who just want's to get started. Even to us it might be an obvious error. It's not the user's fault, that this is not working. It is the programmer's (as almost always) ...I insist... you are trying to solve an issue far away from the objective of odoo's project.If somebody want install odoo and is new and do not understand that error, need to google 2 or 3 minutes and will find the solution.Even it is better if you recommend 2 or three reads before start.odoo developer bookIf you buy i.e Mac or Windows apps.... the next next buttons will make you some questions which th documentation explains conceptually what they are, but if the user do not have tha minimal knowledg you can not expect the system will solve a connection to their brains to teach alá matrix!Regards.
Post to: mailto:firstname.lastname@example.org