Contributors mailing list archives

contributors@odoo-community.org

Re: Recommended Contributor Tooling (RCT)

by
dar@devco.co
- 21/10/2015 15:41:52
I have few comments from our dockerizing experience in the production environment, that may contribute to this discussion:
1) We always use external database out of docker environment in production. More specifically we use Amazon RDS but even if it was managed by ourselves, we wouldn't use -link unless we use one database per docker. Db container restart/update messes up all containers that are linked to it and requires restart of all containers.  Yes this is a huge discussion since it has advantages and disadvantages, but i want you to know how we ended up.

I think rolling updates of databases is a topic of it's own, we didn't find any other way then to rely on postgres very own high availablity fetures for that. with an ambasador and hot failover.

2) We use a daily bugfix strategy, thus we get latest fixes from github every night and create a new image. The rest is just the restart of containers with the new image.
3) For downloading latest source/syncing fastest and safest option for us was to download zip archive. You might want to consider this since this saves space since you don't need git. It works like this:
 ENV ODOO_VERSION 8.0
 curl -o odoo.zip -SL https://github.com/oca/odoo/archive/${ODOO_VERSION}.zip \
&& unzip -q odoo.zip -d /tmp \
&& mv /tmp/odoo-${ODOO_VERSION} /opt/odoo/server \
&& rm -rf odoo.zip 

We do it the same way in our production images.

4) If you happen to launch a source in docker, python compiles .py files and starts creating .pyc files which increases docker instances' differential file system.  We get over this problem by compiling all sources during image creation.
python -m compileall /opt/odoo/server

Same here, this is a very nice tweak.

