From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 11 17:54:47 2020 Received: (at 42261) by debbugs.gnu.org; 11 Jul 2020 21:54:47 +0000 Received: from localhost ([127.0.0.1]:44995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juNSJ-0003ug-8W for submit@debbugs.gnu.org; Sat, 11 Jul 2020 17:54:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juNSH-0003uS-06 for 42261@debbugs.gnu.org; Sat, 11 Jul 2020 17:54:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60411) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juNSB-0004lx-Mn; Sat, 11 Jul 2020 17:54:39 -0400 Received: from 84-52-226.102.3p.ntebredband.no ([84.52.226.102]:49584 helo=localhost) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1juNSB-0006N6-3Z; Sat, 11 Jul 2020 17:54:39 -0400 From: Marius Bakke To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#42261] [PATCH 4/4] services: Add ganeti. In-Reply-To: <871rljytmy.fsf@gnu.org> References: <20200708101118.3579-1-marius@gnu.org> <20200708101118.3579-4-marius@gnu.org> <871rljytmy.fsf@gnu.org> Date: Sat, 11 Jul 2020 23:54:29 +0200 Message-ID: <87imetd8fe.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42261 Cc: 42261@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! Thanks a bunch for reading through this. :-) Ludovic Court=C3=A8s writes: > Hello! > > Marius Bakke skribis: > >> * gnu/services/virtualization.scm (, >> , , >> , , >> , ), >> , , >> , , , >> , ): New record types. >> (%default-ganeti-environment-variables, ganeti-noded-service, >> ganeti-noded-service-type, ganeti-confd-service, ganeti-confd-service-ty= pe, >> ganeti-wconfd-service, ganeti-wconfd-service-type, ganeti-luxid-service, >> ganeti-luxid-service-type, ganeti-rapi-service, ganeti-rapi-service-type, >> ganeti-kvmd-service, ganeti-kvmd-service-type, ganeti-mond-service, >> ganeti-mond-service-type, ganeti-metad-service, ganeti-metad-service-typ= e, >> ganeti-watcher-command, ganeti-watcher-jobs, ganeti-watcher-service-type, >> ganeti-cleaner-jobs, ganeti-cleaner-service-type, ganeti-activation, >> ganeti-shepherd-services, ganeti-mcron-jobs, ganeti-service-type, >> hooks->directory, debootstrap-configuration-compiler, debootstrap-varian= t, >> ganeti-os-variant->configuration, ganeti-os->directory, ganeti-directory, >> file-storage-file, ganeti-etc-service, ganeti-service-type): New variabl= es. >> * gnu/tests/virtualization.scm (%debootstrap-hooks, %ganeti-os, >> run-ganeti-test, %test-ganeti-kvm, %test-ganeti-lxc): New variables. >> * doc/guix.texi (Virtualization Services): Document accordingly. > > Since it=E2=80=99s a big chunk, perhaps it could live in (gnu services ga= neti)? I was "on the fence" about this myself, so I'm happy that you tipped me over so to speak. >> +Ganeti is a cluster-based virtual machine management system. It consis= ts > ^ > Maybe add one more sentence to give an idea of what it does or what > features it provides. That makes sense. I explained more in the transient blog post, but the permanent documentation deserves better treatment. >> +of multiple services which are described later in this section. In add= ition >> +to the Ganeti service, you will need the OpenSSH service >> +(@pxref{Networking Services, @code{openssh-service-type}}), and update = the >> +@file{/etc/hosts} file (@pxref{operating-system Reference, @code{hosts-= file}}) >> +with the cluster name and address (or use a DNS server). Here is an ex= ample >> +configuration for a Ganeti cluster node: > ^ > Add =E2=80=9Cthat does X and Y=E2=80=9D, or =E2=80=9Cwith X nodes running= Y=E2=80=9D, something like > that. :-) Thanks. :-) >> +There is also a >> +@url{https://guix.gnu.org/blog/2020/ganeti-cluster-on-guix/,blog post} >> +describing how to configure a small cluster. > > It=E2=80=99d be great to see if part of the examples in the post (which I > haven=E2=80=99t read yet) can be folded in the manual. Agreed. I kind of wrote them together, before the service was "finalized", and focused mostly on the end-to-end tutorial. I'll try to extract generic parts into the manual. >> +@table @asis >> +@item @code{ganeti} (default: @code{ganeti}) >> +The @code{ganeti} package to use. It will be installed to the system p= rofile >> +and make @command{gnt-cluster}, @command{gnt-instance}, etc available. = Note >> +that the value specified here does not affect the other services as eac= h refer >> +to a specific @code{ganeti} package (see below). >> + >> +@item @code{noded-configuration} (default: @code{(ganeti-noded-configur= ation)}) >> +@item @code{confd-configuration} (default: @code{(ganeti-confd-configur= ation)}) >> +@item @code{wconfd-configuration} (default: @code{(ganeti-wconfd-config= uration)}) >> +@item @code{luxid-configuration} (default: @code{(ganeti-luxid-configur= ation)}) >> +@item @code{rapi-configuration} (default: @code{(ganeti-rapi-configurat= ion)}) >> +@item @code{kvmd-configuration} (default: @code{(ganeti-kvmd-configurat= ion)}) >> +@item @code{mond-configuration} (default: @code{(ganeti-mond-configurat= ion)}) >> +@item @code{watcher-configuration} (default: @code{(ganeti-watcher-conf= iguration)}) >> +@item @code{cleaner-configuration} (default: @code{(ganeti-cleaner-conf= iguration)}) > > You need @itemx for all but the first one. Ahh, that's much better, thanks again! > Anyway, that looks very nice! :-) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8KNRUACgkQoqBt8qM6 VPpLZggAkhiu1wN+VyKFpEfgEhIvqH30Z82p6AjsAFQs0K395DUNgJTpU746Zjlv krQ20xm2fwbpf5ByqGtT6z3Jo3hh1Y34A5nZOIHeKkfvt/cV1kmVEBTElIsOx2J/ I7LogDGdWBd4urS1hQ5iBHUN0fzpWq6eR0m1GAtuzOq/tPsnw5s63X0DyFxo86O3 QPecjNNGZrXH0gw/fOPcwnVEot82rIwPJ3k45PJ/giqvjpyWsv5x/J3O0Pu26FbD 2daUZ42Pxk5G47SWY2yIbc0+2gfeltlRaKHseTtMKQ7Kvu6tyspbGaevntYr6vBB Tn/PaGbzjDWiJ6CJRZ2VoH4j6XYA4Q== =fuGj -----END PGP SIGNATURE----- --=-=-=--