Re: Explore integrating django-docker-box in some way?

2019-10-04 Thread Bruno Alla
Just a note that as a newish contributor to Django, this django-docker-box 
is fantastic, it makes things much easier to setup. 

Thank you to everyone involved!

On Wednesday, 5 December 2018 00:02:27 UTC, Tom Forbes wrote:
>
> To have this completely working at sprints without having everyone 
> building their own local images we would need to have the Jenkins server 
> use docker in some capacity. This would also require an official django 
> account on Docker hub.
>
> The pattern I’m using right now is that on every build we pull the 
> django-ci:latest image (from my personal account). Docker uses this image 
> as a cache automatically (preventing rebuilds). On any successful master 
> build we push the new image to docker-hub, so subsequent builds can utilise 
> it.
>
> Then anyone wanting to speed up their bootstrapping can do docker-compose 
> pull and automatically have the latest image available for running right 
> away. We can make this smaller, for sure, but we can also suggest people 
> download this beforehand (i.e at their hotel).
>
> I don’t know how feasible this is but it’s also very easy to run a caching 
> docker mirror (docker run -p 5000:5000 registry). Organizers could run 
> this at large events and configuring docker to use a local mirror on the 
> network is a one-line change for atendees.
>
>
>
>
> On 4 December 2018 at 23:52:42, Josh Smeaton (josh@gmail.com 
> ) wrote:
>
> Size of the image could definitely be a concern, especially at sprints 
> where wifi speeds aren't always optimal. The django-box image is 
> significantly larger though so it'd still be a net win. There are also 
> optimisations that can be made to the image for reducing size over time, so 
> I'd fully expect it to come down. I've spent a little bit of time trying to 
> optimise a $work$ python docker file, I'll provide what I've got as an 
> issue to possibly look at. 
>
> I see that the ticket has been accepted and I think that's a great step 
> forward. I'd also like to hear from the infrastructure team what their 
> thoughts on using docker over customised build environments would be.
>
> Florian, Tim, Markus .. any thoughts? (Apologies, I've missed some, this 
> list of names is from memory).
>
> On Wednesday, 5 December 2018 10:39:16 UTC+11, Tom Forbes wrote: 
>>
>> Thank you for the reply Josh. I didn’t anticipate any suggestions for 
>> including this inside core but off the back of your suggestion I’ve made a 
>> ticket here: https://code.djangoproject.com/ticket/30010.
>>
>> I don’t think it should be complex at all to include this inside Django - 
>> it’s four or five new files at most. Hopefully this should improve the 
>> experience at sprints, however the current Dockerfile weighs in at 650+mb 
>> so the problem may switch from ‘it is hard to set up an environment’ to ‘it 
>> is hard to download one’!
>>
>>
>>
>> On 5 November 2018 at 23:02:30, Josh Smeaton (josh.s...@gmail.com) wrote:
>>
>> I'm sorry I haven't had the time to review or contribute yet, but I think 
>> it'll be a very useful project - especially for new contributors that might 
>> have a little docker experience. The current vagrant solution is heavy, 
>> does not work properly on windows and some linuxes, and isn't that easy to 
>> maintain or deploy. I'd be in favour of adding the docker files directly to 
>> django/django to minimise setup burden (DJANGO_PATH), and improving the 
>> contributing docs to show users how to test using docker. 
>>
>> One of the hardest things I found at sprints was getting development 
>> environments setup to effectively contribute - even using the docker-box 
>> project which I understand quite well. Anything we can do to improve that 
>> situation will be very beneficial.
>>
>> I have fewer opinions about the official CI story, hopefully some of the 
>> infrastructure team can comment more on that. I think that replacing the 
>> ansible roles with a docker setup can have some definite improvements and 
>> open up CI tasks to a larger pool of people (anyone that can edit docker 
>> files), but it'd come with maintaining the host that runs docker (cleaning 
>> up images, dealing with disk space issues, etc).
>>
>>
>> On Monday, 5 November 2018 01:20:03 UTC+11, Tom Forbes wrote: 
>>>
>>> Hello all,
>>>
>>> I’ve been working on a docker-compose based alternative to django-box 
>>> (imaginatively named django-docker-box) over the last month and it 
>>> finally appears to be mostly complete.
>>>
>>> For reference the tool is just a Dockerfile and a docker-compose 
>>> definition that is able to run a complete test matrix of every supported 
>>> Python and DB version. It’s as simple as docker-compose run sqlite. You 
>>> can see a full test run (excluding oracle) here: 
>>> https://travis-ci.com/orf/django-docker-box/builds/90167436
>>>
>>> Florian suggested I create a thread here to gather feedback and discuss 
>>> any potential future directions for the project, so here goes:
>>>
>>> Firstly I’

