From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id DB3251381F3 for ; Fri, 27 Sep 2013 19:49:52 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0282BE0C60; Fri, 27 Sep 2013 19:49:35 +0000 (UTC) Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id AE97FE0C4F for ; Fri, 27 Sep 2013 19:49:28 +0000 (UTC) Received: by mail-wi0-f182.google.com with SMTP id ez12so1345986wid.9 for ; Fri, 27 Sep 2013 12:49:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Wct8rwBq9qI8s/+U27Qv0t03NGJDGRMfRQjRb2Dbba0=; b=FCkzPyx1VDfNb8hWpV8wPsZAmmQxgYTtIRAnH5YiPWeE3iln9t/NYgQ5f9noTHcGB1 lXMxeFYRV4Aw0ug1Tx/hDCqnVHaHykvYgR0XzAiVCOPDtIbfeBg1ABPFJW9BUdDWC+81 ZvLmqCJoQ88hJgfoLRZGNiDkuSUQHLS3hZW0+Yzc0/RS01Sjc0JkWbH9Cd3cCmbJAn+m 6SXG03o7J0KS7aDxZDMC06n9QbINauKVi46jIilxoTyKBtkH6/rpN5wRQprb7m8BbCCe jqsl1+HkgNfhJGNTkxkpgeoXxlOM1ww+DAafysTffbvxCpPVQeQxhEAxT6xx1B79M/Sr dRwA== X-Received: by 10.180.12.4 with SMTP id u4mr3987952wib.29.1380311367309; Fri, 27 Sep 2013 12:49:27 -0700 (PDT) Received: from [172.20.0.41] (196-210-126-33.dynamic.isadsl.co.za. [196.210.126.33]) by mx.google.com with ESMTPSA id j5sm16961442wia.4.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Sep 2013 12:49:26 -0700 (PDT) Message-ID: <5245E03A.2020605@gmail.com> Date: Fri, 27 Sep 2013 21:44:58 +0200 From: Alan McKinnon User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Managing multiple systems with identical hardware References: <524358B0.1060000@gmail.com> <52449C1A.5000306@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: b80d1f26-11e2-49fb-b900-3f1941e71ab4 X-Archives-Hash: f125839f0fc9542ac04558fcb9c32f47 On 27/09/2013 12:37, Grant wrote: >>> I realized I only need two types of systems in my life. One hosted >>> server and bunch of identical laptops. My laptop, my wife's laptop, >>> our HTPC, routers, and office workstations could all be on identical >>> hardware, and what better choice than a laptop? Extremely >>> space-efficient, portable, built-in UPS (battery), and no need to buy >>> a separate monitor, keyboard, mouse, speakers, camera, etc. Some >>> systems will use all of that stuff and some will use none, but it's >>> OK, laptops are getting cheap, and keyboard/mouse/video comes in handy >>> once in a while on any system. >> >> Laptops are a good choice, desktops are almost dead out there, and thin >> clients nettops are just dead in the water for anything other than >> appliances and media servers >> >>> What if my laptop is the master system and I install any application >>> that any of the other laptops need on my laptop and push its entire >>> install to all of the other laptops via rsync whenever it changes? >>> The only things that would vary by laptop would be users and >>> configuration. >> >> Could work, but don't push *your* laptop's config to all the other >> laptops. they end up with your stuff which might not be what them to >> have. Rather have a completely separate area where you store portage >> configs, tree, packages and distfiles for laptops/clients and push from >> there. > > I actually do want them all to have my stuff and I want to have all > their stuff. That way everything is in sync and I can manage all of > them by just managing mine and pushing. How about pushing only > portage configs and then letting each of them emerge unattended? I > know unattended emerges are the kiss of death but if all of the > identical laptops have the same portage config and I emerge everything > successfully on my own laptop first, the unattended emerges should be > fine. Within those constraints it could work fine. The critical stuff to share is make.conf and /etc/portage/*, everything else can be shared to greater or lesser degree and you can undo things on a whim if you wish. There's one thing that we haven't touched on, and that's the hardware. Are they all identical hardware items, or at least compatible? Kernel builds and hardware-sensitive apps like mplayer are the top reasons you'd want to centralize things, but those are the very apps that will make sure life miserable trying to fins commonality that works in all cases. So do keep hardware needs in mind when making purchases. Personally, I wouldn't do the building and pushing on my own laptop, that turns me inot the central server and updates only happen when I'm in the office. I'd use a central build host and my laptop is just another client. Not all that important really, the build host is just an address from the client's point of view > >> I'd recommend if you have a decent-ish desktop lying around, you press >> that into service as your master build host. yeah, it takes 10% longer >> to build stuff, but so what? Do it overnight. > > Well, my goal is to minimize the number of different systems I > maintain. Hopefully just one type of laptop and a server. > >>> Maybe puppet could help with that? It would almost be >>> like my own distro. Some laptops would have stuff installed that they >>> don't need but at least they aren't running Fedora! :) >> >> DO NOT PROVISION GENTOO SYSTEMS FROM PUPPET. > > OK, I'm thinking over how much variation there would be from laptop to laptop: > > 1. /etc/runlevels/default/* would vary of course. > 2. /etc/conf.d/net would vary for the routers and my laptop which I > sometimes use as a router. > 3. /etc/hostapd/hostapd.conf under the same conditions as #2. > 4. Users and /home would vary but the office workstations could all be > identical in this regard. > > Am I missing anything? I can imagine everything else being totally identical. > > What could I use to manage these differences? I'm sure there are numerous files in /etc/ with small niggling differences, you will find these as you go along. In a Linux world, these files actually do not subject themselves to centralization very well, they really do need a human with clue to make a decision whilst having access to the laptop in question. Every time we've brain-stormed this at work, we end up with only two realistic options: go to every machine and configure it there directly, or put individual per-host configs into puppet and push. It comes down to the same thing, the only difference is the location where stuff is stored. I'm slowly coming to conclsuion that you are trying to solve a problem with Gentoo that binary distros already solved a very long time ago. You are forcing yourself to become the sole maintainer of GrantOS and do all the heavy lifting of packaging. But, Mint and friends already did all that work already and frankly, they are much better at it than you or I. I would urge you to take a good long hard look at exactly why a binary distro is not suitable, as I feel that would solve all your issues. Run Gentoo on your server or even personal laptop by all means where you can tweak it endlessly to your heart's content, but is that really your requirement for the other workstations in your environment? > >> Rather keep your laptop as your laptop with it's own setup, and >> everything else as that own setup. You only need one small difference >> between what you want your laptop to have, and everything else to have, >> to crash that entire model. > > I think it will work if I can find a way to manage the few differences > above. Am I overlooking any potential issues? > > - Grant > -- Alan McKinnon alan.mckinnon@gmail.com