<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE> [Mageia-dev] Viviane, automated system to test installer </TITLE> <LINK REL="Index" HREF="index.html" > <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Viviane%2C%20automated%20system%20to%20test%20installer&In-Reply-To=%3C1314305535.2119.189.camel%40akroma.ephaone.org%3E"> <META NAME="robots" CONTENT="index,nofollow"> <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> <LINK REL="Previous" HREF="007549.html"> <LINK REL="Next" HREF="007546.html"> </HEAD> <BODY BGCOLOR="#ffffff"> <H1>[Mageia-dev] Viviane, automated system to test installer</H1> <B>Michael Scherer</B> <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Viviane%2C%20automated%20system%20to%20test%20installer&In-Reply-To=%3C1314305535.2119.189.camel%40akroma.ephaone.org%3E" TITLE="[Mageia-dev] Viviane, automated system to test installer">misc at zarb.org </A><BR> <I>Thu Aug 25 22:49:05 CEST 2011</I> <P><UL> <LI>Previous message: <A HREF="007549.html">[Mageia-dev] Security </A></li> <LI>Next message: <A HREF="007546.html">[Mageia-dev] Viviane, automated system to test installer </A></li> <LI> <B>Messages sorted by:</B> <a href="date.html#7539">[ date ]</a> <a href="thread.html#7539">[ thread ]</a> <a href="subject.html#7539">[ subject ]</a> <a href="author.html#7539">[ author ]</a> </LI> </UL> <HR> <!--beginarticle--> <PRE>Hi, I finished a quick script that I wrote during my spare time on Wednesday to do a automated test installation in a vm, using libvirt, virtinst, and drakx auto-installation feature. As I like catchy names, the project is called Viviane, for Virtualized Integrated Verification of Installer with Automated Networked Eyeballs. Why did I chose that name is buried deep in the script, kudos to who find it ( and there goes the trick to make people read my code ). Presentation ------------- The idea is to use the network installation of cauldron on a qemu vm, to restart the vm and thanks to autologin, autostart folder of xdg and serial virtio, send the information to the host that the installation ad first boot worked. Then after a timeout, the virtual machine is wiped, and a mail is sent if the installation was not finished in 30 minutes ( configurable delay, based on the time needed on my laptop and my network connection ). The goal is to test if the automated installation work, and if the distribution is able to boot. While this seems not much, that's at least a starting point. Remaining problem ------------------ Main problems is that it requires a patch on virtinst, to add the support of Mageia ( <A HREF="https://bugzilla.redhat.com/show_bug.cgi?id=733121">https://bugzilla.redhat.com/show_bug.cgi?id=733121</A> ). So I cannot deploy it now on rabbit, as this would requires some custom packages and some tests first. For now, it was tested against Mandriva 2010.2 that installed fine each time. As each run take me 30 minutes, there may still have some bugs left or introduced after the last cleaning. So while I think it should work fine and out of the box on supported hardware ( connected to the internet, with 1G of memory to spare, proper processor and around 9G of free disk space ), I didn't test anywhere else than on my laptop. I post this here so I can gather patches and ideas ( I remind that remarks without patchs will have a non negligible chance of not being implemented wether I am convinced or not ), and I will commit the script to our svn once I am sure it is ready ( ie soon ) The future ----------- The idea could be extended to run more than a simple script that do "echo hello > /dev/ttyS0" ( as it does now ) like something that for example start firefox on a custom url, check that firefox did start and was able to load the url then kill it. Using xnee, or accessibility support, some automation of graphical interface could be done, but that's the hard part. I also planned to also add a screenshot of the guest upon failure ( that requires a recent libvirt ) and to suspend the system for further analysis, and to distribute this with a webserver. Some more informations could be gather with libguestfs, but I didn't looked much at it for now. I also didn't think of integration with something like buildbot or jenkins, or just youri. And finally, with automated livecd creation we could also test livecd, provided the small hook I used are added ( ie, 1 script and 1 desktop file ) is added, and provided we shunt the first time boot wizard. -- Michael Scherer -------------- next part -------------- A non-text attachment was scrubbed... Name: viviane.sh Type: application/x-shellscript Size: 6466 bytes Desc: not available URL: </pipermail/mageia-dev/attachments/20110825/7f2c0b35/attachment-0001.bin> </PRE> <!--endarticle--> <HR> <P><UL> <!--threads--> <LI>Previous message: <A HREF="007549.html">[Mageia-dev] Security </A></li> <LI>Next message: <A HREF="007546.html">[Mageia-dev] Viviane, automated system to test installer </A></li> <LI> <B>Messages sorted by:</B> <a href="date.html#7539">[ date ]</a> <a href="thread.html#7539">[ thread ]</a> <a href="subject.html#7539">[ subject ]</a> <a href="author.html#7539">[ author ]</a> </LI> </UL> <hr> <a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev mailing list</a><br> </body></html>