[Fuego] [PATCH 00/16] Fuego Release Test

Tim.Bird at sony.com Tim.Bird at sony.com
Fri Mar 30 21:34:36 UTC 2018

Thanks Guilherme, for posting the patches.  I'm excited about this work.
See comments inline below.

> -----Original Message-----
> From: Guilherme Campos Camargo
> Hello, everyone
> This series of patches contains the initial implementation of the Fuego
> Release Test (Functional.fuegotest).

Please rename this test to Functional.fuego_release_test.  This fits
the naming for other Fuego-related tests better.

I haven't looked at all the patches yet, but if they're for the fuego-core
repository, and are all in the Functional.fuegotest directory, then
I plan to put them into my master branch.  Since they're self-contained
they shouldn't affect other Fuego tests or infrastructure, or interfere
with any work on the 1.3 release.

I can also put them into my next branch.

> This test has been created to allow
> Fuego to test any version of Fuego, given its git repository and branch.
> The test clones the repositories of fuego and fuego-core that are
> configured on the test specs.json, installs fuego and runs that version
> of fuego as the docker container fuego-release-container.
> The test uses Pexpect, to execute/verify commands in the
> fuego-release-container shell, and uses SeleniumHQ to interact with the
> Jenkins web interface, checking if the web interface responds as
> expected.
This is nice as it adds some additional materials and examples we can
use for other tests.

> A few wrappers have been implemented on top of Pexpect and SeleniumHQ
> in
> order to facilitate the inclusion of new tests.
> The default specs.json is currently configured to clone and test fuego
> and fuego-core from the master branch of the official repository. What
> can be changed through the specs.json file.

Sounds good.  I haven't looked yet, but it would be good to have
specs for 'next', and 'test'.  I use those branches fairly often.

> # Running
> Currently this test requires a modified version of Fuego to be executed,
> given that it needs to install some dependencies and needs to map the
> dockerd socket from the host to the fuego container.
> The modified version can be found in two different branches on
> Profusion's fuego fork.
>  1 - Branch fuego-test: Just a few commits that are necessary for making
>  this test work, applied on top of fuego/next. We plan to try to
>  integrate these commits into fuego/next in the next few days.
>  2 - Branch fuego-base-image: A more complex change on fuego, that makes
>  the necessary changes for allowing it to be shipped as a docker image
>  through dockerhub.
> The steps for each one of the versions above are given below:
> ## Building the image (from the branch fuego-test)
> To run the test, execute the following commands:
> ```
> git clone --branch fuego-test https://bitbucket.org/profusionmobi/fuego-
> core.git
> git clone --branch fuego-test https://bitbucket.org/profusionmobi/fuego.git
> cd fuego
> ./install fuego-to-test-fuego
> ./fuego-host-scripts/docker-create-container.sh fuego-to-test-fuego fuego-
> to-test-fuego-container
> ./fuego-host-scripts/docker-start-container.sh fuego-to-test-fuego-
> container
> ```
> Then, add the fuego-test board and the Functional.fuegotest and start
> the test through Jenkins (localhost:8080/fuego/)
> ```
> ftc add-nodes fuego-test
> ftc add-jobs -b fuego-test -t Functional.fuegotest
> ```
> ## Using the modified Fuego Base Image from Dockerhub
> (fuego-base-image):
> You can also use the fuego base image that's being developed in
> Profusion's fuego-base-image branch in our fork:
> https://bitbucket.org/profusionmobi/fuego/branch/fuego-base-image
> The image is already available on dockerhub and can be
> downloaded/executed with:
> ```
> docker pull fuegotest/fuego
> docker run -it \
>   -p 8080:8080 \
>   -v $(pwd)/host_fuego_home:/var/fuego_home \
>   -e JENKINS_UID=$(id -u) \
>   -e JENKINS_GID=$(id -g) \
>   -v /var/run/docker.sock:/var/run/docker.sock \
>   fuegotest/fuego:latest
> ```
> Wait for the shell to be available and add fuego-test board and
> Functional.fuegotest as explained in the last section.
> ```
> ftc add-nodes fuego-test
> ftc add-jobs -b fuego-test -t Functional.fuegotest
> ```

It's very nice to have detailed instructions for both methods.
 -- Tim

More information about the Fuego mailing list