[Fuego] RFC: Fuego's version up and other changes

Daniel Sangorrin daniel.sangorrin at toshiba.co.jp
Wed Jan 11 00:28:07 UTC 2017


Hi everyone,

I've been working on Fuego's upgrade for a few weeks, and in the process I have made quite a few changes.
You can check it by following these instructions. I'd really appreciate your feedback:

Quickstart:
  $ git clone --branch next https://bitbucket.org/nirrognas/fuego.git
  $ git clone --branch next https://bitbucket.org/nirrognas/fuego-core.git
  $ cd fuego/
  $ ./install.sh
  $ ./fuego-host-scripts/docker-create-container.sh
  $ ./fuego-host-scripts/docker-start-container.sh
  docker# fuego-create-node --board docker
  docker# fuego-create-jobs --board docker --testplan testplan_docker --distrib nosyslogd.dist
  Then, start the "docker.testplan_docker.batch" job which will trigger the rest of jobs.

Here is a list of the most fundamental modifications I've added:
- I automatized the version upgrade process. So far I have updated Jenkins 3 times quite smoothly.
   The current version is the latest LTS version (2.31.1 LTS)
- I reduced plugin dependencies to the minimum (only 2, and they can be made optional).
- I removed dependencies on all groovy scripts.
- Userdata is gone. Instead we now have fuego-ro and fuego-rw, which together with fuego-core
   are mounted as external docker volumes. Only fuego-rw, which contains logs and build folders,  
   is mounted in RW mode. I also fixed the uid/gid of jenkins so that it matches the one in the host.
   This means you can develop comfortably on your host, with GUI tools, and don't fear a buggy
   script deleting your folders.
- I added a  tool for generating jobs from testplans.  Creating jobs from testplans is powerful. 
   It allows you, for example, to easily specify the timeout for each test on your board.
   The tool also generates the corresponding batch job. For example, you can easily trigger all 
   tests for your board and a specific testplan periodically.
   [Note] This will also enable the creation of scripts for comparing test results across 
   different boards and test parameters (on my TODO list).

Other less fundamental changes include:
- I added support for using the docker container itself as a target board (e.g.: for a quickstart or unit tests)
- I fixed the flot plugin (java and javascript fixes)
- Now you can click on a node and see which jobs (and testplans) are assigned to your board. This was 
  one of my old feature requests and makes Fuego's GUI easier to use. 
- I added quite a few fixes and improvements to the core engine scripts and tests (too detailed to describe here).
- I added Excel output support for IOzone
- Faster docker build time (ARMhf compiler installation is now optional, no latex..)
- I put a fixed name to the fuego container, instead of the "last_container_id" file.
- I removed the inotify script
- I added scripts for easily removing the docker container/image.

I have to split the current "huge" patch into smaller chunks and test it further but it would 
be nice to get your feedback about the approach in general.

Tim: I haven't updated ftc nor your "Christmas commits" yet.

Best regards
Daniel




More information about the Fuego mailing list