Bug 9457

Summary: patchtest: document deployment with isolation features
Product: [Yocto Project Subprojects] Patchwork/Patchtest Reporter: Leonardo Sandoval Gonzalez <leonardo.sandoval.gonzalez>
Component: PatchtestAssignee: Leonardo Sandoval Gonzalez <leonardo.sandoval.gonzalez>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: High CC: anibal.limon, bluelightning, mariano.lopez, sgw
Version: 2.1   
Target Milestone: 2.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Leonardo Sandoval Gonzalez 2016-04-13 13:52:38 UTC
patchtest can take malicious patches and in the testing/execution phase, these may do some damage on the system that patchtest is running.  The framework should either work in isolation (container?) or find a way to detect malicious patches before processing.
Comment 1 Leonardo Sandoval Gonzalez 2016-06-14 14:07:57 UTC
This work is in progress and should be finished early 2.2M2.
Comment 2 Leonardo Sandoval Gonzalez 2016-06-21 16:59:47 UTC
Moving back to M1. Any change on milestone must be discussed previously with the CCB.
Comment 3 Leonardo Sandoval Gonzalez 2016-08-22 15:43:39 UTC
Current proposal is being reviewed internally, so moving the bug's status.
Comment 4 Leonardo Sandoval Gonzalez 2016-08-31 14:41:46 UTC
The approach suggested to isolate the patchtest execution was the following: a qemu machine as VM, launched with arguments  indicating a common share folder (virtualized with virtFS) previously populated with all required data: repos and mboxes. Once launched, the machine will automatically execute patchtest and created a folder with results. Once all mboxes are tested, the machine will shutdown; host would parse the output folder and post results. 

Moving to In Progress Implementation because the qemu machine is not yet ready. What is missing is a custom layer containing two main things: a init script (to launch the execution and shutdown) and required recipes/packages for the final image.

The above approach was considered secured enough so this allows to expose patchtest and patchtest-oe code **once** the qemu machine is ready.
Comment 5 Leonardo Sandoval Gonzalez 2016-09-14 16:14:56 UTC
Documentation/code being reviewed internally (security team) before it can go public.
Comment 6 Leonardo Sandoval Gonzalez 2016-10-04 19:26:18 UTC
The security team has fully approved the approach taken to isolate patchtest, so the source code (both patchtest and patchtest-oe) can go public.