Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On Wed, Sep 30, 2015 at 11:06 PM, Lennart Poetteringwrote: > On Tue, 22.09.15 15:52, Lennart Poettering (lenn...@poettering.net) wrote: > >> On Mon, 21.09.15 16:50, Francis Moreau (francis.m...@gmail.com) wrote: >> >> > Hi, >> > >> > If a unit depends on a slice, a Wants=machine.slice is automatically >> > added to the unit constraints. >> > >> > Why is "Requires=machine.slice" not prefered instead ? >> >> I think I agree, we should really make this a requires. > > This has been changed now, with 8c8da0e0cb498245c765732cf9caa081a70c560f > Thanks for the update. -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On 09/22/2015 03:52 PM, Lennart Poettering wrote: > On Mon, 21.09.15 16:50, Francis Moreau (francis.m...@gmail.com) wrote: > >> Hi, >> >> If a unit depends on a slice, a Wants=machine.slice is automatically >> added to the unit constraints. >> >> Why is "Requires=machine.slice" not prefered instead ? > > I think I agree, we should really make this a requires. > One thing I noted is that even if the slice failed to start, the slice is still created by starting the unit belonging to that slice, and the resource controls are still correctly applied to the slice. Is that expected that units create slice that they belong to ? I would have expected the unit fails to start because it couldn't find the slice. Thanks. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
Hello, On Mon, Sep 21, 2015 at 7:43 PM, David Herrmannwrote: > Hi > > On Mon, Sep 21, 2015 at 4:50 PM, Francis Moreau > wrote: >> Hi, >> >> If a unit depends on a slice, a Wants=machine.slice is automatically >> added to the unit constraints. >> >> Why is "Requires=machine.slice" not prefered instead ? > > Usually "Wants=" is preferred as it makes the units more fail-safe. > Especially for slices, I cannot see why "Requires=" would be > beneficial. If a specific unit needs this, a simple > "Requires=foobar.slice" gets you what you want. > But what if the slice fails to start ? Will the unit asking for a specific slice (which fails to start) be moved into another slice ? It seems that whatever the final destination used by systemd, the constraints used by the "fallback" slice won't be correct, no ? Thanks -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
Hi On Tue, Sep 22, 2015 at 10:58 AM, Francis Moreauwrote: > Hello, > > On Mon, Sep 21, 2015 at 7:43 PM, David Herrmann wrote: >> Hi >> >> On Mon, Sep 21, 2015 at 4:50 PM, Francis Moreau >> wrote: >>> Hi, >>> >>> If a unit depends on a slice, a Wants=machine.slice is automatically >>> added to the unit constraints. >>> >>> Why is "Requires=machine.slice" not prefered instead ? >> >> Usually "Wants=" is preferred as it makes the units more fail-safe. >> Especially for slices, I cannot see why "Requires=" would be >> beneficial. If a specific unit needs this, a simple >> "Requires=foobar.slice" gets you what you want. >> > > But what if the slice fails to start ? > > Will the unit asking for a specific slice (which fails to start) be > moved into another slice ? It seems that whatever the final > destination used by systemd, the constraints used by the "fallback" > slice won't be correct, no ? Correct. You still get a big fat error on your screen and you should fix your setup. Again, if that's no suitable, you better use "Requires=". Thanks David ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On Tue, Sep 22, 2015 at 2:18 PM, Zbigniew Jędrzejewski-Szmekwrote: > On Tue, Sep 22, 2015 at 11:52:05AM +0200, Francis Moreau wrote: >> On Tue, Sep 22, 2015 at 11:14 AM, David Herrmann >> wrote: >> > Hi >> > >> > On Tue, Sep 22, 2015 at 10:58 AM, Francis Moreau >> > wrote: >> [...] >> >>> >> >> >> >> But what if the slice fails to start ? >> >> >> >> Will the unit asking for a specific slice (which fails to start) be >> >> moved into another slice ? It seems that whatever the final >> >> destination used by systemd, the constraints used by the "fallback" >> >> slice won't be correct, no ? >> > >> > Correct. >> > >> > You still get a big fat error on your screen and you should fix your >> > setup. Again, if that's no suitable, you better use "Requires=". >> > >> >> To put a unit in a slice, one uses by default >> >>Slice=myslice.slice >> >> and the default behaviour is to add Wants=myslice.slice to the unit. >> >> If the unit will always fail to start if myslice.slice fails then I >> would say the default behaviour should be Requires=myslice.slice. > > Does it actually fail? If yes, then Requires= would be better. If not, > then Wants= should stay. > Well that simply means Requires= is more appropriate IMHO. > (I tried to test this: > - with a slice with ConditionPathExists= that is false, the > slice is not started and the unit is started. The strange thing is that even if the condition is not met, the slice is created in the cgroupfs and is used: # cat >myservice.service
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On Mon, 21.09.15 16:50, Francis Moreau (francis.m...@gmail.com) wrote: > Hi, > > If a unit depends on a slice, a Wants=machine.slice is automatically > added to the unit constraints. > > Why is "Requires=machine.slice" not prefered instead ? I think I agree, we should really make this a requires. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On Tue, Sep 22, 2015 at 11:14 AM, David Herrmannwrote: > Hi > > On Tue, Sep 22, 2015 at 10:58 AM, Francis Moreau > wrote: [...] >>> >> >> But what if the slice fails to start ? >> >> Will the unit asking for a specific slice (which fails to start) be >> moved into another slice ? It seems that whatever the final >> destination used by systemd, the constraints used by the "fallback" >> slice won't be correct, no ? > > Correct. > > You still get a big fat error on your screen and you should fix your > setup. Again, if that's no suitable, you better use "Requires=". > To put a unit in a slice, one uses by default Slice=myslice.slice and the default behaviour is to add Wants=myslice.slice to the unit. If the unit will always fail to start if myslice.slice fails then I would say the default behaviour should be Requires=myslice.slice. I think getting an clean error to inform that the slice can't be started at first and not trying to start the unit (which will crash anyway) is more appropriate than getting a big fat obscure warning because my unit will fail to start. Thanks -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
On Tue, Sep 22, 2015 at 11:52:05AM +0200, Francis Moreau wrote: > On Tue, Sep 22, 2015 at 11:14 AM, David Herrmann> wrote: > > Hi > > > > On Tue, Sep 22, 2015 at 10:58 AM, Francis Moreau > > wrote: > [...] > >>> > >> > >> But what if the slice fails to start ? > >> > >> Will the unit asking for a specific slice (which fails to start) be > >> moved into another slice ? It seems that whatever the final > >> destination used by systemd, the constraints used by the "fallback" > >> slice won't be correct, no ? > > > > Correct. > > > > You still get a big fat error on your screen and you should fix your > > setup. Again, if that's no suitable, you better use "Requires=". > > > > To put a unit in a slice, one uses by default > >Slice=myslice.slice > > and the default behaviour is to add Wants=myslice.slice to the unit. > > If the unit will always fail to start if myslice.slice fails then I > would say the default behaviour should be Requires=myslice.slice. Does it actually fail? If yes, then Requires= would be better. If not, then Wants= should stay. (I tried to test this: - with a slice with ConditionPathExists= that is false, the slice is not started and the unit is started. - with a slice that has [Slice] Slice=, the unit is neither started nor errors out: Sep 22 08:09:27 yy systemd[1]: xxx.slice located outside its parent slice. Refusing. Sep 22 08:09:27 yy systemd[1]: Cannot add dependency job for unit xxx.slice, ignoring: Unit xxx.slice failed to load: Invalid argument. See system logs and 'systemctl status xxx.slice' for details. systemd becomes unresponsive... This looks like a bug. This was with systemd-219-23.fc22.x86_64, I'll test with something more modern later.) Zbyszek ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] Implicit unit dependency on slice might be too weak ?
Hi, If a unit depends on a slice, a Wants=machine.slice is automatically added to the unit constraints. Why is "Requires=machine.slice" not prefered instead ? Thanks. -- Francis ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Implicit unit dependency on slice might be too weak ?
Hi On Mon, Sep 21, 2015 at 4:50 PM, Francis Moreauwrote: > Hi, > > If a unit depends on a slice, a Wants=machine.slice is automatically > added to the unit constraints. > > Why is "Requires=machine.slice" not prefered instead ? Usually "Wants=" is preferred as it makes the units more fail-safe. Especially for slices, I cannot see why "Requires=" would be beneficial. If a specific unit needs this, a simple "Requires=foobar.slice" gets you what you want. Thanks David ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel