[Bug 1718444] Re: systemd-sysctl in Xenial is not obeying the order of the sysctls
Dimitri John Ledkov
launchpad at surgut.co.uk
Tue Mar 20 16:09:49 UTC 2018
Use multipass to launch a xenial VM with
$ dpkg-query -W systemd
systemd 229-4ubuntu21.1
Execute
SYSTEMD_DEBUG_LEVEL=debug /lib/systemd/systemd-sysctl
A few times, to notice that the output is "jumpy" and the order of the
error messages is unstable. Realising that the sorting / application of
the sysctls is not performed in a stable order.
Upgraded to
$ dpkg-query -W systemd
systemd 229-4ubuntu21.2
Rerunning the above command again, and again, and again, shows
unchanging output on the terminal, meaning the order of all the things
that were attempted to be written is now stable.
** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1718444
Title:
systemd-sysctl in Xenial is not obeying the order of the sysctls
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Xenial:
Fix Committed
Bug description:
[Impact]
* sysctls are applied out of order
[Test Case]
* Monitor that sysctls are applied in-order, instead of out of order
/ random order.
[Regression Potential]
* Cherrypick of an upstream patch which is present in v232+ and in
use in Ubuntu in later releases. The code changes are minimal,
updating s/Hashmap/OrderedHashmap/ which is implemented and available
in xenial's systemd.
https://github.com/systemd/systemd/commit/886cf982d3018f7451f0548dadbc05bd2d583bb6
[Other Info]
* Original bug report.
systemd-sysctl in Xenial forces itself over procps by shipping a link
for procps.service to systemd-sysctl.service. However, it does not
obey the order both of the files and also of the sysctls within the
files. Instead it uses a simple hashmap. As it turns out that's fixed
upstream and systemd master uses an ordered hashmap because of this,
which at least preserves order within single files. Traditionally
files in sysctl.d have been prefixed with numbers to ensure an order
and that's now completely non-deterministic on Xenial.
Relevant upstream commit:
https://github.com/systemd/systemd/commit/886cf982d3018f7451f0548dadbc05bd2d583bb6
Note that conf_files_list_nulstr in master sorts the configuration
files using strcmp, so even order of configuration files should be
obeyed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1718444/+subscriptions
More information about the foundations-bugs
mailing list