Re: [PATCH v10 0/3] maintenance: add support for systemd timers on Linux
From: Lénaïc Huard <hidden>
Date: 2021-09-27 21:44:49
Le lundi 27 septembre 2021, 14:50:28 CEST Ævar Arnfjörð Bjarmason a écrit :
On Thu, Sep 09 2021, Derrick Stolee wrote:quoted
On 9/9/2021 1:52 AM, Lénaïc Huard wrote:quoted
Le mercredi 8 septembre 2021, 13:44:26 CEST Derrick Stolee a écrit :quoted
On 9/7/2021 12:48 PM, Derrick Stolee wrote:quoted
On 9/4/2021 4:54 PM, Lénaïc Huard wrote:quoted
Hello, Please find hereafter my updated patchset to add support for systemd timers on Linux for the `git maintenance start` command. The only changes compared to the previous version are fixes for the two typos in a comment that Ramsay Jones pointed out [1] [1] https://lore.kernel.org/git/51246c10-fe0b-b8e5-cdc3-54bdc6c8054e@ramsa yj ones.plus.com/>The changes in the most recent two versions look good to me.I recently tested the 'seen' branch for an unrelated reason, but found that the t7900-maintenance.sh test failed for me. It was during test 34, 'start and stop Linux/systemd maintenance' with the following issue: + systemd-analyze verify systemd/user/git-maintenance@.service Failed to create /user.slice/user-1000.slice/session-44.scope/init.scope control group: Permission denied Failed to initialize manager: Permission denied Now, this test has the prereq SYSTEMD_ANALYZE, but for some reason this later command fails for permission issues. I'm running Ubuntu, if that helps.Thank you for the feedback. Could you please share which version of Ubuntu and which version of systemd you are using ? I’ve just tried to start an Ubuntu Impish 21.10 which uses systemd 248.3-1ubuntu3 and to test the `seen` git branch. All tests of `t/t7900-maintenance.sh` passed including the one which is failing for you. As `systemd-analyse verify` should only check a unit file validity [1], I wouldn’t expect it to fail on a cgroup manipulation. [1] https://www.freedesktop.org/software/systemd/man/systemd-analyze.html#sy stemd-analyze%20verify%20FILE... I tried to run systemd-analyze verify /etc/systemd/system/sshd.service and it didn’t produce the error you mentioned but if I `strace` it, I can find: mkdir("/sys/fs/cgroup/unified/user.slice/user-1000.slice/session-3.scope/ init.scope", 0755) = -1 EACCES (Permission denied) This makes me think your version of systemd is wrongly considering this cgroup directory failure as fatal. I’d like to know more precisely which versions are affected.I am on Ubuntu 18.04. $ systemd --version systemd 237 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid I tried upgrading with apt-get, but that did not get me a new version.It seems this discussion has gone stale, but this is still broken on some systems. This is gcc135 on the GCC Farm, which passes the prereq this commit adds: $ systemd-analyze verify systemd/user/git-maintenance@.service Failed to open /dev/tty0: Permission denied Failed to load systemd/user/git-maintenance@.service: Invalid argument I don't know the systemd specifics involved, but this seems like a rather straightforward problem of assuming permissions that aren't universal. I.e. let's try to do that in the prereq instead? OS details, if they matter: [avar@gcc135 t]$ systemd-analyze --version systemd 219 +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN [avar@gcc135 t]$ cat /etc/centos-release CentOS Linux release 7.9.2009 (AltArch)
Hello, I’ve just submitted a new patch to change the way the prerequisite is implemented: https://lore.kernel.org/git/20210927213016.21714-2-lenaic@lhuard.fr/ (local) I’m not sure what was going wrong with old versions of systemd but with this new patch, the permission errors raised by `systemd-analyze` should now make the prerequisite fail instead of making the test fail.