From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id CJQwC+L+nmABWQAAgWs5BA (envelope-from ) for ; Sat, 15 May 2021 00:51:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id UC/FBuL+nmB/cQAAB5/wlQ (envelope-from ) for ; Fri, 14 May 2021 22:51:14 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CF5D1D807 for ; Sat, 15 May 2021 00:51:09 +0200 (CEST) Received: from localhost ([::1]:56272 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lhgeC-0000yi-SF for larch@yhetil.org; Fri, 14 May 2021 18:51:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33966) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhge1-0000yK-FB for guix-devel@gnu.org; Fri, 14 May 2021 18:50:58 -0400 Received: from mx1.riseup.net ([198.252.153.129]:53444) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhgdz-0003Ux-2E for guix-devel@gnu.org; Fri, 14 May 2021 18:50:56 -0400 Received: from fews1.riseup.net (fews1-pn.riseup.net [10.0.1.83]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4FhkJq2hF6zDxbK for ; Fri, 14 May 2021 15:50:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1621032651; bh=aaXmVMIL8iLWyYkWgSqd2+Vk+3CTEhKDoWmz0AxTLZo=; h=Date:From:To:Subject:From; b=CSs2Ky3+vzvPlhpnyJ5U/ZqNeHxSx1Akx/NjK28OreKc7Tzk2qBC76KEDF4ET4HYd ZylPQeNIRWFh+3teWPzCdISBlZdMyqgdRJkbNNWyDYIEMAF6VF8BqcjQY/iiun2kDt /MnOIdht/Ea1B+l4OtBT629eFtq/aB/CNas3lihY= X-Riseup-User-ID: 12C384B907DA4D0C7A841CE87F22A90EF1CFC0D044089C6623F9F0FCFE2C95B9 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews1.riseup.net (Postfix) with ESMTPSA id 4FhkJp50v1z5vjL for ; Fri, 14 May 2021 15:50:50 -0700 (PDT) Date: Sat, 15 May 2021 00:39:37 +0200 From: raingloom To: "guix-devel@gnu.org" Subject: unifying mcron and shepherd, service woes, improvements Message-ID: <20210515003937.3dbb4bb4@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=198.252.153.129; envelope-from=raingloom@riseup.net; helo=mx1.riseup.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1621032670; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=aaXmVMIL8iLWyYkWgSqd2+Vk+3CTEhKDoWmz0AxTLZo=; b=aFwNyPSIGDDoXmSMmjd7Vk1U1fhO04VYxhtvJWzbrhkvF0as9hOgnSWaZjJLhr4r5L6gtO 9juJteG4X4rx5n0OL/3jUS7yt6th/wj7tRr2l2+7UZXae6CnjPs9Jjkr4LJP8XlmkohjZL QexkASCsn+oAIK7ARY0JDOmJx3fMVhpmWALTR1yY35pleLNPUeihS0Dxai422UtKhd2Cfl jEvnF8zDhncuGxDhsZAJUgoLvnyiO0yl3mFBJKJcVRQhRj5T01cqTiKjBkMexZtkX/jyv1 Z6zAfPSKFzFm2FIPalhymzS82xjodX53YkNtkLzMjPIq0RTVKXDb6sBOldASEA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1621032670; a=rsa-sha256; cv=none; b=TF2GJrs4z+GB4OYolLs1qIfdEwcjdEO8sPKIN0onxkI6G/y7vi9b+64UfuF4RZxQlmWWtT r40qrmkp2zUMgROex2nddS3lsyny/Fn89SnHUhsTXSKjFaZ7UHipQS9SW1p6bvK0N89gM5 etwCK/mYjMHLUi+UvIhuPDG4hUEARKzFCl+2x3D8q4w7BDkMSThjDQ1a2laxaTzugvk4yb IvYUcL5aLXoagvRsN0xgudRG1z1o6jKchd5eJbfGhS6MnRANkHui9pKpWcPNi1QLaCzbuW jY1MNq3EDoAevMgfNfrxkmg5K67FOWAifg/ECve1I1kT9d5nWEQIbJDM4Ib2jQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=CSs2Ky3+; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -3.15 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=CSs2Ky3+; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: CF5D1D807 X-Spam-Score: -3.15 X-Migadu-Scanner: scn0.migadu.com X-TUID: BLj+3vlVDXyK Just throwing this out there: mcron is basically a very simple service manager, so, why not just move all its timer functionality into shepherd (like systemd's timer units) and then we can have a unified way to manage and debug services. But also, shepherd debugging is kind of terrible too, at least on Guix, so we (and if no one else gets on it that probably means I) should do something about that. For example, it's pretty nontrivial to figure out how to run a service's command in isolation. So far I always had to find it in /proc, which is not great. stracing a service that fails to start is also rather tricky. The best I could come up with is to run strace in a loop and pgrep for the PIDs I'm interested in. Same goes for GDB, which was still bad in general last time I tried it. Security could also be improved probably. Can we have an OCAP model? I feel like I don't know enough to say, so this mail is meant more as a conversation starter. So, can we do better? What other issues are there with Shepherd? Are they fundamental design problems or just plain old bugs? Or is everyone else happy with the current design and it's just me who can't use Shepherd properly? =F0=9F=98=85