[05:29] Good morning === work_alkisg is now known as alkisg [06:32] pitti: I have a wily hardware computer that uses this same kernel with kdbus, so I could do some testing there too if it'd help. [06:40] good morning === marcusto_ is now known as marcustomlinson === vrruiz_ is now known as rvr === pete-woods1 is now known as pete-woods === greyback is now known as greyback|doc === alkisg is now known as work_alkisg === MacSlow is now known as MacSlow|lunch === greyback|doc is now known as greyback === MacSlow|lunch is now known as MacSlow === attente_ is now known as attente === pgraner is now known as pgraner-dr === _salem is now known as salem_ === zyga_ is now known as zyga === Malsasa_ is now known as Malsasa === henrix_ is now known as henrix [16:53] pitti: mbiebl_: hi, around? [16:53] I am [16:54] mbiebl_: cool! i wanted to ask if there is default behavior for systemd oneshot units where anything started by them is killed when the job is done? [16:54] in particular, [16:54] lxc-net.service is a type=oneshot which runs a script which starts a dnsmasq. [16:54] that dnsmasq seems to just be disappearing; but if i run the same command by hand as root it persists (as it should) [16:55] why is it oneshot if it starts a daemon? [16:55] well it sets up and configures a bridge [16:55] i didn't even consider making that a daemon, maybe it should... [16:55] https://github.com/hallyn/lxc/blob/testing/config/init/systemd/lxc-net.service.in is the current job fwiw [16:55] and how does it start the dnsmasq daemon? [16:56] and https://github.com/hallyn/lxc/blob/testing/config/init/common/lxc-net.in is the script [16:56] hallyn: if it starts a daemon, it shouldn't be a oneshot type service [16:56] The dnsmsq command is: Kdnsmasq -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=/run/lxc/dnsmasq.pid --conf-file=/dev/null --listen-address 10.0.3.1 --dhcp-range 10.0.3.2,10.0.3.254 --dhcp-lease-max=253 --dhcp-no-override --except-interface=lo --interface=lxcbr0 --dhcp-leasefile=/var/lib/misc/dnsmasq.lxcbr0.leases --dhcp-authoritative [16:56] mbiebl_: lemme try that. so it should be 'simple'? [16:57] or, 'forking'? /me reads [16:57] depends on what your daemon does [16:57] mbiebl_: so if i make it type=simple, and lxc starts After=lxc-net, [16:58] oh wait. i've made it worse than you think. [16:58] so the dameon is started during the ExecStartPre [16:58] type=simple has one downside [16:58] because it needs to complete before lxc, which is After=lxc-net, starts [16:58] uh, "completes" [16:58] the service will be considered started as soon as the process has been spawned [16:58] it doesn't wait for the service "to be up" [16:58] right [16:59] so what does starting it in ExecStartPre do with respect to that? [16:59] hallyn: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778913 has some more details on that behaviour [16:59] Debian bug 778913 in openssh-server "openssh-server: init (at least systemd) doesn't notice when sshd fails to start and reports success" [Important,Open] [17:01] so what does starting it in ExecStartPre do with respect to that? → I don't quite understand that question [17:01] 1. wlil the daemon started during ExecStartPre get killed, [17:01] 2. will the service be deemed failed bc ther eis no ExecStart, [17:02] 3. will lxc then not start unitl the ExecStartPre script is complete [17:02] ExecStartPre is not supposed to be used to start long running daemon [17:02] maybe i'll just call the lxc-net start script from the 'lxc' execstartpre [17:03] that seems to make more sense [17:03] isn't that what you do today? [17:03] ExecStartPre=@LIBEXECDIR@/lxc/lxc-net start [17:03] that seems wrong to me [17:03] ExecStartPre is to to setup your daemon environment [17:04] the actual daemon should be started via ExecStart [17:04] from the systemd.service man page [17:04] Note that ExecStartPre= may not be used to start long-running processes. All processes forked off by processes [17:04] invoked via ExecStartPre= will be killed before the next service process is run. [17:06] hallyn: I suggest reading the systemd.service man page [17:06] hallyn: gotta run now [17:07] mbiebl_: thanks! [17:11] hm, that still causes the dnsmasq to get killed [17:11] apparently ExecStartPre cannot start long-running daemons [17:12] hrmp. "Note that ExecStartPre= may not be used to start long-running processes. All processes forked off by processes invoked via ExecStartPre= will be killed before the next service process is run." === pgraner-dr is now known as pgraner === pgraner is now known as pgraner-dr === salem_ is now known as _salem