Closed
Description
Current Behavior
If a container is configured, but for some reason is not able to complete its setup phase, e.g. because there is no network access to the container registry, then the corresponding Finit service will be "stuck" in the setup state:
admin@infix-00-00-00:~$ initctl
PID IDENT STATUS RUNLEVELS DESCRIPTION
999 udevd running [S-12345-789] Device event daemon (udev)
2393 dbus running [S-123456789] D-Bus message bus daemon
3760 confd running [S-12345----] Configuration daemon
6065 netopeer running [--12345----] NETCONF server
2394 dnsmasq running [S-12345----] DHCP/DNS proxy
6069 tty:0 running [--12345-789] Getty on tty0
6070 tty:S0 running [--12345-789] Getty on ttyS0
0 iitod waiting [S0123456789] LED daemon
6071 klishd running [---2345----] CLI backend daemon
6304 mdns-alias running [---2345----] mDNS alias advertiser
0 mstpd stopped [S0123456789] Spanning Tree daemon
6073 rauc running [---2345----] Software update service
0 resolvconf done [S-12345----] Update DNS configuration
6009 statd running [S-12345----] Status daemon
6203 staticd running [---2345----] Static routing daemon
2389 syslogd running [S0123456789] System log daemon
2390 watchdogd running [S0123456789] System watchdog daemon
6079 zebra running [---2345----] Zebra routing daemon
6082 mdns running [---2345----] Avahi mDNS-SD daemon
6084 container:foo setup [---2345----] container foo
6087 lldpd running [---2345----] LLDP daemon (IEEE 802.1ab)
6095 netbrowse running [---2345----] Network browser
6098 nginx running [---2345----] Web server
6101 rousette running [--12345----] RESTCONF server
6106 sshd running [---2345----] OpenSSH daemon
6110 ttyd running [---2345----] Web terminal daemon (ttyd)
When a service is in this state, Finit is not able to stop the service:
admin@infix-00-00-00:~$ initctl stop container:foo
admin@infix-00-00-00:~$ initctl
PID IDENT STATUS RUNLEVELS DESCRIPTION
999 udevd running [S-12345-789] Device event daemon (udev)
2393 dbus running [S-123456789] D-Bus message bus daemon
3760 confd running [S-12345----] Configuration daemon
6065 netopeer running [--12345----] NETCONF server
2394 dnsmasq running [S-12345----] DHCP/DNS proxy
6069 tty:0 running [--12345-789] Getty on tty0
6070 tty:S0 running [--12345-789] Getty on ttyS0
0 iitod waiting [S0123456789] LED daemon
6071 klishd running [---2345----] CLI backend daemon
6304 mdns-alias running [---2345----] mDNS alias advertiser
0 mstpd stopped [S0123456789] Spanning Tree daemon
6073 rauc running [---2345----] Software update service
0 resolvconf done [S-12345----] Update DNS configuration
6009 statd running [S-12345----] Status daemon
6203 staticd running [---2345----] Static routing daemon
2389 syslogd running [S0123456789] System log daemon
2390 watchdogd running [S0123456789] System watchdog daemon
6079 zebra running [---2345----] Zebra routing daemon
6082 mdns running [---2345----] Avahi mDNS-SD daemon
6084 container:foo setup [---2345----] container foo
6087 lldpd running [---2345----] LLDP daemon (IEEE 802.1ab)
6095 netbrowse running [---2345----] Network browser
6098 nginx running [---2345----] Web server
6101 rousette running [--12345----] RESTCONF server
6106 sshd running [---2345----] OpenSSH daemon
6110 ttyd running [---2345----] Web terminal daemon (ttyd)
For the same reason, the Finit is not able to reboot the system either, since it will be stuck waiting for foo to complete its setup.
Expected Behavior
Finit should enforce the same signaling behavior with setup/teardown as i does for running services, i.e. send the setup/teardown a SIGTERM
, give it a few seconds to shutdown gracefully, and send a SIGKILL
as a last resort.
Steps To Reproduce
No response
Additional information
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done