5) We cleaned up the image to get smaller once the image is ready
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false npm gcc \
        && apt-get -y autoclean \
        && rm -rf /var/lib/apt/lists/*

I was thinking the ubuntu base image is already prepared to do so automatically, so we discarted it again. Maybe I got something wrong here.

6) removed unnecessary addons which won't be used on the server side:
       rm -rf /opt/odoo/server/addons/hw_* \

I will be glad if we can use our experience to have something better for the community. Our docker is not published but i can share it here, if anyone is interested.

I think, this is the level of detail, we should discuss base images upon. I think this mailing list is a very unhandy tool to converge knowledge. This i why I created this initative: https://odoo-community.org/groups/tools-22/tools-27361?mode=date&date_begin=2015-10-01&date_end=2015-11-01

Best Regards, David 

Saludos Cordiales
David Arnold

David Arnold BA HSG / Analista
315 304 13 68/ dar@devco.co

devCO - empresa de consultoría de sistemas (en fundación)
http://www.devco.co

This e-mail message may contain confidential or legally privileged information and is intended only for the use of the intended recipient(s). Any unauthorized disclosure, dissemination, distribution, copying or the taking of any action in reliance on the information herein is prohibited. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, or contain viruses. Anyone who communicates with us by e-mail is deemed to have accepted these risks. devCO is not responsible for errors or omissions in this message and denies any responsibility for any damage arising from the use of e-mail. Any opinion and other statement contained in this message and any attachment are solely those of the author and do not necessarily represent those of the company.


2015-10-21 8:08 GMT-05:00 Eric Caudal <eric.caudal@elico-corp.com>:

Hi Houzéfa Abbasbhay
I will check about the removed help file and the removal reason (probably lack of time to maintain after the changes: we are still in work in progress)
About sed, we will look as well but did not have issues so far.
thanks for your feedback

--
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 APAC
On 10/21/2015 08:38 PM, Houzéfa Abbasbhay wrote:
<blockquote cite="mid:CAN1B5vtro1dkCRYMDz_kn0CyGuHE+ifDdyQ6Grg25qZgC=QMEg@mail.gmail.com" type="cite">
Hmm,

The sed commands with "/g" seem a bit dangerous...

Note: only the default odoo conf file is modified by the sed commands, not the one that can be selected via ODOO_CONF env var.

Also, why has the help file been removed? It was quite useful when running the Docker image without any additional argument.

On Wed, Oct 21, 2015 at 2:08 PM, Eric Caudal <eric.caudal@elico-corp.com> wrote:

Credit has been updated in github.
About the purpose of OCA repository, it is still to be discussed but it could cover in order of priority:
1.- easy onboarding based on OCB
2.- Production based on OCB (for me actually the same as 1)
3.- Easy customizable docker that allows to test some repo via oca_dependencies.txt (https://github.com/Elico-Corp/odoo-docker/pull/9/files or similar)
4.- Developer dockers (including postgres?)

In parallel thread about the topic, additional tools have been proposed such as travis2docker, voodoo and it might be interesting to include them in the project.

--
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 APAC
On 10/21/2015 07:23 PM, Florent Aide wrote:
<blockquote cite="mid:CABmBFWnMemwVFVQWLFMyb0nj9WH8O0bF+yOb-Gy3KO4xBPYK4w@mail.gmail.com" type="cite">
2015-10-21 3:38 GMT+02:00 Eric Caudal <eric.caudal@elico-corp.com>:
> Hi Florent,
> I feel I have to answer to your mail.
>
> First of all, as I already mentioned, sorry for forgetting your credit in
> our contribution.

forgetting is one thing, keeping that way is another.

> Said so, your work is open source and we just used it to create our own fork
> with clear improvements suitable for our needs and views.
> You can accuse us of not crediting you but surely not of ripping off. The

I do not accuse, I merely note the facts...

Taking without credit, removing original authors, reuploading under
another name to github and dockerhub and then proposing to work on an
OCA docker citing your work without acknowledging ours (until shamed
to do so). Once exposed minimize matters and cover-up even more by
removing the last trace of our name from the files without adding a
proper acknowledgment!!! (my remark from a few hours ago)

As of right now I still do not see our company name in your README...

Those are facts, not accusations. I accuse you of nothing, I merely state facts.

> work in our repo is aimed for our company and if we used your base to our
> work, we clearly modified and adapted it for our purpose (cleansing what we
> think are "unnecessary" help files is part of it). As said we just used
> opensource rules to built our specific docker files that we in turn
> published opensource.

I see no problem to people reusing my work do not try and give lessons please.
As I already pointed if the help file is something unnecessary at
least remove the code that use it... Because at the moment the boot
file is orphaned and will fail when someone tries the corresponding
command. You do not shed yourself in a good light when insisting on
this point.

>
> We do not intend to sell it or take any benefit from it: it is even more, I
> proposed a docker repo in OCA pushing all my existing knowledge and RD for
> free (3 months of hassle trying to make work your docker in China which we
> never succeeded) so that we could start sharing and building an open source
> repo for the benefits of the community.

So basically you took 3 months to make adaptations without even asking
for help or proposing changes and then proposed your work as novel
ideas for inclusion in OCA. fair enough, it is chinese customization.

> We could have proposed commits to your repo and we didnot (we felt that our
> objectives were different than yours and thought that your repo was valid
> for the European market). Maybe a mistake but I personally think that I'd
> rather improve the OCA proposal in a collaborative manner, touching more
> audience. I do not intend to push specifically our repo there, simply build
> a suitable docker repo for OCA.

Before speaking of building a docker file for OCA we should maybe
state the purpose and scope we try to achieve.

In your first announcement you spoke about production images. But then
in this thread you are also stating the image should help people
download and evaluate Odoo.
While those two goals may not contradict themselves they also may
conflict. If this "conflict" arise we should have guidelines as to
precisely what are our proposed goals.

What would be the proposed scope and target of an OCA docker image?
This is the first question we should try and answer here.
On my side I am interested to have a base image (same as xcgd/odoo)
based on OCA upon which I will build my production images. I don't
really intend to favor "demo build" since anybox recipe is
(originally) intended just for that a provides a better way to do it.

>
> Please note that if you decide to push your work to OCA, you will become
> coauthor and will have to accept that other companies work are included in
> yours, diluting your original work. This is how it works in the OCA: this is
> a team and comprehensive effort to build common tools.

I fully understand this and don't have problem with that, once again
no need to try and give lessons to me about open source. From my point
of view a "team" works together, it seems rather strange you give me
lessons when I am the one exposing your practices.

>
> I hope I cleared some misunderstanding and that from there we can start
> building collaboration for an solid OCA docker repository.

A clear notice of where the code comes from would be nice and prove
working together is something we can achieve. And as already stated I
began by being really balanced in my remarks. If I am taking time to
write here it _is_ because I want to achieve collaboration together
and share something with the community.

I am sure that once you just acknowledge our work in your README and
stop trying to cover up, we will all be able to work together in an
open fashion and good spirit.

-- 
Cordialement,


  Florent AIDE
  Président directeur général
  59 rue Meslay, 75003 Paris
  Tél: +33 1 83 62 72 87
  Mob : +33 6 59 14 19 76
  http://www.xcg-consulting.fr/

_______________________________________________
Mailing-List: http://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: http://odoo-community.org/groups?unsubscribe


_______________________________________________
Mailing-List: http://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: http://odoo-community.org/groups?unsubscribe




--

--
Houzéfa Abbasbhay
XCG Consulting - Developer

_______________________________________________
Mailing-List: http://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: http://odoo-community.org/groups?unsubscribe


_______________________________________________
Mailing-List: http://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: http://odoo-community.org/groups?unsubscribe