From owner-freebsd-advocacy@FreeBSD.ORG Thu Jan 15 05:48:44 2015 Return-Path: Delivered-To: freebsd-advocacy@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E16FAA65; Thu, 15 Jan 2015 05:48:44 +0000 (UTC) Received: from ns0.genyosha.net (ns0.genyosha.net [108.86.149.90]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AF835AF9; Thu, 15 Jan 2015 05:48:44 +0000 (UTC) Received: from dragon.genyosha.home (dragon.genyosha.net [108.86.149.92]) by ns0.genyosha.net (8.14.9/8.14.9) with ESMTP id t0F5mfMv048176; Wed, 14 Jan 2015 21:48:42 -0800 (PST) (envelope-from sr@genyosha.net) Received: from dragon.genyosha.home (localhost.localdomain [127.0.0.1]) by dragon.genyosha.home (8.14.4/8.14.4) with ESMTP id t0F5madC002321; Wed, 14 Jan 2015 21:48:36 -0800 Received: (from sr@localhost) by dragon.genyosha.home (8.14.4/8.14.4/Submit) id t0F5maLA002319; Wed, 14 Jan 2015 21:48:36 -0800 Date: Wed, 14 Jan 2015 21:48:36 -0800 From: Steve Rikli To: Craig Rodrigues Subject: Re: projects to better support FreeBSD sysadmins Message-ID: <20150115054836.GA2307@dragon.genyosha.home> References: <20150114023330.GA80986@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (ns0.genyosha.net [108.86.149.90]); Wed, 14 Jan 2015 21:48:42 -0800 (PST) Cc: freebsd-advocacy@freebsd.org, Deb Goodkin X-BeenThere: freebsd-advocacy@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: FreeBSD Evangelism List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2015 05:48:45 -0000 On Wed, Jan 14, 2015 at 09:28:07AM -0800, Craig Rodrigues wrote: > > kickstart and freebsd-update are just two examples, found very quickly > after trying to set this > stuff up. freebsd-update has been around since 2006. The problem > I mentioned and workarounds have been mentioned on the web since then. > To go back to Royce's original posting, I am seeing that there is a > definite disconnect between developers who work on the source tree, and > people > who are deploying FreeBSD in modern datacenter and cloud environments. > > I'm actually not the only one who has run into these types of problems. > I've talked to a friend in a company making a product based on FreeBSD, > who has run into similar problems when trying to do kickstart and mass > deployment of FreeBSD nodes. If you are willing to code your own stuff up, > it is doable, but things are definitely not as well documented and turnkey > as the Linux equivalet solutions. I think Craig's comments capture my own experience with FreeBSD Kickstart pretty well. I setup Kickstart/Jumpstart for FreeBSD 6.* long ago at $WORK, and it was a fair amount of effort putting all the pieces together from various docs and websearching, plus some scripting on my own for postinstall (which is fine, and expected -- not unlike Linux). The end results were functional, but it wasn't as flexible or easy to do as Linux Kickstart with PXElinux. IIRC I ended up having to recompile the FreeBSD pxeboot loader, since it hardcoded "/pxeroot" as the NFS root path, and didn't support TFTP (I think); I had to do that for all versions and architectures of FreeBSD we ran at the time -- so it had a relatively high "start-up cost" to get a new/additional version going, compared to a new version of Linux CentOS or what have you. Nowdays I'm not sure where to start with modern FreeBSD 9 or 10. I keep an eye out for sysinstall- and PXE-related activity in modern FreeBSD, and I gather there have been changes in those areas, but I confess I haven't pursued any of them yet. For my own admittedly selfish needs, in the context of this thread I'm less interested in Puppet and the other configuration management orchestration schemes -- there are already howto recipes and docs and other help resources for those, and I don't think FreeBSD needs to reinvent the wheel to get FreeBSD-flavored docs. Nor do I think we need another FreeBSD howto on setting up an NFS, DHCP, TFTP, HTTP, etc. server, e.g. to provide the OS images to Kickstart -- again, documentation for that already exists, and even the Linux docs are not hard to adapt to FreeBSD. Plus the Ports Collection is great for whatever services don't come along natively with the base FreeBSD. Instead, I think there needs to be more focus on the parts of the OS automated installation which are FreeBSD-specific and different from the Linux Kickstart equivalents; e.g. just off the top of my head: - how is the FreeBSD pxeboot loader different from Linux? E.g. what args/options will it accept? Can it play nicely with PXElinux these days? Example pxe.cfg files? What if you need to have multiple FreeBSD versions and architectures Kickstarted from the same server? - what is the modern FreeBSD equivalent of a Linux Kickstart ks.cfg file, if any? - how does one script/automate the postinstall configuration with sysinstall or PC-BSD's installer or ??? - likewise for preinstall steps, if applicable (Linux Kickstart has sections for both in the kickstart config file) e.g. for disk partitioning or other early actions during an automated OS install As others have mentioned in this thread, the RedHat/CentOS et al docs for those areas are pretty good and pretty easily found. I'd love to see something similar for FreeBSD instead of my very old cobbled- together notes which probably aren't applicable anymore. Maybe I'm wrong (always a distinct possibility :-) ) but it seems to me that clouds and VMs already have their own deployment mechanisms (the AWS Store or VMware templates and clones etc.), so again that's an area where FreeBSD maybe shouldn't spend a lot of resources to reinvent wheels and documentation. Whereas for better or worse, Linux Kickstart and PXElinux (or SYSlinux etc.) seems to be the defacto standard for typical OS deployments, until you get to cloud-y things and cloning VMs and whatnot. But even in cloud/vm areas, you still may want to Kickstart at least the 1st instance, right? In any case, thanks for having the conversation. Cheers, sr.