Re: Explore integrating django-docker-box in some way?

2019-10-04 Thread Josh Smeaton
+1

On that note, how do people feel about archiving/deprecating 
https://github.com/django/django-box and updating the readme to point to 
the docker box project?

The last official version it supports is Django 2.1, but it was already on 
life support at that time, since half of the people who tried to use it 
couldn't.

On Friday, 4 October 2019 21:40:02 UTC+10, Bruno Alla wrote:
>
> Just a note that as a newish contributor to Django, this django-docker-box 
> is fantastic, it makes things much easier to setup. 
>
> Thank you to everyone involved!
>
> On Wednesday, 5 December 2018 00:02:27 UTC, Tom Forbes wrote:
>>
>> To have this completely working at sprints without having everyone 
>> building their own local images we would need to have the Jenkins server 
>> use docker in some capacity. This would also require an official django 
>> account on Docker hub.
>>
>> The pattern I’m using right now is that on every build we pull the 
>> django-ci:latest image (from my personal account). Docker uses this 
>> image as a cache automatically (preventing rebuilds). On any successful 
>> master build we push the new image to docker-hub, so subsequent builds can 
>> utilise it.
>>
>> Then anyone wanting to speed up their bootstrapping can do docker-compose 
>> pull and automatically have the latest image available for running right 
>> away. We can make this smaller, for sure, but we can also suggest people 
>> download this beforehand (i.e at their hotel).
>>
>> I don’t know how feasible this is but it’s also very easy to run a 
>> caching docker mirror (docker run -p 5000:5000 registry). Organizers 
>> could run this at large events and configuring docker to use a local mirror 
>> on the network is a one-line change for atendees.
>>
>>
>>
>>
>> On 4 December 2018 at 23:52:42, Josh Smeaton (josh@gmail.com) wrote:
>>
>> Size of the image could definitely be a concern, especially at sprints 
>> where wifi speeds aren't always optimal. The django-box image is 
>> significantly larger though so it'd still be a net win. There are also 
>> optimisations that can be made to the image for reducing size over time, so 
>> I'd fully expect it to come down. I've spent a little bit of time trying to 
>> optimise a $work$ python docker file, I'll provide what I've got as an 
>> issue to possibly look at. 
>>
>> I see that the ticket has been accepted and I think that's a great step 
>> forward. I'd also like to hear from the infrastructure team what their 
>> thoughts on using docker over customised build environments would be.
>>
>> Florian, Tim, Markus .. any thoughts? (Apologies, I've missed some, this 
>> list of names is from memory).
>>
>> On Wednesday, 5 December 2018 10:39:16 UTC+11, Tom Forbes wrote: 
>>>
>>> Thank you for the reply Josh. I didn’t anticipate any suggestions for 
>>> including this inside core but off the back of your suggestion I’ve made a 
>>> ticket here: https://code.djangoproject.com/ticket/30010.
>>>
>>> I don’t think it should be complex at all to include this inside Django 
>>> - it’s four or five new files at most. Hopefully this should improve the 
>>> experience at sprints, however the current Dockerfile weighs in at 650+mb 
>>> so the problem may switch from ‘it is hard to set up an environment’ to ‘it 
>>> is hard to download one’!
>>>
>>>
>>>
>>> On 5 November 2018 at 23:02:30, Josh Smeaton (josh.s...@gmail.com) 
>>> wrote:
>>>
>>> I'm sorry I haven't had the time to review or contribute yet, but I 
>>> think it'll be a very useful project - especially for new contributors that 
>>> might have a little docker experience. The current vagrant solution is 
>>> heavy, does not work properly on windows and some linuxes, and isn't that 
>>> easy to maintain or deploy. I'd be in favour of adding the docker files 
>>> directly to django/django to minimise setup burden (DJANGO_PATH), and 
>>> improving the contributing docs to show users how to test using docker. 
>>>
>>> One of the hardest things I found at sprints was getting development 
>>> environments setup to effectively contribute - even using the docker-box 
>>> project which I understand quite well. Anything we can do to improve that 
>>> situation will be very beneficial.
>>>
>>> I have fewer opinions about the official CI story, hopefully some of the 
>>> infrastructure team can comment more on that. I think that replacing the 
>>> ansible roles with a docker setup can have some definite improvements and 
>>> open up CI tasks to a larger pool of people (anyone that can edit docker 
>>> files), but it'd come with maintaining the host that runs docker (cleaning 
>>> up images, dealing with disk space issues, etc).
>>>
>>>
>>> On Monday, 5 November 2018 01:20:03 UTC+11, Tom Forbes wrote: 

 Hello all,

 I’ve been working on a docker-compose based alternative to django-box 
 (imaginatively named django-docker-box) over the last month and it 
 finally appears to be mostly complete.

 For reference the