daily-release infrastructure and reporting

Registered by Jean-Baptiste Lallement on 2013-05-03

This blueprint covers the deployment of a new testing infrasctructure to make testing and landing of Canonical upstream projects more efficient.

Blueprint information

Status:
Not started
Approver:
Gema Gomez
Priority:
High
Drafter:
Jean-Baptiste Lallement
Direction:
Approved
Assignee:
Canonical Platform QA Team
Definition:
Approved
Series goal:
Accepted for saucy
Implementation:
Not started
Milestone target:
milestone icon ubuntu-13.06

Related branches

Sprints

Whiteboard

* smem is far too expensive to gather memory usage with a high sampling rate (<1s) On a desktop machine it takes 1.4s avg to collect a sample. smemcap could have been an alternative but then size and time to post-process the data are the limiting factor. On a desktop 1 min of data with a 1s sampling rate uses 800MB of disk space (Thats ~50GB for 1h) and post-processing the data with smem then takes as much time than the test itself, doubling the duration of the run.
* Capturing rss,vss, and other metrics with 'ps' seems the best compromise to collect relatively good metrics, with a high sampling rate (returning the list of processes with detailed information with ps takes an average of .018s) The other advantage of ps is that it is a standard tool, that doesn't require any dependency and do not use python.

(?)

Work Items

Work items for ubuntu-13.06:
[jibel] Finish Otto to replace UTAH for the daily landing : DONE
[didrocks] Finish Otto to replace UTAH for the daily landing : DONE
[jibel] Deploy on a test machine in the lab: DONE
[jibel] Integrate with Jenkins: DONE
[jibel] Add support for timeouts and shutdown of the container on failure and much more: DONE
[jibel] Collect memory info with 1second sampling rate during daily-release tests: DONE

Work items for ubuntu-13.07:
[didrocks] decides about the UI, the functionalities that are needed into the dashboard: INPROGRESS
[jibel] daily-release - Create a mirror of touch images in the lab: DONE
[jibel] daily-release - Provision touch devices when a new image is posted: DONE
[jibel] daily-release - Adapt Otto to run daily-release tests on touch devices: DONE

Work items for ubuntu-13.08:
[jibel] Setup daily-release on new desktops in the lab: DONE
[jibel] Modify post-processing script and configurations to use slave names instead of graphics card brand: DONE
[didrocks] implement and deploy 3h-release process: DONE
[jibel] implement and deploy 3h-release process: DONE

Work items for ubuntu-13.09:
[jibel] daily-release - Integrate devices to the testing workflow: INPROGRESS
[jibel] Replace the workflow in jenkins by a backend based on Celery/RabbitMQ: TODO
[didrocks] Replace the workflow in jenkins by a backend based on Celery/RabbitMQ: TODO
[jibel] Integrate the new backend with the dashboard developed by PS: TODO
[didrocks] Integrate the new backend with the dashboard developed by PS: TODO
[fginther] Integrate the new backend with the dashboard developed by PS: TODO
[allanlesage] Integrate the new backend with the dashboard developed by PS: TODO

This blueprint contains Public information 
Everyone can see this information.