From owner-freebsd-virtualization@FreeBSD.ORG Thu Jan 23 03:19:50 2014 Return-Path: Delivered-To: virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C65B2BDE; Thu, 23 Jan 2014 03:19:50 +0000 (UTC) Received: from mail-pa0-x233.google.com (mail-pa0-x233.google.com [IPv6:2607:f8b0:400e:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 96C411481; Thu, 23 Jan 2014 03:19:50 +0000 (UTC) Received: by mail-pa0-f51.google.com with SMTP id ld10so1281151pab.38 for ; Wed, 22 Jan 2014 19:19:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=XJ2tjffsErAbd95fVl+hiF8mNizsH6+7Xz1QrtovEQw=; b=MFcNkQvBtgMbaH870JV8SUPakJsWgpTQiQFQxOw8uA5mzD7USQjELAaO+nr9jor80Y YjMkVV30ssb4F8FGrY9Wl6hkHoshubYyBMdPG+SxNjNlE/R+4+UyIfVhU5GAFtra+S2D BHkXce1Njvm+HiWxu0GED4zw0ZNP63qifcCujafgvItEz895udMfHn61PJHl2VU1LQhB hPOqssEvsTrOZDMCpjmytdjuBF2tIojAGMK5XNQDEVLdbzZ639n0MJW3g8HFY6uZ2U5n tdB3WckTTfiy+RP7RKZk3KQB8jp2pv+XkpRg5EUwtCk2hq1C6omg1r7ibkKMtM6TPhLA AUVg== MIME-Version: 1.0 X-Received: by 10.66.16.131 with SMTP id g3mr5439579pad.138.1390447189292; Wed, 22 Jan 2014 19:19:49 -0800 (PST) Received: by 10.68.155.38 with HTTP; Wed, 22 Jan 2014 19:19:49 -0800 (PST) In-Reply-To: <22CF9C41-3320-4E98-A475-A6372799024B@pluribusnetworks.com> References: <201401221715.42164.jhb@freebsd.org> <22CF9C41-3320-4E98-A475-A6372799024B@pluribusnetworks.com> Date: Wed, 22 Jan 2014 22:19:49 -0500 Message-ID: Subject: Re: bhyve and legacy From: Aryeh Friedman To: Tycho Nightingale Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: "freebsd-virtualization@freebsd.org" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 03:19:50 -0000 On Wed, Jan 22, 2014 at 7:54 PM, Tycho Nightingale < tycho.nightingale@pluribusnetworks.com> wrote: Now with respect to bhyveload, while it certainly does have some FreeBSD-specific uses, it is a bit of a barrier to supporting non-FreeBSD guests and furthermore supporting them well e.g. reboot without bhyve exiting. If 'true' support existed for booting from an iso, then with a quick 'mkisofs' you could achieve the same kernel-to-VM turnaround without bhyveload. We (the developers of PetiteCloud) fully agree. In general we feel that bhyve should follow the "wall socket" model, in that it should respond to hardware level state changes the same way a physical PC does. The most glaring shortfall here is bhyve should exit on halt(8) and restart the vm on reboot(8). Unified boot is a good step here since there is likely no way to handle this correctly in all OS's except with unified boot. My suggestion would be: when in doubt on semantics, the QEMU model and/or the wall socket model should be followed. At the present time, PetiteCloud deals with non-FreeBSD guests as follows: All our instance images are raw format and thus will work on any hypervisor (for example I tested QEMU with several instances I made with bhyve). One of the main problems we face in interface design is making sure that you cannot run a non-working instance on the host (e.g. Linux on stock 10-RELEASE bhyve). Keep in mind one of our goals is to make the WebUI so that it is "physically impossible" to enter invalid values (the only place this is currently possible is the instance name and we have a fix for this coming out soon). We are planning to take advantage (and encourage people to play around with the same idea) of using PetiteCloud to either make a starter script you can use for booting (if it is non-standard) instances at host boot time or some other means of the fact we support nothing but raw format by perhaps doing some postprocessing after the install but the first boot. If done right this can lead to some very interesting custom instances that may or may not be distributable depending on what the instance depends on. We have made a start with this with our xAMP image on down2earthcloud.com and in the next day or so expand this with Linux (we are looking at LAMP and DevStack as the two of the first candidates) instead of just FreeBSD images. Another small request to the bhyve developers: making it so bhyve can be run nested would greatly speed the development of PetiteCloud, and we suspect several other projects too. -- Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org