From owner-freebsd-virtualization@freebsd.org Thu Nov 5 22:59:38 2015 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 053E8A27152 for ; Thu, 5 Nov 2015 22:59:38 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: from mail-yk0-x231.google.com (mail-yk0-x231.google.com [IPv6:2607:f8b0:4002:c07::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B7DF518FA for ; Thu, 5 Nov 2015 22:59:37 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: by ykdv3 with SMTP id v3so69977599ykd.0 for ; Thu, 05 Nov 2015 14:59:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=qYVlpZ6yQbQO5MlLftoDzZRyeSuL6jFkM0R3+V9WxhY=; b=n49WYfcsb7HNZBGgh7JprcIYxOgMCduWTuEKQKccWAWBd7JHsvjmEaD2Cia/DGlRyi n/SYx/LjCon2KsCPumC10h5kjxiO2LSU1vEaevWXarM+um5UmK/AF7/dV6OA11HeTpO9 AuYw/wjO5dPDYUvv8TgjGYAUjxf5ZyJ5OK7PRZ7U2UJY3G+IRS8G7kOUlgTCiREcs7rr pTFOQo4+zzaYKbglhuuZWxOOZ3IvEfqjGUrGD3HVamtiMhM37aikUpC7rzxH/IrbChsf cU7g8uvD3a3bewrxxSAFdMLldUnpKFW40gGn9ozEPg1JYSEX5ZgLl1J7SAgmnvNyQzQa sQ+Q== MIME-Version: 1.0 X-Received: by 10.129.115.139 with SMTP id o133mr8545942ywc.172.1446764376919; Thu, 05 Nov 2015 14:59:36 -0800 (PST) Sender: crodr001@gmail.com Received: by 10.37.95.9 with HTTP; Thu, 5 Nov 2015 14:59:36 -0800 (PST) In-Reply-To: <20151105181450.GA71547@debnath.net> References: <20151103221930.GA50869@debnath.net> <1557160.7OrEWMRSrv@linux-85bq.suse> <20151105181450.GA71547@debnath.net> Date: Thu, 5 Nov 2015 14:59:36 -0800 X-Google-Sender-Auth: 3NKhkiX1gtnOHmcM7dQZSuCvhiQ Message-ID: Subject: Re: C bhyve administration tool From: Craig Rodrigues To: Shawn Debnath Cc: "freebsd-virtualization@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 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, 05 Nov 2015 22:59:38 -0000 Shawn, Go forth and conquer and happy hacking! It is quite clear that vmrun.sh, /usr/sbin/bhyve, /usr/sbin/bhyveload are very simplistic and fall apart under more advanced usage. It looks like there are many parallel efforts where people are writing their own scripts and utilities on top of bhyve. At my previous job, I wrote a bunch of stuff in Python, and used a JSON config file to specify the properties of a VM. By using a JSON config file, I was able to specify more advanced topologies of many VM's running together, including the network configuration, and PCI-Passthru. The unfortunate thing when people write these scripts is sometimes this stuff is internal, and people cannot collaborate. Hopefully by having your stuff on GitHub, people can work together and improve things. I would encourage you to use UCL as early as possible. Adding lots of command-line options to vmrun.sh is doable, but gets a bit clunky. I would also encourage you to look at the bhyveucl work done by Allan Jude: https://github.com/allanjude/bhyveucl I think it would be nice if we had a common config file format for bhyve VM's based off of UCL. That way even if people decide to use their own scripts or utilities, at least they can reuse the config files, instead of cobbling together their own stuff which is overlapping in functionality, but is incompatible. -- Craig On Thu, Nov 5, 2015 at 10:14 AM, Shawn Debnath wrote: > > 1. Build a VM based on configuration (simple to start, UCL is the goal) > 2. Start/stop/restart VM (Attempt graceful shutdown, option for forced) > 3. StartAll/StopAll/RestartAll VMs > 4. List basic status of VMs > 5. Destroy a VM > >