4th Meeting: GSoC 17 Parallel Testing
By on 2017-06-14 19:24 in GSoC 17 Parallel Testing
Date: 7th June 2017
Time: 15:00 (UTC / GMT) 17:00 (CEST)
Meeting was attended by: Niels Braczek, Astrid Guenther, Andrei Isac, Tito Alvarez
Summary:
1) Discussed problem with Dnsmasq setup
2) Make Apache containers available to Selenium
3) Multiple Joomla installations per container?
4) Plan discussion
5) Pre-Installed Joomla images
6) Meeting optimisation
Topics:
1) Discussed problem with Dnsmasq setup
curl: (52) Empty reply from server is the response given from the Apache server when it gets the request from the browser. The request is forwarded as it can bee seen in the container logs.
Proper configuration can be found in the original documentation.
I will check again the setup and if not ask for help.
2) Make Apache containers available to Selenium
We have discussed two options:
-
To use a network-internal DNS server that will forward the requests from the Selenium containers to the Apache servers.
-
To use docker networks and in that way we can access the containers by using their names.
Unique domains for the dns solution can be solved by adding an extra domain name like <vhost>.<testid>.dev
Inside the network we could simply call hosts with their first names like http://<vhost>, current use example.
More informations and pros and cons can be found here:
3) Multiple Joomla installations per container?
The initial plan was using one installation per docker container, but the virtualization package offers a more effective way of using the Apache container by putting all the needed Joomla versions on the same containers as assigning a different vhost for each one.
4) Plan discussion
3 weeks are left until the first deadline, so we have splitted the remaining tasks in three main ones (+ a small 4th one). There will be a soft deadline for each, one week after another:
1. Setup the whole Virtualisation environment including dnsmasq / Docker network (tbd)
1.2 Build pre installed Joomla images in order to increase tests speed would be defined as importing an existing installation(for each Joomla version: 3.7, 3.8, staging) into each image.
2. Define how Selenium container will auto-execute the tests (using some predefined structure)
3. API for generating the testing environment including the selenium containers
4. Reuse the already built images, by tagging them and uploading/downloading from a Docker hub
5) Pre-Installed Joomla images
Virtualisation is building some images on demand. This building effort has to be invested on each run (if caching doesn't come in). Committing those images to an internal hub could speed things up significantly.
Usually, the Dockerfiles are re-generated on each run, so most likely, a new build is triggered. However, as long as the network is up, there's no re-build process, of course.
Since the configuration of these images is volatile, Virtualisation does not commit them to a hub.
For extension testing, usually a fixed version of Joomla CMS is all right, so it doesn't have to change, that's where the nightly builder takes place. The goal is to avoid building images during tests
For fixed versions it is possible to provide pre-defined images.
6) Meeting optimisation
Tito and I will define a pre-written agenda in order to bring the meeting time down from 120 minutes to 60 minutes.