I have a package that provides a systemd unit file that is incompatible with LXD. Specifically, it uses the following two options, which seem to fail inside a container:
[Service] IOSchedulingClass=realtime CPUSchedulingPolicy=rr
So, I tried to override these with a drop-in using
systemctl edit with the following contents:
[Service] IOSchedulingClass= CPUSchedulingPolicy=
But then I get the following messages in
Jun 17 18:40:14 nickel systemd: [/etc/systemd/system/freeswitch.service.d/override.conf:2] Failed to parse IO scheduling class, ignoring: Jun 17 18:40:14 nickel systemd: [/etc/systemd/system/freeswitch.service.d/override.conf:4] Failed to parse CPU scheduling policy, ignoring:
It seems that unsetting options like this isn't allowed. I also tried using a pair of empty quotes (e.g.
IOSchedulingClass=""). What would be the proper way to do this? I know I can just override the whole unit file, but I'd prefer not to mask any later updates from the packaged unit file if possible.
For reference, the
systemd.exec(5) manpage suggests that there should be some way to do it:
If the empty string is assigned to this option, all prior assignments to both IOSchedulingClass= and IOSchedulingPriority= have no effect.